Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Visible Symptoms Initial Triage

WordPress descarga un archivo desconocido cuando entran los visitantes

Contén y rastrea descargas inesperadas en WordPress mediante redirecciones, cabeceras, scripts inyectados, service workers y hosting.

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.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia