
Negocios del Web
Épsilon
Hospedaje
Verificación en dos pasos activada
Hola a todos,
A lo largo de los últimos 3 años trabajando diariamente con WordPress me he encontrado con cientos de clientes con su WordPress infectados, infecciones de todo tipo. He trabajado con cientos de plugins (gratis, pago, nulled, desarrollados a medida, etc…). Conozco muchas de las páginas que ofrecen plugins de pago gratis, qué páginas son las que los plugins están limpios y las que no. Toda esa experiencia me ha hecho plantearme el realizar una guía completa sobre como desinfectar un WordPress y sus diferentes soluciones.
Es importante destacar que para realizar una desinfeccion de un WordPress efectiva se necesitan unos conocimientos avanzados. Ésta guía es un breve resumen de como se podría desinfectar un WordPress. Un aspecto muy importante para la limpieza es el sentido común.
¿Cómo se infecta un WordPress?
Un WordPress se infecta a través de la subida de un archivo con código malicioso. Un WordPress (si se descarga desde su fuente original) nunca viene infectado ni con ningún tipo de archivo con código malicioso.
La mayoría de infecciones de un WordPress se infectan con la subida de plugins/themes. También hay la posibilidad de que la contraseña sea muy débil y accediendo al control panel se suba algún archivo con código malicioso.
Es muy importante saber que plugin/theme se está subiendo a nuestro WordPress, sobretodo cual es la procedencia.
Por ejemplo, los plugins nulled (los plugins de pago que están en blogs de manera gratuita. No voy a dar blogs famosos que todos sus plugins están infectados para no perjudicar a nadie.) El 90% están infectados.
Importante: Que el plugin esté infectado no significa que el plugin no funcione. Puede estar infectado y el plugin funcionar a la perfección.
Respecto a las contraseñas débiles. Es importante tener siempre en cuenta que en Internet hay scripts funcionando 24/7 buscando resultados de WordPress en los motores de búsqueda para realizar bruteforce y subir archivos infectados con el propósito de realizar una Botnet/Minar/etc…
Resumen: Un WordPress se infecta a través de la subida de un plugin o theme en el cual contiene en sus archivos código malicioso.
Qué un plugin o theme esté infectado no quiere decir que no funcione.
¿Cuál es el problema del Malware en WordPress?
Infectar el WordPress es muy fácil y desinfectarlo en la mayoría de los casos es un rompe cabezas. La infracción se puede producir de 2 maneras.
La primera subiendo archivos .PHP completos de malware. Y la segunda (la más complicada y rompe cabezas) es la edición de archivos originales del WordPress.
Ejemplo práctico:
Se sube un plugin con archivo malware. Ese archivo lo único que realiza es editar, simplemente editar, archivos del WordPress insertando el código malicioso.. Archivos de la carpeta wp-admin, wp-includes, etc…
El usuario detecta que ese plugin es extraño y lo elimina.
¿Se ha desinfectado mi WordPress?
No, al contrario. Cuando el malware edita archivos originales del WordPress la opción más recomendable es reinstalar. (Tranquilo también aprenderemos como hacerlo 🙂)
¿Qué sucede cuanto el WordPress está infectado?
La mayoría de malware que infecta los WordPress se utiliza para enviar correos SPAM. Es lo típico… algunos más elaborados se utilizan para una botnet o realizar bruteforce a páginas externas o simplemente añadir páginas chinas a tu WordPress.
¿Porque los alojamientos tienen las actualizaciones activadas en WordPress?
Me han llegado muchos clientes quejándose de que varias empresas (OVH, SiteGround, etc…) tienen actualizaciones automáticas activadas. Esto se hace simplemente para proteger el servidor y al cliente de lo mencionado arriba.
Esto tiene un punto negativo y es la compatibilidad en caso de actualizaciones automáticas de theme y plugin.
¡Empezamos!
Vamos a trabajar con CPanel como control panel.
- Utilizando ClamAV
ClamAV es un antivirus de código abierto muy habitual en todos los servidores con CPanel. El 95% de servidores tienen incluido para sus clientes dicho antivirus.
Lo primero que debemos de hacer es realizar un escaneo de toda nuestra cuenta de hosting.
La opción de escanear virus se llama “ClamAV” o “Escáner de virus”. (Nosotros en Negocios del Web le llamamos Escáner de virus).
Vamos a realizar la ‘Búsqueda de todo el directorio principal’. Ya adelanto que la opción de ‘Buscar correo’ no es muy efectiva.
Depende del tamaño de tu cuenta hosting (peso de tu WordPress) tardara más o menos…
Una vez tengamos los resultados: en caso de estar infectado nos anotamos todos los archivos del resultado. En caso contrario… ¡cuidado! no quiere decir que el WordPress esté limpio. Hay que seguir trabajando…
Es MUY importante no borrar los archivos a través del antivirus ni mandarlos a cuarentena. Si los movemos o los borramos no podremos acceder al WordPress por falta de archivos (el WordPress quedara corrupto). Este punto es muy habitual realizarlo y es lo que puede cuásar el mayor de los problemas.
- Buscamos los archivos infectados…
Si ClamAV nos notificó una serie de archivos infectados ya tenemos una parte del trabajo realizado. Ahora tenemos que buscar archivos que no sean originales del WordPress.
No todo el mundo conoce los archivos o la jerarquía de carpetas del WordPress por ese motivo te recomiendo descargar un WordPress virgen en .ZIP y comparar.
Estos archivos los tenemos que buscar manualmente a través del ‘Administrador de archivos’.
Importante: La mejor búsqueda de malware en una página web que se puede realizar es con trabajo manual. Las herramientas automáticas te pueden ahorrar trabajo pero nunca será completo sin el trabajo manual. Seguimos…
Muchos scripts con malware para ponerlo más difícil suelen estar ocultos. Vamos a hacer visibles todos los archivos ocultos de nuestra cuenta hosting. (Los archivos ocultos empiezan con un . – punto -).
Con los archivos ocultos visibles no se nos puede escapar ningún archivo :welcoming:
Los archivos que nos interesa buscar son los archivos que no pertenezcan al WordPress. Cuando un WordPress está infectado la mayoría de los casos en la misma carpeta del WordPress ya hay archivos que no son originales. En resumen no hay que buscar mucho al principio…
También en este trabajo es recomendable utilizar el sentido común. WordPress no va a tener archivos con nombre:
Como se puede ver a simple vista… esos archivos no son muy amigables 🙂
Llegados a este punto es MUY importante hacer una copia de seguridad completa de los archivos (teniendo en mente que esa copia de seguridad puede estar infectada) dicha copia la vamos a utilizar como plan b por si borramos archivos necesarios para realizar algunas funciones.
Con la copia de seguridad realizada… empezamos a borrar archivos sospechosos. Es muy importante también que los archivos que eliminemos vayan a la papelera primero.
No marcar esa opción ya que así los podemos recuperar más rápidamente.
Debemos de entrar a las siguientes carpetas buscando archivos sospechosos.
- public_html (o la raíz del wordpress)
- wp-content (donde se almacenan los plugins, theme, etc…)
- - upload
- - theme
- - plugins
¿Por qué solo a esas carpetas? Las otras carpetas vamos a realizar la búsqueda a través de un plugin.
Si entramos a la carpeta de un plugin y vemos un archivo sospechoso pero dudamos… lo recomendable es descargarlo y ver si ese archivo viene de origen.
Lo más efectivo para revisar si un archivo está infectado es editándolo.
Ejemplo práctico real de un cliente:
Un cliente nos comentó que su WordPress iba lento y que, además, tenía problemas con el envío de correos electrónicos.
Realizamos un escáner con ClamAV y salió todo limpio. Pasamos al siguiente paso, buscamos los archivos de manera manual y solo acceder al public_html nos dimos cuenta de una cosa…
Esos archivos con doble/triple/… extensión no pertenecían a WordPress. No nos hacía falta editar el archivo para ver que tenía código malicioso.
Para ésta guía volví a subir los archivos infectados a una cuenta CPanel y así poder editar el archivo.
El editar el archivo contenía esto:
Aquí volvemos al sentido común… ese archivo no es original de WordPress.
Borramos todos los archivos sospechosos para seguir trabajando.
Es importante que sepas algo; no porque borres todos los archivos sospechoso que veas significa que el WordPress está 100% limpio.
Con todos los archivos sospechosos eliminados (de todas las carpetas mencionadas anteriormente) toca realizar una serie de trabajos automáticos.
Las demás carpetas vamos a analizarlas con un plugin llamado ‘Wordfence Security – Firewall & Malware Scan’.
-Instalamos Wordfence Security – Firewall & Malware Scan
No hay que olvidar que el WordPress posiblemente siga infectado. Instalamos dicho plugin y antes de hacer un escáner vamos a hacer un cambio en la configuración.
Esta configuración poca gente la suele modificar.
Hacemos clic en Scan y pasamos a ‘Scan Options and Scheduling’ vamos a cambiar la configuración del escáner sea más exhaustiva.
Guardamos todos los cambios y ahora si realizamos el Scan. Este punto puede tardar máximo 1 hora (depende de los archivos a escanear).
Una vez tengamos los resultados en tabla de abajo podremos ver en la parte derecha unos botones de acciones.
Como podemos ver ha encontrado 2 problemas. El primero (color rojo) son los críticos y el segundo (color amarillo) son las alertas. Las alertas pueden ser plugins desactualizados, etc… nada grave.
Los rojos si, como se puede ver es crítico. Nos notifica que el archivo functions.php del theme tiene un código malicioso. Podemos hacer click en DETALIS para ver más información…
Como se puede ver el archivo tiene una variable que se puede utilizar para realizar un backdoor.
De momento es muy probable que tenga código malicioso dentro del archivo, veamos que contiene dicho archivo haciendo clic en VIEW FILE.
Y efectivamente… el WordPress estaba infectado. El archivo functions.php del theme tenía código con el cual enviaba información a un dominio.
Solo nos queda eliminar el código malicioso y guardar cambios.
Una vez que hayamos borrado todo el código malicioso volver a pasar Scan para asegurarnos.
Para saber si un WordPress ha quedado totalmente limpio (aunque todos los escáneres den positivo de limpieza) lo más recomendable es esperar unos días. Los malware se suelen autogenerar a través de un archivo oculto y se vuelven a generar (lo mismo que borraste, se vuelve a generar). Si en 1 semana sigue estando limpio es muy probable que tu WordPress ya este definitivamente desinfectado.
- Reinstalar wordpress (en caso de no quedar limpio)
Si nada de lo anterior ha solucionado el problema y al cabo de unos días se han vuelto a generar dichos archivos nos toca reinstalar sin perder información.
Realizar otra copia de seguridad. Una vez tengamos la copia de seguridad tenemos que saber la versión del WordPress que estamos utilizando.
Para conocer este dato es tan simple como acceder a la base de datos y buscar en la tabla wp_options (o el prefijo XX_ que tengáis…) y buscar db_version.
Ese código será vuestra versión codificada. Para descodificarla entrar aquí: User:Esmi/Database versions « WordPress Codex
Bien ya tenemos la nueva versión, ahora tenemos que de la fuente original de WordPress el .ZIP de ESA versión.
Con el .ZIP en nuestro equipo. Pasamos a anotar todos los plugins que tenemos instalados y el theme.
Anotarlos en un bloc de notas para volver a instalarlos de nuevo (guardar solo los plugins de calidad y de confianza).
Borrar todos los archivos menos wp-config.php ya que, RECUERDA, la idea es NO perder NADA de información. Ese archivo contiene el acceso a la base de datos.
Subimos el .ZIP de la versión que teniamos instalada y accedemos al panel de control mediante http://www.tuweb.com/wp-admin con los mismos datos de usuario.
En ese momento es la hora de volver a instalar todos los plugins y themes.
No te asustes, es normal que todo se haya desconfigurado. La solución es volver a subir todos los plugins y themes que había antes.
Recuerda si la mayoría de archivos infectados estaban en un theme/plugin no vuelvas a descargar ese theme desde la fuente que lo has descargado.
Y hasta aquí la guía.
Estaré encantado de resolver dudas y/o problemas.
Autor: Negocios del Web.
Un saludo
A lo largo de los últimos 3 años trabajando diariamente con WordPress me he encontrado con cientos de clientes con su WordPress infectados, infecciones de todo tipo. He trabajado con cientos de plugins (gratis, pago, nulled, desarrollados a medida, etc…). Conozco muchas de las páginas que ofrecen plugins de pago gratis, qué páginas son las que los plugins están limpios y las que no. Toda esa experiencia me ha hecho plantearme el realizar una guía completa sobre como desinfectar un WordPress y sus diferentes soluciones.
Es importante destacar que para realizar una desinfeccion de un WordPress efectiva se necesitan unos conocimientos avanzados. Ésta guía es un breve resumen de como se podría desinfectar un WordPress. Un aspecto muy importante para la limpieza es el sentido común.

