En DrWordpress.net atendemos a diario casos de sitios WordPress comprometidos por infecciones que afectan la estabilidad, el posicionamiento y la seguridad de los proyectos de nuestros clientes. En este artículo te compartimos el resumen técnico de un caso real y reciente, en el que nos enfrentamos a una infección masiva que había generado decenas de miles de archivos maliciosos en el servidor.
Este tipo de casos no solo requieren experiencia técnica, sino también un enfoque quirúrgico para no dañar el contenido legítimo (como imágenes y documentos). A continuación te mostramos cómo lo resolvimos paso a paso, manteniendo el contenido intacto y asegurando una reinstalación 100% limpia de WordPress.
El Problema: Infección masiva con archivos .php sospechosos
El cliente nos contactó al notar comportamientos anómalos en su sitio. Tras una primera inspección, encontramos archivos como:
aprbpesi.php
gebsapex.php
mymqcdav.php
ileorhoy.php
.... (ect)
Se trataba de miles de archivos con nombres aleatorios dispersos por todo el sistema de archivos: en wp-includes, plugins, themes, e incluso en uploads. La mayoría tenían 0 bytes y todos compartían la misma fecha de creación, lo que facilitó su identificación.
Paso 1: Identificación y eliminación de archivos maliciosos
Nos enfocamos en detectar los archivos .php vacíos creados en la misma fecha (25 de junio). Esto nos permitió eliminarlos con precisión:
find . -type f -name "*.php" -size 0c -newermt 2024-06-25 ! -newermt 2024-06-26 -exec rm -f {} \;
Posteriormente, aplicamos una limpieza complementaria para eliminar archivos .php con nombres aleatorios sospechosos:
find . -type f -regex './[a-z]\{8\}\.php$' -exec rm -f {} \;
Paso 2: Protección de la carpeta uploads sin afectar imágenes
Uno de los errores más comunes al limpiar WordPress es borrar imágenes o archivos legítimos. Nosotros protegimos el contenido evitando la ejecución de archivos .php dentro de /wp-content/uploads/ mediante un .htaccess:
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
Esto evita que cualquier archivo .php colocado maliciosamente en esa carpeta pueda ejecutarse.
Paso 3: Reinstalación del núcleo de WordPress con WP-CLI
Una vez limpio el entorno, usamos WP-CLI para reinstalar el núcleo oficial de WordPress, sin afectar contenido:
wp core download --force
Verificamos integridad con:
wp core verify-checksums
Y actualizamos la base de datos:
wp core update-db
Paso 4: Reinstalación de plugins y temas
Reinstalamos todos los plugins activos directamente desde el repositorio oficial, lo que garantiza que no queden versiones modificadas:
wp plugin list --status=active --field=name | xargs -n1 wp plugin install --force
Paso 5: Refuerzo de seguridad post-limpieza
Para cerrar puertas traseras, configuramos el wp-config.php con parámetros de seguridad como:
wp config set DISALLOW_FILE_EDIT true --raw
wp config set WP_AUTO_UPDATE_CORE true --raw
Así, deshabilitamos la edición de archivos desde el panel y forzamos actualizaciones automáticas del núcleo.
Resultado Final y Recomendaciones
Luego de ejecutar el proceso completo de limpieza, validación y reinstalación segura:
- El sitio quedó libre de archivos
.phpmaliciosos, eliminando miles de archivos con nombres aleatorios y tamaño 0 bytes, los cuales estaban distribuidos en múltiples carpetas del núcleo de WordPress. - Se preservó intacto el contenido visual, incluyendo imágenes, documentos y elementos multimedia alojados en
wp-content/uploads, garantizando la continuidad visual y funcional del sitio. - Se reinstaló un núcleo limpio y verificado de WordPress, junto con plugins y temas confiables descargados directamente desde fuentes oficiales, descartando cualquier modificación externa o sospechosa.
- Se aplicaron medidas de endurecimiento de seguridad, como restricciones sobre la carpeta
uploadsy bloqueos de edición en el panel administrativo, para evitar futuras inyecciones o manipulaciones de archivos.
Resultado Final y Recomendaciones
Luego de ejecutar el proceso completo de limpieza, validación y reinstalación segura:
- El sitio quedó libre de archivos
.phpmaliciosos, eliminando miles de archivos con nombres aleatorios y tamaño 0 bytes, los cuales estaban distribuidos en múltiples carpetas del núcleo de WordPress. - Se preservó intacto el contenido visual, incluyendo imágenes, documentos y elementos multimedia alojados en
wp-content/uploads, garantizando la continuidad visual y funcional del sitio. - Se reinstaló un núcleo limpio y verificado de WordPress, junto con plugins y temas confiables descargados directamente desde fuentes oficiales, descartando cualquier modificación externa o sospechosa.
- Se aplicaron medidas de endurecimiento de seguridad, como restricciones sobre la carpeta
uploadsy bloqueos de edición en el panel administrativo, para evitar futuras inyecciones o manipulaciones de archivos.
¿Tu sitio fue infectado con archivos raros como xjgyplov.php, jkmsodtp.php o similares?
Este tipo de infecciones silenciosas pueden pasar desapercibidas durante semanas, especialmente si no se realiza mantenimiento técnico regular.
En DrWordpress.net ofrecemos:
- Limpieza de malware
- Reinstalación segura
- Auditorías de seguridad
- Soporte técnico personalizado

