Este artículo habla del modo en que un blog de WordPress es infectado por el Pharma, como lo detectó la persona y como buscar los códigos maliciosos y limpiar el sitio.
Hace unos días me comentaron por Twitter que
Fedelosa.com estaba apareciendo en los resultados de Google como “Sitio comprometido”, ni bien terminé de putear me puse a revisar que era lo que estaba sucediendo, entré al blog y se
veía bien, revisé el código fuente de varias páginas (posts) diferentes
y de la página principal, y no había ningún código malicioso allí, por
lo que lo dejé pasar.
Al otro día, no tengo idea de por qué, se me ocurrió buscar mi blog
en Google, solo poniendo “fedelosa” aparece como primer resultado, y ahí
fue la sorpresa al encontrarme con algo como esto:
Volví a revisar el sitio y seguía sin aparecer nada, ya mis nervios eran muchos ¿cómo podía aparecer eso en los resultados de búsqueda si no estaba en el código de mi sitio?
Investigando un rato me encuentro con que existe la posibilidad de
alterar los resultados sin modificar nada de lo que se ve en el blog, en
este caso un blog de WordPress.
¿Cómo lo hacen?
Aunque pueden existir otras formas que desconozco, en mi caso el
problema estaba alojado en un archivo .php de un viejo plugin que ya no
utilizaba pero que nunca había borrado, ni siquiera desactivado, el
código en ese php realizaba una llamada a la base de datos y esta, de
alguna manera que no entiendo, lograba mostrar a los buscadores algo
diferente de lo que en realidad había en el sitio.
¿Cómo solucionarlo?
El Pharma Hack, así se llama el BlackHat SEO SPAM que afectó mi
sitio, reside tanto en algún archivo .php (o .js) como en la base de
datos, muchos sitios recomiendan borrar toda la instalación de
WordPress, incluso la base de datos y arrancar de cero, pero como pensé
que era mucho trabajo, hice otra cosa, elimine el código oculto en un archivo y limpié la base de datos.
Para limpiar la base de datos hay que ingresar al phpMyAdmin, elegir
en la columna de la izquierda la base de datos correspondiente con
nuestro blog (si no supiéramos cual es, podemos fijarnos en el archivo
wp-config.php), luego debemos elegir la tabla “wp-options” y luego ir a
la pestaña “Buscar”, allí en la fila option_name.
Buscamos lo siguiente:
- wp_check_hash
- class_generic_support
- widget_generic_support
- ftp_credentials
- fwp
- rss_% — En este caso, debemos tener cuidado de no borrar ni el rss_language, ni el rss_use_excerpt ni tampoco el rss_excerpt_lenght
Y borramos todo lo que coincida con esas búsquedas, ya con esto
tendríamos limpia la base de datos, ahora hay que ir por los archivos
.php, que claro, son muchísimos y más si tenemos varios plugins,
entonces ¿cuál archivo debo revisar?
¡No tengo idea! En mi caso el Pharma Hack estaba alojado en un
archivo diferente a los que leí en varios sitios, por lo que lo ideal
entonces es hacer una búsqueda de texto para ver donde lo encontramos.
Si tenemos acceso SSH al servidor, podemos usar el comando grep para encontrar cadenas de texto de esta forma:
$ grep -r “wp_class_support” ./wp-content/plugins
Si encontramos cosas como:
if(!defined(‘wp_class_support’)) {
define(‘wp_class_support’,true);
Debemos asegurarnos de borrar esos archivos.
Restaría esperar a que Google nos quiera nuevamente, para acelerar
este proceso, teniendo el sitio ya registrado y verificado en las Google
Webmaster Tools, hay que pedir una reconsideración
www.google.com/webmasters/tools/reconsideration
Una herramienta interesante para ver si nuestro sitio está
“infectado” y para luego verificar que haya quedado limpio es, Explorar
como Google, parte de las Webmaster Tools:
Allí podemos fijarnos como “ve” Google nuestro sitio, así aparecía mi sitio para el motor de búsqueda hace unos días:
Luego de eliminar el Pharma Hack de la base de datos y el plugin
infectado, podemos volver a fijarnos y el código ya se debería ver
limpio.
Solo queda tomar las precauciones necesarias para que esto no suceda,
cambiar passwords, cambiar las claves SALT en el wp-config.php,
desinstalar plugins y temas que no usemos, etcétera.
ليست هناك تعليقات:
إرسال تعليق