¿Cómo se infecta un WordPress?
Un WordPress se infecta a través de la subida de un archivo con código malicioso. Un WordPress (si se descarga desde su fuente original) nunca viene infectado ni con ningún tipo de archivo con código malicioso.
La mayoría de infecciones de un WordPress se infectan con la subida de plugins/themes. También hay la posibilidad de que la contraseña sea muy débil y accediendo al control panel se suba algún archivo con código malicioso.
Es muy importante saber que plugin/theme se está subiendo a nuestro WordPress, sobretodo cual es la procedencia.
Por ejemplo, los plugins nulled (los plugins de pago que están en blogs de manera gratuita. No voy a dar blogs famosos que todos sus plugins están infectados para no perjudicar a nadie.) El 90% están infectados.
Importante: Que el plugin esté infectado no significa que el plugin no funcione. Puede estar infectado y el plugin funcionar a la perfección.
Respecto a las contraseñas débiles. Es importante tener siempre en cuenta que en Internet hay scripts funcionando 24/7 buscando resultados de WordPress en los motores de búsqueda para realizar bruteforce y subir archivos infectados con el propósito de realizar una Botnet/Minar/etc…
Resumen: Un WordPress se infecta a través de la subida de un plugin o theme en el cual contiene en sus archivos código malicioso.
Qué un plugin o theme esté infectado no quiere decir que no funcione.
¿Cuál es el problema del Malware en WordPress?
Infectar el WordPress es muy fácil y desinfectarlo en la mayoría de los casos es un rompe cabezas. La infracción se puede producir de 2 maneras.
La primera subiendo archivos .PHP completos de malware. Y la segunda (la más complicada y rompe cabezas) es la edición de archivos originales del WordPress.
Ejemplo práctico:
Se sube un plugin con archivo malware. Ese archivo lo único que realiza es editar, simplemente editar, archivos del WordPress insertando el código malicioso.. Archivos de la carpeta wp-admin, wp-includes, etc…
El usuario detecta que ese plugin es extraño y lo elimina.
¿Se ha desinfectado mi WordPress?
No, al contrario. Cuando el malware edita archivos originales del WordPress la opción más recomendable es reinstalar. (Tranquilo también aprenderemos como hacerlo 🙂)
¿Qué sucede cuanto el WordPress está infectado?
La mayoría de malware que infecta los WordPress se utiliza para enviar correos SPAM. Es lo típico… algunos más elaborados se utilizan para una botnet o realizar bruteforce a páginas externas o simplemente añadir páginas chinas a tu WordPress.
¿Porque los alojamientos tienen las actualizaciones activadas en WordPress?
Me han llegado muchos clientes quejándose de que varias empresas (OVH, SiteGround, etc…) tienen actualizaciones automáticas activadas. Esto se hace simplemente para proteger el servidor y al cliente de lo mencionado arriba.
Esto tiene un punto negativo y es la compatibilidad en caso de actualizaciones automáticas de theme y plugin.
¡Empezamos!
Vamos a trabajar con CPanel como control panel.

