Parafraseando a Les Luthiers, tenía pensado llamar a esta entrada I love you Dolly, I love You,… Pero cosas del SEO 🙂
WPCoreSys
Esta mañana me he levantado con un mensaje de un conocido alarmado porque Google le ha avisado de que su sitio WordPress ha sido pirateado. Me dice que ahora cuando intenta acceder al menú de administración, una vez introducido el usuario y la contraseña, se le queda la pantalla en blanco. Salvo por ese detalle, parece que la web funciona bien.
Comprobar que es cierto
Google no suele gastar bromas con estas cosas, pero bien podría ser un mensaje falso. Se puede comprobar entrando como webmaster y comprobar que es cierto, o más rudimentario, buscando en Google el sitio usando la directiva site:
Si por ejemplo, el sitio que queremos comprobar es éste (rsanjoseo.com), bastará con buscar en Google:
site:rsanjoseo.com
Si el sitio está comprometido, aparecerán un montón de entradas de publicidad en distintos idiomas ofreciendo todo tipo de «servicios» como medicamentos, piratería o sexo.
Cuando el sitio está comprometido, ya veremos también que Google muestra el mensaje: Este sitio puede haber sido comprometido en el enlace a la página principal del sitio. Este mensaje invita a los usuarios a NO entrar y pasar de largo, movimiento que va acompañado de una pérdida de peso en el buscador, siendo relegada la página o a las últimas posiciones; justo antes de, seguramente, ser eliminada del buscador.
Me han pasado los datos de acceso al panel de control del sitio para poder revisar los archivos mediante ftp y las bases de datos mediante PhpMyAdmin. Tras un breve repaso, compruebo que ha sido infectado por un malware llamado Dolly. Dolly instala un plugin llamado WPCoreSys.
\wp-content\plugins\WPCoreSys
En este momento, lo mejor sería restaurar una copia de seguridad reciente, tanto de los archivos como de la base de datos y comprobar que todo está bien. El problema es que analizando los logs de apache, compruebo que el sitio fue infectado hace 3 meses (exactamente el 16 de noviembre).
Así que ahora nos encontramos con 2 problemas:
- El sitio está comprometido. Poner la contraseña podría suponer estar suministrándola a hackers (posiblemente, sea la misma que usamos en muchos otros sitios)
- Google nos ha penalizado porque nuestro sitio contiene información de carácter ilegal.
¿Qué ocurre si no hay copia de seguridad reciente anterior a la fecha de infección?
Se puede analizar el contenido de las bases de datos y de los archivos que han sido modificados, pero es un trabajo que requiere bastante tiempo y posiblemente, la ayuda de un profesional.
Modificaciones en la base de datos.
Así por encima, comprobamos que se han introducido entradas en la tabla wp_options de la base de datos:
- ‘w_dolly_resettime’,’1486966374′,’yes’
- ‘w_dolly_hash’,’bcae213553580f99a94484bc1a4aaab8′,’yes’
- ‘w_dolly_target’,’http://webdatasourcetraffic.xyz/gateway.php’,’yes’
- ‘w_dolly_excerpt’,’bcae2′,’yes’
También se ha creado una tabla llamada dolly_plugin_table
Modificaciones en los archivos.
Aparte de las tablas, como hemos comentado anteriormente, también ha instalado un plugin llamado \WPCoreSys que hay que eliminar borrando el directorio.
También habrá creado varias carpetas en la raiz de WordPress del tipo wp-adjust-* que contiene código malicioso y muchas referencias a direcciones IP. Los archivos están codificados usando una mezcla de caracteres en hexadecimal y octal para tratar de evitar que el código sea legible o se pueda buscar en el contenido.
Por ejemplo, en lugar de poner init_set(‘display errors’, ‘off’), pone INI_SEt(«\144\x69\163\160\x6c\x61y\137\x65\162r\x6frs»,»O\x66\x66″).
Si el tema de wordpress es estándar, es muy posible que también haya sido infectado. Convendría revisar al menos el archivo header.php para comprobar que no haya sido alterado.
Recomendaciones
WordPress no es precisamente la herramienta más segura. ¡Cierto! Pero gana bastante si se instala correctamente.
En primer lugar, es conveniente tener siempre actualizado WordPress a la versión más reciente.
Es conveniente realizar copias de seguridad periódicas de archivos y bases de datos. La periodicidad dependerá de los cambios que se hagan en la página.
En el servidor, las carpetas y archivos tienen que tener los permisos restringidos. Recomendamos al menos restringir carpetas con los permisos 755, y archivos con los permisos 644.
Existen algunos plugins que añaden seguridad al sitio. Hablaremos de algunas de estas herramientas en próximas entradas.