La limpieza modifica archivos, filas de base, fechas, cachés y logs. Sin una captura previa puedes borrar el payload visible y perder las pistas que revelan la entrada, persistencia y cuentas afectadas.
Conservar evidencia no significa dejar expuestos a los visitantes. Contén primero el daño público y captura después el entorno antes de reemplazos o restauraciones amplios.
Registra las condiciones del incidente
Crea una cronología sencilla con zona horaria:
- primer aviso y persona que informó;
- URLs y síntomas;
- destinos de redirección o descarga como texto;
- dispositivo, referrer y primera visita;
- alertas del hosting o escáner;
- actualizaciones, accesos y despliegues recientes;
- acciones de contención ya ejecutadas.
Las capturas y cabeceras son útiles. No abras destinos maliciosos para mejorar el registro.
Contén con la acción menos destructiva
Utiliza mantenimiento limpio, restricción de acceso o cuarentena del hosting y conserva detrás la raíz infectada.
Evita actualizar todos los plugins, reemplazar el núcleo y vaciar cachés antes de capturar: estas acciones cambian timestamps y pueden borrar el cargador inicial.
Si hay phishing o una descarga activa, la seguridad del visitante tiene prioridad sobre una fotografía perfecta. Anota acción y hora.
Conserva archivos y metadatos
Crea un archivo o snapshot que mantenga rutas y fechas. Incluye ocultos como .htaccess, mu-plugins y archivos fuera del directorio evidente cuando la cuenta lo permita.
Genera un manifiesto de hashes:
find /path/to/working-copy -type f -print0
| sort -z
| xargs -0 sha256sum > wordpress-files.sha256
Ejecuta comandos únicamente sobre una copia autorizada, desconectada o en cuarentena. El manejo delimitado por nulos evita errores con nombres extraños. Guarda el manifiesto junto al árbol, no dentro.
Exporta la base de forma coherente
Usa el backup del hosting, snapshot o volcado adecuado. Conserva tablas, charset y fecha.
Cifra la exportación y limita el acceso: puede contener usuarios, clientes, formularios, sesiones y scripts maliciosos.
No la subas a enlaces públicos ni pegues opciones sospechosas en tickets.
Recopila logs antes de su rotación
Conserva accesos y errores web, PHP, autenticación, seguridad de WordPress, FTP o SFTP, eventos del panel y registros de CDN o firewall.
La retención puede ser breve. Anota la zona horaria y si la fuente está completa.
No amplíes el registro para capturar contraseñas, cookies, pagos o cuerpos de peticiones. Los metadatos existentes suelen bastar para relacionar accesos y cambios.
Registra cuentas y tareas persistentes
Exporta o captura listas autorizadas de usuarios, administradores, contraseñas de aplicación, cuentas del hosting, cron, plugins y mu-plugins.
En WooCommerce conserva el estado de colas relevantes sin payloads de clientes. No borres trabajos desconocidos hasta identificar su propietario.
Guarda también DNS, redirecciones, Workers y reglas CDN; la persistencia puede estar fuera de WordPress.
Protege la copia de evidencia
Mantén un original intacto e investiga sobre un duplicado. Guárdalos fuera de carpetas web con privilegio mínimo.
Registra quién recopiló la copia, cuándo, fuente y transferencias. La cadena formal depende del contexto legal, pero un registro básico evita confusiones.
Acuerda retención y eliminación segura porque puede contener datos personales y malware.
Empieza a limpiar desde fuentes verificadas
Con la evidencia preservada, compara el núcleo con su release, sustituye paquetes fiables, revisa código propio, inspecciona base y cierra la entrada.
Documenta cada elemento retirado, reemplazado o modificado y conserva puntos de reversión. Un escáner limpio es solo una señal.
Cuándo importa el manejo experto
Pide ayuda antes de modificar si hay inyección en checkout, exposición personal, varias webs, policía, seguro o reinfección. Envía primero síntomas y URLs, no el archivo ni contraseñas.
Una buena limpieza comienza con evidencia suficiente para explicar lo ocurrido y termina demostrando que desaparecieron tanto el payload como su camino de regreso.