- Utilizando ClamAV
ClamAV es un antivirus de código abierto muy habitual en todos los servidores con CPanel. El 95% de servidores tienen incluido para sus clientes dicho antivirus.
Lo primero que debemos de hacer es realizar un escaneo de toda nuestra cuenta de hosting.

La opción de escanear virus se llama “ClamAV” o “Escáner de virus”. (Nosotros en Negocios del Web le llamamos Escáner de virus).

Vamos a realizar la ‘Búsqueda de todo el directorio principal’. Ya adelanto que la opción de ‘Buscar correo’ no es muy efectiva.
Depende del tamaño de tu cuenta hosting (peso de tu WordPress) tardara más o menos…
Una vez tengamos los resultados: en caso de estar infectado nos anotamos todos los archivos del resultado. En caso contrario… ¡cuidado! no quiere decir que el WordPress esté limpio. Hay que seguir trabajando…
Es MUY importante no borrar los archivos a través del antivirus ni mandarlos a cuarentena. Si los movemos o los borramos no podremos acceder al WordPress por falta de archivos (el WordPress quedara corrupto). Este punto es muy habitual realizarlo y es lo que puede cuásar el mayor de los problemas.
- Buscamos los archivos infectados…
Si ClamAV nos notificó una serie de archivos infectados ya tenemos una parte del trabajo realizado. Ahora tenemos que buscar archivos que no sean originales del WordPress.
No todo el mundo conoce los archivos o la jerarquía de carpetas del WordPress por ese motivo te recomiendo descargar un WordPress virgen en .ZIP y comparar.
Estos archivos los tenemos que buscar manualmente a través del ‘Administrador de archivos’.
Importante: La mejor búsqueda de malware en una página web que se puede realizar es con trabajo manual. Las herramientas automáticas te pueden ahorrar trabajo pero nunca será completo sin el trabajo manual. Seguimos…

