Cómo escanear y eliminar malware en WordPress (paso a paso)
¡Entendido! Aquí tienes el artículo completo, siguiendo todas las reglas de formato y estilo.
¿Por qué es importante actuar rápido ante un virus WordPress?
Detectar que tu sitio web tiene un virus o malware es una de las peores sensaciones para cualquier propietario de una página. La buena noticia es que, actuando con calma y siguiendo un método estructurado, eliminar malware WordPress es un proceso que puedes realizar tú mismo, incluso sin ser un experto en programación.
Un sitio infectado no solo pone en riesgo los datos de tus visitantes, sino que también daña tu posicionamiento en Google. De hecho, los buscadores penalizan las páginas con código malicioso, mostrando avisos como "El sitio puede estar comprometido" que ahuyentan a los usuarios. Por eso, saber escanear malware WordPress es una habilidad esencial para cualquier administrador de sitio.
En esta guía paso a paso, te enseñaré un método infalible para limpiar WordPress infectado, desde la identificación del problema hasta el refuerzo de la seguridad para evitar futuros ataques. Vamos a ello.
Fase 1: Preparación y diagnóstico inicial
Antes de lanzarte a borrar archivos a lo loco, necesitas un plan. Actuar sin conocimiento puede romper tu web. La clave está en la preparación.
1.1. Haz una copia de seguridad completa (¡Sí o Sí!)
Este es el paso más importante de todos. Nunca intentes limpiar un sitio sin una copia de seguridad reciente. Si algo sale mal durante la limpieza, podrás restaurar tu web a un estado anterior (aunque estuviera infectado) para volver a intentarlo.
Para hacer la copia, tienes dos opciones:
- Desde tu Panel de Control (Syspanel): Si tu hosting utiliza Syspanel (recuerda que el acceso es a través del puerto 2106), busca la sección de "Archivos" o "Backups". La mayoría de los paneles ofrecen un botón para generar una copia de seguridad completa del directorio
public_htmly de la base de datos en un solo clic. - Desde un Plugin: Instala un plugin como UpdraftPlus o BackupBuddy. Estos te permiten programar copias automáticas y guardarlas en la nube (Google Drive, Dropbox, etc.). Es la opción más cómoda para principiantes.
[TIP] Guarda la copia de seguridad en tu ordenador o en un servicio de almacenamiento externo. No la dejes en el mismo servidor donde está el malware, o podría infectarse también.
1.2. Identifica los síntomas del ataque
¿Qué te hace pensar que tu WordPress está infectado? Los síntomas más comunes son:
- Redirecciones a páginas de spam o farmacias online.
- Aparición de ventanas emergentes (pop-ups) invasivas.
- Ralentización extrema del sitio.
- Avisos de Google Safe Browsing al intentar entrar.
- Aparición de usuarios administradores desconocidos en tu panel.
- Archivos extraños en tu carpeta raíz (como
c99.phposhell.php).
Anotar estos síntomas te ayudará a saber qué tipo de malware estás buscando.
Fase 2: Escaneo profundo de tu WordPress
Ahora que tienes tu red de seguridad, es hora de buscar al intruso. Existen dos frentes de ataque: los archivos del servidor y la base de datos.
2.1. Escanear malware WordPress con plugins de seguridad
Los plugins son tu primera línea de ataque y la forma más fácil de escanear malware WordPress para un usuario novato. Son como un antivirus para tu web.
Los mejores plugins para esta tarea son:
- Wordfence: Es el más popular y completo. Tiene un firewall y un escáner de malware muy potente. La versión gratuita es suficiente para una limpieza puntual.
- Sucuri Scanner: Es la navaja suiza de la seguridad. Su escáner es ligero y no ralentiza el sitio. Además, su equipo de respuesta es excelente si necesitas ayuda profesional.
- MalCare: Es muy rápido y eficaz, aunque su versión gratuita es más limitada. Si el malware es complejo, su versión premium es una gran inversión.
Pasos para escanear con Wordfence (ejemplo):
- Ve a Plugins > Añadir nuevo en tu escritorio de WordPress.
- Busca "Wordfence" e instálalo y actívalo.
- Ve a la nueva opción Wordfence en el menú lateral.
- Haz clic en Scan (Escaneo) y luego en el botón Start New Scan (Iniciar nuevo escaneo).
- Espera a que termine. Puede tardar varios minutos. Wordfence revisará el código de todos tus archivos, los plugins y temas en busca de firmas de malware conocidas.
[INFO] Si el escáner encuentra algo, te dará la ruta exacta del archivo infectado. No lo borres aún, primero analízalo en el siguiente paso.
2.2. Escaneo manual de archivos: revisa el administrador de archivos
A veces, el malware es tan nuevo que los plugins no lo detectan. Por eso, es vital aprender a buscar manualmente. Accede a tu hosting a través de Syspanel (puerto 2106) o mediante FTP con un cliente como FileZilla.
¿Qué debes buscar?
- Archivos con fecha de modificación reciente: Si no has tocado tu web últimamente, cualquier archivo modificado en las últimas 24-48 horas es sospechoso. Ordénalos por fecha de modificación.
- Archivos PHP en lugares extraños: Revisa las carpetas
/wp-content/uploads/. Esta carpeta solo debe contener imágenes y documentos. Si ves archivos.phpaquí, es una señal de alarma. - Código ofuscado: Abre los archivos
.phpprincipales (comoindex.php,wp-config.php,functions.phpde tu tema) y busca líneas de código que estén codificadas en base64 (cadenas de texto largas y sin sentido) o que usen funciones comoeval(),base64_decode(),gzinflate().
[WARNING] No borres archivos a ciegas. Si un archivo legítimo de un plugin está infectado, es mejor reinstalar el plugin que borrar el archivo, ya que podrías romper una funcionalidad. Anota la ruta del archivo y el nombre del plugin al que pertenece.
Fase 3: Limpiar WordPress infectado (El proceso de eliminación)
Has encontrado el problema. Ahora toca la cirugía. Vamos a ver cómo limpiar WordPress infectado de forma segura.
3.1. Reemplaza archivos del núcleo, temas y plugins
La forma más limpia de eliminar el malware de archivos es reemplazarlos por versiones originales y sanas.
- Para el núcleo de WordPress: Ve a Escritorio > Actualizaciones y haz clic en "Volver a instalar WordPress". Esto sobrescribirá todos los archivos del sistema con versiones limpias, eliminando cualquier modificación maliciosa.
- Para Plugins y Temas: Ve a Plugins > Añadir nuevo y busca el plugin que está infectado (por ejemplo, "Contact Form 7"). Haz clic en "Instalar ahora" de nuevo. WordPress te preguntará si quieres sobrescribir el existente. Di que sí. Esto reemplazará el código corrupto por uno nuevo. Repite el proceso para tu tema activo (Apariencia > Temas).
Este método es mucho más efectivo que borrar archivos sueltos, ya que garantiza que no queden restos del código malicioso.
3.2. Limpia la base de datos (SQL)
Muchos ataques inyectan código malicioso directamente en tu base de datos, especialmente en la tabla wp_options o en las entradas y páginas.
Para ello, necesitarás acceder a phpMyAdmin desde tu panel de Syspanel (puerto 2106).
- Abre phpMyAdmin y selecciona tu base de datos de WordPress.
- Haz clic en la pestaña "Buscar".
- En el campo "Buscar", escribe patrones comunes de malware como
eval(base64_decodeo<script>. También puedes buscar el nombre del plugin o tema infectado que encontraste antes. - En "Reemplazar con", déjalo vacío.
- Selecciona todas las tablas y ejecuta la búsqueda.
Esto te mostrará todas las entradas que contienen el código malicioso. Deberás revisarlas una a una y eliminar el código extraño, dejando solo el contenido legítimo.
[WARNING] Editar la base de datos es delicado. Si no te sientes seguro, es mejor contratar a un profesional o usar un plugin de limpieza de base de datos que haga este trabajo por ti de forma automática.
3.3. Elimina usuarios administradores desconocidos
Los hackers suelen crear un usuario administrador para tener acceso permanente. Para eliminarlo:
- Ve a Usuarios > Todos los usuarios en tu panel de WordPress.
- Busca cualquier usuario que no reconozcas y que tenga el rol de "Administrador".
- Pasa el ratón por encima de su nombre y haz clic en "Eliminar".
- En la siguiente pantalla, asegúrate de seleccionar "Atribuir todas las entradas a:" y elige tu usuario principal. Así no perderás contenido.
Fase 4: Refuerza la seguridad post-limpieza
Una vez que tu sitio está limpio, es crucial evitar que el malware vuelva. La seguridad es un proceso continuo, no una acción puntual.
4.1. Cambia todas tus contraseñas
Cambia la contraseña de tu cuenta de administrador de WordPress, la de la base de datos MySQL, la de tu correo electrónico asociado y la de tu cuenta de hosting (Syspanel). Usa contraseñas largas y únicas.
4.2. Actualiza todo a la última versión
El malware se aprovecha de vulnerabilidades en software desactualizado. Asegúrate de tener siempre la última versión de:
- WordPress.
- Todos tus plugins.
- Tu tema.
Activa las actualizaciones automáticas para los plugins y temas si es posible.
4.3. Instala un plugin de seguridad y un firewall
No desinstales Wordfence o Sucuri. Actívalos en modo "firewall" para bloquear el tráfico malicioso antes de que llegue a tu sitio. Configúralos para que te envíen un correo electrónico si detectan algún cambio sospechoso.
4.4. Revisa los archivos de tu tema (functions.php)
Uno de los puntos de entrada favoritos para los hackers es el archivo functions.php de tu tema hijo o principal. Revisa este archivo periódicamente. Si ves código que no entiendes o que no recuerdas haber añadido, es motivo de sospecha.
[TIP] Considera usar un tema hijo (Child Theme). De esta manera, cuando actualices tu tema principal, tus modificaciones personalizadas (y cualquier posible código malicioso) se sobrescribirán con la versión limpia.
Preguntas Frecuentes (FAQ) sobre virus WordPress
Aquí resolvemos las dudas más comunes que recibimos en soporte técnico sobre este tema.
¿Qué hago si mi sitio sigue infectado después de la limpieza?
Si has seguido todos los pasos y el malware persiste, es probable que se trate de una infección más compleja, como un rootkit que se oculta en el servidor o un malware en el propio ordenador desde el que te conectas. En este caso, te recomiendo contactar con el soporte de tu hosting (Syspanel) o contratar un servicio de limpieza profesional como Sucuri o Wordfence. Ellos tienen herramientas más potentes y experiencia en la eliminación de amenazas avanzadas.
¿Cómo eliminar el malware de mi sitio sin acceso al panel de administración?
Si no puedes acceder al panel de WordPress, tendrás que hacerlo todo por FTP (FileZilla) y por phpMyAdmin. Los pasos son los mismos, pero en lugar de reinstalar plugins desde el panel, tendrás que descargarlos desde wordpress.org, subirlos por FTP a la carpeta /wp-content/plugins/ y sobrescribir los existentes. Para el núcleo, descarga WordPress desde wordpress.org y sube los archivos, permitiendo que sobrescriban los del servidor.
¿Cómo sé si mi WordPress tiene un virus si no tengo un plugin de seguridad?
Puedes usar un escáner online gratuito como el de Sucuri SiteCheck. Solo tienes que introducir tu dominio y te dirá si hay malware, listas negras o problemas de inyección de código. Es una forma rápida y sencilla de hacer un diagnóstico preliminar.
¿Qué es el malware de redirección y cómo lo elimino?
El malware de redirección es uno de los más comunes. Detectas que, al visitar tu web, te envía a otra página de spam. Suele estar en archivos como .htaccess o en inyecciones dentro de la base de datos. Para limpiarlo, además de los pasos anteriores, descarga tu archivo .htaccess por FTP, ábrelo en un editor de texto y busca líneas que contengan RewriteRule apuntando a dominios extraños. Si lo encuentras, elimina esas líneas o reemplaza el archivo por una copia limpia de WordPress.
¿Puedo prevenir un ataque de malware en el futuro?
Sí, en gran medida. La prevención se basa en tres pilares: mantener todo actualizado (núcleo, plugins y temas), usar contraseñas robustas y revisar periódicamente los archivos y usuarios de tu WordPress. También es recomendable no instalar plugins o temas de fuentes dudosas, ya que suelen ser la puerta de entrada para el malware.
