Un visitante abre la web y el navegador ofrece un ZIP, APK, ejecutable o documento desconocido. Trátalo como incidente activo. No abras el archivo, lo subas a un escáner público ni pidas a más clientes que reproduzcan el problema.
La descarga puede iniciarse mediante una respuesta HTTP, JavaScript inyectado, redirección, anuncio comprometido o service worker registrado anteriormente.
Contén primero la exposición
Si el aviso es creíble, restringe el acceso o sirve mantenimiento estático desde una capa limpia, conservando el entorno infectado. Coordina hosting y CDN para que las páginas maliciosas cacheadas no sigan públicas.
No borres inmediatamente el archivo. Conserva nombre, hash criptográfico, fechas y URL de origen desde un entorno aislado. Guárdalo sin permiso de ejecución y con acceso restringido.
Nunca lo envíes por email a soporte o desarrollo.
Recopila evidencia no ejecutable
Pregunta URL, hora, navegador, dispositivo, referrer y nombre mostrado. Una captura del aviso de descarga es más segura que el archivo.
En un perfil desechable registra la red del navegador y detente antes de abrir el payload. Anota si la primera respuesta es HTML, redirección o descarga. No inicies sesión en WordPress desde ese perfil.
Inspecciona las cabeceras
Para una URL autorizada, consulta cabeceras sin guardar el cuerpo:
curl -sS -I https://example.com/suspected-path/
Busca Content-Disposition: attachment inesperado, tipo de contenido extraño, ubicación de redirección o nombre. Una descarga iniciada por JavaScript puede no aparecer aquí.
Compara la primera visita con la vista administrativa y otra sesión limpia. El malware puede limitarse a móvil, búsquedas o primeras visitas.
Rastrea la petición iniciadora
En el panel de red identifica qué respuesta entregó los bytes y qué elemento o script la inició. Comprueba:
<script>o iframe inyectado;- dominios externos desconocidos;
- URL blob u object creadas en el navegador;
- anuncios o Tag Manager;
- service worker interceptando la navegación;
- redirección del servidor a otro host.
Conserva las URLs como texto. No explores infraestructura externa más allá de lo necesario para entender la cadena de tu propia web.
Busca en WordPress y el hosting
Revisa PHP y JavaScript modificados, plugins desconocidos, mu-plugins, tema, configuración raíz y ejecutables dentro de uploads. Busca en la base scripts y dominios observados en la red.
Comprueba redirecciones del hosting, cron, DNS y sitios vecinos. Un panel comprometido puede reinsertar el payload después de limpiar WordPress.
La detección única de un escáner no define el alcance: puede encontrar el archivo entregado y omitir el cargador o el robo de credenciales.
Considera la persistencia del service worker
Un worker malicioso u obsoleto puede seguir controlando visitas tras reparar el origen. Inspecciona los workers registrados y sus scripts desde el navegador aislado.
Elimina en servidor la ruta de registro maliciosa y publica una estrategia limpia de actualización. Puede ser necesaria una navegación nueva para que el worker antiguo pierda control.
Decir a los usuarios que borren el navegador no es una reparación: hay que corregir el origen y el mecanismo de registro.
Limpia, cierra y verifica
Conserva evidencia, elimina cargadores y payloads confirmados, sustituye archivos fiables modificados desde fuentes verificadas y rota credenciales afectadas. Corrige la vía de entrada y tareas persistentes.
Repite la página, referrer y dispositivo originales con almacenamiento limpio. Confirma que no hay descarga, redirección o worker sospechoso. Revisa CDN y monitoriza archivos y conexiones salientes.
Solicita respuesta urgente
Un ejecutable o paquete móvil inesperado requiere contención inmediata. Envía URL pública, hora, nombre y captura, nunca el archivo o contraseñas.
Una limpieza profesional debe explicar qué inició la descarga, qué se retiró, cómo se evitó la reinfección y cómo se verificó de manera segura la condición original.