Muchos scripts con malware para ponerlo más difícil suelen estar ocultos. Vamos a hacer visibles todos los archivos ocultos de nuestra cuenta hosting. (Los archivos ocultos empiezan con un . – punto -).

Con los archivos ocultos visibles no se nos puede escapar ningún archivo :welcoming:
Los archivos que nos interesa buscar son los archivos que no pertenezcan al WordPress. Cuando un WordPress está infectado la mayoría de los casos en la misma carpeta del WordPress ya hay archivos que no son originales. En resumen no hay que buscar mucho al principio…
También en este trabajo es recomendable utilizar el sentido común. WordPress no va a tener archivos con nombre:
- asdaasadsada.php
- 671XX.php
- index463.php.php.php
- XNML.PHP
- .XMLDT54
Como se puede ver a simple vista… esos archivos no son muy amigables 🙂
Llegados a este punto es MUY importante hacer una copia de seguridad completa de los archivos (teniendo en mente que esa copia de seguridad puede estar infectada) dicha copia la vamos a utilizar como plan b por si borramos archivos necesarios para realizar algunas funciones.
Con la copia de seguridad realizada… empezamos a borrar archivos sospechosos. Es muy importante también que los archivos que eliminemos vayan a la papelera primero.

No marcar esa opción ya que así los podemos recuperar más rápidamente.
Debemos de entrar a las siguientes carpetas buscando archivos sospechosos.
- public_html (o la raíz del wordpress)
- wp-content (donde se almacenan los plugins, theme, etc…)
- - upload
- - theme
- - plugins
¿Por qué solo a esas carpetas? Las otras carpetas vamos a realizar la búsqueda a través de un plugin.
Si entramos a la carpeta de un plugin y vemos un archivo sospechoso pero dudamos… lo recomendable es descargarlo y ver si ese archivo viene de origen.
Lo más efectivo para revisar si un archivo está infectado es editándolo.
Ejemplo práctico real de un cliente:
Un cliente nos comentó que su WordPress iba lento y que, además, tenía problemas con el envío de correos electrónicos.
Realizamos un escáner con ClamAV y salió todo limpio. Pasamos al siguiente paso, buscamos los archivos de manera manual y solo acceder al public_html nos dimos cuenta de una cosa…

