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

Errors & Diagnosis

Archivos PHP maliciosos en wp-content/uploads: contención y análisis de la causa raíz

PHP dentro de las cargas es una fuerte señal de compromiso en la mayoría de los sitios. Preservar, bloquear la ejecución, identificar el cargador y eliminar la persistencia.

Qué importa primero: El directorio de subidas normalmente debe contener medios, no código de aplicación ejecutabla. Los atacantes lo favorecen porque se puede escribir y a menudo sobrevive plugin o reemplazo de núcleo.

Qué indica realmente este síntoma

Eliminar un shell no revela cómo llegó o si otro cargador puede recrearlo. Las marcas de tiempo, la propiedad y el acceso a los registros y archivos relacionados conectan la carga útil a un punto de entrada.

Recopila pruebas antes de cambiar nada

  • Enumere cada extensión ejecutabla y extensión doble sospechosa bajo las subidas.
  • Registro de hashes, fecha y horas, propietario y rutas antes de la cuarentena.
  • Coincide los tiempos de creación con el acceso, carga y autenticación logs.
  • Busque referencias a los archivos en cron, opciones, temas, plugins y reglas del servidor.

Causas más habituales

  • Endpoint de carga vulnerable: Un plugin aceptó contenido ejecutabla o controles de tipo omitidos.
  • Credenciales robadas: Un atacante escribió archivos a través de SFTP, servidoring o WordPress admin.
  • puerta trasera existente: Otro shell o cargador generó la carga útil.
  • Servidor mal configurado: La ejecución PHP está permitida en un directorio destinado únicamente a medios.

Secuencia segura de diagnóstico y reparación

  1. Evidencia de cuarentena fuera de la raíz de la web y bloquee la ejecución PHP en cargas.
  2. Eliminar toda persistencia relacionada y reemplazar los componentes comprometidos de fuentes de confianza.
  3. Parche o elimine la ruta de carga vulnerable y rote las credenciales pertinentes.
  4. Escanea los sitios vecinos y comparte cuentas servidoring usando el mismo usuario del sistema.

Cómo distinguir entre las causas probables

No trates Endpoint de carga vulnerable y Credenciales robadas como causas equivalentes. Un plugin aceptó contenido ejecutabla o controles de tipo omitidos. En cambio, un atacante escribió archivos a través de SFTP, servidoring o WordPress admin. Para distinguirlas, usa estas dos comprobaciones: Enumere cada extensión ejecutabla y extensión doble sospechosa bajo las subidas; y registro de hashes, fecha y horas, propietario y rutas antes de la cuarentena. Con esos datos podrás decidir si conviene aplicar la primera acción controlada —Evidencia de cuarentena fuera de la raíz de la web y bloquee la ejecución PHP en cargas— o si debes conservar el estado actual y ampliar la investigación.

En una web comprometida, contener y limpiar son decisiones distintas. Conserva el archivo sospechoso y los registros de acceso antes de eliminar la persistencia, y rota las credenciales solo después de cerrar la vía activa. Documenta la fecha y hora exactas, la URL o transacción afectada, el último estado correcto conocido y cada cambio realizado durante el diagnóstico. Ese registro permite distinguir una reparación reproducible de una desaparición temporal del síntoma.

Qué no debes hacer

No Abre un shell web en un navegador para “ver lo que hace.” Analizar una copia preservada fuera de línea y asumir que cada solicitud podría desencadenar lógica atacante.

Cómo verificar la reparación

  • No quedan archivos ejecutablas en los directorios de medios de escritura.
  • El servidor rechaza los intentos de ejecución bajo carga.
  • El monitoreo no muestra recreación y la ruta de escritura original está cerrada.

Que el síntoma visible desaparezca no es suficiente. Cierra la incidencia solo cuando la acción original que fallaba, el recorrido de negocio relacionado y los registros relevantes confirmen que el problema ha desaparecido.

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