Como limpiar de virus WordPress



Recientemente son muy comunes los ataques a los sitios web de WordPress, y es algo relativamente normal, pero muchas veces es un dolor de cabeza encontrar cuáles son los archivos infectados, vamos a ver algunos códigos que pueden ser de utilidad para encontrar estos archivos.

Estos comandos deben ser ejecutados desde la consola, y suponemos que usas Linux (Ubuntu – Debian) para ejecutarlos, aunque podrían funcionar bien en otras distribuciones.

Encontrar archivos falsamente marcados como sospechosos

Los atacantes piensan en todo, así que, muchos archivos están escondidos a la vista, marcados como sospechosos, como si un antivirus los hubiera detectado, para encontrarlos, usa el siguiente comando

find . -name '*.suspected' -print

Fuente: Javier Elices

Patrón de Malware 1

En este patron se usa $GLOBALS para esconder el codigo, puedes encontrarlo con este codigo.

egrep -Rl '\$GLOBALS.*\\x'

Fuente: Javier Elices

Patrón de Malware 2

En este, se hacen inclusiones de código o de código de otras web o de unos «iconos» que vamos a ver más adelante como se eliminan, puedes encontrar estos codigo, asi

egrep -Rl -Ezo '/\*(\w+)\*/\s*@include\s*[^;]+;\s*/\*'

Fuente: Javier Elices

Patrón de Malware 3

En este codigo se utiliza $_COOKIE y $_POST, para detectarlos puedes usar el siguiente codigo:

egrep -Rl -E '^.+(\$_COOKIE|\$_POST).+eval.+$'

Fuente: Javier Elices

Eliminar archivos .ico

Mucho de este codigo maligno, es escondido como archivos .ico para que sean mas dificiles de detectar, los encuentras asi

find . -name '.*.ico' -print

Bloqueos con archivos .htaccess

En muchos casos, hemos visto que en los ataques, se bloquean los accesos a carpetas del admin, para inhabilitarlo, este bloqueo es especialmente particular porque no da de baja el sitio, solo la interfaz de administrador, para encontrar los archivos .htaccess escondidos dentro de otras carpetas puedes usar el siguiente comando.

Esto está muy relacionado con el error «AH01797 Client denied by server configuration» que genera un error 403 Forbidden

find . -name ".htaccess"

Recuerda que el único archivo .htaccess que debe existir, es el de la raíz del sitio.

Restaurar archivo .htaccess

El archivo .htaccess pudo haber sido modificado, así que, es probable que debas restaurarlo, ten en cuenta que esto solo funcionara en instalaciones de WordPress sencillas y no para multisitios o subdominios, o cuando se hace el forzado de SSL desde .htaccess, así que, ten cuidado.

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Fuente: WordPress Article

¿Cómo asignar los permisos de archivos correctamente?

Para wordpress, los permisos sobre las carpetas deben ser 755 y para los archivos 644, estos dos comandos seran de utilidad para asignarlos.

sudo find . -type f -exec chmod 644 {} +
sudo find . -type d -exec chmod 755 {} +

El archivo wp-config.php podría ser 600, aunque esto podría no funcionar bien en algunos proveedores de hosting, así que, ten cuidado.

sudo chmod 660 wp-config.php

Comentarios finales

¿Tienes algún otro comando que pueda ser de utilidad? puedes dejarlo en los comentarios y actualizaremos esta publicación con ellos 😀

Deja una respuesta

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