Esos archivos con doble/triple/… extensión no pertenecían a WordPress. No nos hacía falta editar el archivo para ver que tenía código malicioso.
Para ésta guía volví a subir los archivos infectados a una cuenta CPanel y así poder editar el archivo.
El editar el archivo contenía esto:

Aquí volvemos al sentido común… ese archivo no es original de WordPress.
Borramos todos los archivos sospechosos para seguir trabajando.
Es importante que sepas algo; no porque borres todos los archivos sospechoso que veas significa que el WordPress está 100% limpio.
Con todos los archivos sospechosos eliminados (de todas las carpetas mencionadas anteriormente) toca realizar una serie de trabajos automáticos.
Las demás carpetas vamos a analizarlas con un plugin llamado ‘Wordfence Security – Firewall & Malware Scan’.
-Instalamos Wordfence Security – Firewall & Malware Scan
No hay que olvidar que el WordPress posiblemente siga infectado. Instalamos dicho plugin y antes de hacer un escáner vamos a hacer un cambio en la configuración.
Esta configuración poca gente la suele modificar.

Hacemos clic en Scan y pasamos a ‘Scan Options and Scheduling’ vamos a cambiar la configuración del escáner sea más exhaustiva.

Guardamos todos los cambios y ahora si realizamos el Scan. Este punto puede tardar máximo 1 hora (depende de los archivos a escanear).
Una vez tengamos los resultados en tabla de abajo podremos ver en la parte derecha unos botones de acciones.

Como podemos ver ha encontrado 2 problemas. El primero (color rojo) son los críticos y el segundo (color amarillo) son las alertas. Las alertas pueden ser plugins desactualizados, etc… nada grave.
Los rojos si, como se puede ver es crítico. Nos notifica que el archivo functions.php del theme tiene un código malicioso. Podemos hacer click en DETALIS para ver más información…

Como se puede ver el archivo tiene una variable que se puede utilizar para realizar un backdoor.
De momento es muy probable que tenga código malicioso dentro del archivo, veamos que contiene dicho archivo haciendo clic en VIEW FILE.

Y efectivamente… el WordPress estaba infectado. El archivo functions.php del theme tenía código con el cual enviaba información a un dominio.
Solo nos queda eliminar el código malicioso y guardar cambios.
Una vez que hayamos borrado todo el código malicioso volver a pasar Scan para asegurarnos.
Para saber si un WordPress ha quedado totalmente limpio (aunque todos los escáneres den positivo de limpieza) lo más recomendable es esperar unos días. Los malware se suelen autogenerar a través de un archivo oculto y se vuelven a generar (lo mismo que borraste, se vuelve a generar). Si en 1 semana sigue estando limpio es muy probable que tu WordPress ya este definitivamente desinfectado.
- Reinstalar wordpress (en caso de no quedar limpio)
Si nada de lo anterior ha solucionado el problema y al cabo de unos días se han vuelto a generar dichos archivos nos toca reinstalar sin perder información.
Realizar otra copia de seguridad. Una vez tengamos la copia de seguridad tenemos que saber la versión del WordPress que estamos utilizando.
Para conocer este dato es tan simple como acceder a la base de datos y buscar en la tabla wp_options (o el prefijo XX_ que tengáis…) y buscar db_version.
Ese código será vuestra versión codificada. Para descodificarla entrar aquí: User:Esmi/Database versions « WordPress Codex
Bien ya tenemos la nueva versión, ahora tenemos que de la fuente original de WordPress el .ZIP de ESA versión.
Con el .ZIP en nuestro equipo. Pasamos a anotar todos los plugins que tenemos instalados y el theme.
Anotarlos en un bloc de notas para volver a instalarlos de nuevo (guardar solo los plugins de calidad y de confianza).
Borrar todos los archivos menos wp-config.php ya que, RECUERDA, la idea es NO perder NADA de información. Ese archivo contiene el acceso a la base de datos.
Subimos el .ZIP de la versión que teniamos instalada y accedemos al panel de control mediante http://www.tuweb.com/wp-admin con los mismos datos de usuario.
En ese momento es la hora de volver a instalar todos los plugins y themes.
No te asustes, es normal que todo se haya desconfigurado. La solución es volver a subir todos los plugins y themes que había antes.
Recuerda si la mayoría de archivos infectados estaban en un theme/plugin no vuelvas a descargar ese theme desde la fuente que lo has descargado.
Y hasta aquí la guía.
Es importante que tengas en cuenta que esta guía es un resumen de todo un trabajo muy exhausto y se debería de realizar con unos conocimientos medios/avanzados.
Estaré encantado de resolver dudas y/o problemas.
Autor: Negocios del Web.
Un saludo