PHPshell malicioso que representa una amenaza de acceso no autorizado y control de un servidor web.

PHP Shell: la puerta trasera que puede tener tu web sin que lo sepas

Guía sencilla, sin tecnicismos, para entender qué es, cómo detectarlo y cómo proteger tu web.

Actualidad: la alerta de seguridad que puso en jaque al 70% de las webs

Antes de seguir, el contexto que lo hace más urgente que nunca. Los días 20 y 21 de octubre de 2026, internet vivió una de sus mayores alertas de seguridad: se hicieron públicas dos vulnerabilidades críticas en PHP, el lenguaje que da vida a cerca del 70% de las webs del planeta (incluida la gran mayoría de sitios hechos con WordPress).

Las fallas, bautizadas en conjunto como PHP2Shell (CVE-2026-109618 y CVE-2026-109619) y con una gravedad de 9,2 sobre 10, permiten que un atacante ejecute su propio código en el servidor sin necesidad de contraseña. El aviso fue tan serio que agencias como el FBI, la NSA, CISA o el NCSC británico recomendaron algo drástico: si no puedes actualizar, apaga tu web. Y muchas lo hicieron: gobiernos como los de Finlandia y Países Bajos, la Wikipedia y varios organismos públicos se quedaron en negro hasta poder aplicar el parche.

El parche llegó el 21 de octubre (versiones PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35), aunque tardará semanas o incluso meses en llegar a todos los rincones. Lo más llamativo: las fallas llevaban más de una década escondidas y las encontró una inteligencia artificial.

¿Y qué tiene que ver esto con un PHP shell? Todo. Una vulnerabilidad así es exactamente el tipo de agujero que un atacante aprovecha para colar una puerta trasera. Entender cómo funcionan esas puertas —y cómo cerrarlas— es hoy más importante que nunca. Vamos a ello.

Introducción: imagina que tu web es una casa

Antes de entrar en materia, pensemos en tu sitio web como una casa. Tiene una puerta de entrada (el servidor), habitaciones con tus cosas (los archivos y la base de datos) y ventanas por las que entran los visitantes (el navegador). Mientras todo va bien, la casa funciona sola y nadie se fija en lo que ocurre dentro.

El problema llega cuando alguien encuentra una ventana que quedó abierta sin querer. No hace falta derribar la puerta: basta con colarse por ese hueco, esconderse dentro y, desde ahí, abrir las demás puertas cuando le convenga.

Eso es, en esencia, un PHP shell (o web shell): un pequeño archivo que un atacante consigue colocar dentro de tu servidor y que funciona como una llave maestra escondida. Una vez dentro, puede mirar lo que hay, coger lo que quiera, borrar cosas o instalar otras puertas traseras para volver más tarde. Y lo más preocupante: todo ocurre a través de la misma web, mezclado con el tráfico normal de los visitantes, por lo que pasa desapercibido con facilidad.

No necesitas ser programador para entenderlo. En este artículo verás qué es, cómo entra, cómo saber si te ha pasado y qué hacer al respecto.

¿Qué es exactamente un PHP shell?

Un PHP shell es un archivo pequeño que se coloca dentro de tu servidor web y que actúa como una puerta trasera. El nombre viene de dos partes:

  • PHP: es el lenguaje en el que está hecha la gran mayoría de las webs (y de los gestores de contenido como WordPress).
  • Shell: es la "consola" desde la que se le dan órdenes a un ordenador, como cuando escribes instrucciones en una ventana negra.

Juntando las dos, un PHP shell es una web pequeña y escondida que, cuando el atacante la visita desde su navegador, le permite dar órdenes a tu servidor como si estuviera sentado delante de él. No es un virus que se propaga solo: es una puerta que alguien deja abierta a propósito dentro de tu web.

¿Cómo consigue entrar?

Un PHP shell no entra "por arte de magia". Siempre aprovecha un descuido. Los caminos más habituales son:

Puerta de entradaEn qué consiste
Formularios de subida de archivos sin controlTu web deja subir archivos (fotos, documentos…) pero no comprueba bien qué tipo de archivo es. El atacante sube un archivo que parece inofensivo pero en realidad es la puerta trasera.
Plugins o gestores desactualizadosUn complemento de WordPress, Joomla o similar tiene un fallo conocido. Si no lo actualizas, el atacante lo usa para colarse.
Contraseñas débiles o robadasEl panel de administración, el FTP o el hosting usan contraseñas fáciles de adivinar o reutilizadas de otras filtraciones.
Errores en el propio códigoUn programador dejó una función mal hecha que permite ejecutar cosas que no debería.

Fíjate en algo importante: el fallo casi nunca es "de PHP". El fallo está en dejar una puerta abierta. PHP solo hace que, una vez dentro, el intruso tenga las llaves de toda la casa.

¿Qué puede hacer una vez dentro?

  • Ver y copiar tus datos: usuarios, correos, pedidos, mensajes, bases de datos enteras.
  • Borrar o modificar cosas: páginas, productos, contenido, copias de seguridad.
  • Poner publicidad o redirecciones: llevar a tus visitantes a webs fraudulentas sin que te enteres.
  • Enviar spam usando tu servidor, lo que puede hacer que tu dominio acabe en listas negras.
  • Usar tu web para atacar a otros, convirtiéndote en parte del problema sin saberlo.
  • Instalar más puertas traseras para volver aunque limpies la primera.

¿Por qué es tan difícil de ver?

Porque se camufla. Imagina un ladrón que se viste de repartidor y entra por la puerta principal a plena luz del día. El PHP shell hace lo mismo:

  • Se esconde entre archivos normales, con nombres que parecen legítimos.
  • Se mezcla con el tráfico habitual de la web, así que en los registros parece un visitante más.
  • Se ofusca: se escribe de forma enrevesada para que los programas de seguridad no lo reconozcan a simple vista.
  • Deja copias de seguridad de sí mismo, para resucitar si borras la primera.

Señales de alarma: cómo saber si te han hackeado

No hace falta ser experto. Estas pistas deberían encender todas las luces:

  • Tu web va mucho más lenta de lo normal, o se cae sola.
  • Aparecen redirecciones raras a otras webs.
  • Hay publicidad o enlaces que tú no pusiste.
  • Google o tu navegador te avisan de que el sitio no es seguro.
  • Detectas archivos que no reconoces o con fechas que no cuadran.
  • Recibes avisos de que salen correos de spam desde tu servidor.
  • Tu hosting o tu antivirus te avisa de actividad sospechosa.
  • Tus clientes o usuarios se quejan de comportamientos extraños.
Si reconoces varias de estas señales, actúa como si fuera una intrusión real: cuanto antes reacciones, menos daño.

Cómo auditar tu servidor (sin ser técnico)

"Auditar" suena complicado, pero se resume en responder cuatro preguntas sencillas:

  1. ¿Hay archivos que no deberían estar ahí? Se buscan archivos recientes que tú no hayas creado o que no encajen con el resto.
  2. ¿Hay algo raro funcionando? Se revisan los programas que están activos en el servidor en ese momento.
  3. ¿Sale información hacia fuera? Se comprueba si el servidor está conectándose a sitios desconocidos (señal de robo de datos).
  4. ¿Qué quedó registrado? Se revisan los "registros" del servidor, que anotan quién entró, cuándo y a qué.
Truco de oro: compara tu web actual con una copia de seguridad limpia o con la versión original de tu gestor de contenido. Todo lo que aparezca de más o esté modificado es sospechoso. Es la forma más rápida de encontrar un intruso, incluso sin saber programar.

Para no hacerlo a mano, existen herramientas que automatizan esta revisión: plugins de seguridad de WordPress, escáneres de archivos del hosting, sistemas de control de integridad (que avisan cuando un archivo cambia) y antivirus especializados. Todos ellos miran lo mismo que tú, pero más rápido.

Puntos clave si tu servidor es Apache

Apache es el programa que "sirve" tu web (el más usado del mundo). Si tu web corre sobre Apache, hay cuatro zonas que conviene revisar:

ZonaQué se comprueba
La configuración generalQue no haya funciones activadas que no necesitas y que solo abren puertas.
El motor de PHPQue esté limitado: que no pueda ejecutar órdenes del sistema ni salirse de la carpeta de la web.
Los archivos ocultos de configuraciónPequeños archivos que cambian el comportamiento de la web; los atacantes los usan para que archivos inofensivos se vuelvan peligrosos.
Los registros de accesoEl historial de visitas. Ahí aparece la cronología del ataque: quién entró, desde dónde y qué pidió.

La idea es simple: revisa qué está encendido, qué permisos tiene y qué ha pasado últimamente. Si algo no lo reconoces o no lo necesitas, apágalo o quítalo.

Qué hacer si encuentras un PHP shell

  1. Aísla, no apagues del todo. Cortar la salida a Internet evita el daño, pero conserva las pistas.
  2. Haz una copia de seguridad del estado actual antes de tocar nada (te servirá de evidencia y para investigar).
  3. Elimina la puerta trasera y cualquier copia o tarea que la reinstale.
  4. Cambia TODAS las contraseñas: hosting, panel, base de datos, correo, accesos de clientes. Sin excepción.
  5. Actualiza todo: gestor, plugins, temas y el propio servidor.
  6. Revisa y restaura si es necesario desde una copia limpia y anterior al ataque.
  7. Avisa a tus usuarios o clientes si sus datos pudieron verse afectados (y cumple con la ley de protección de datos).
  8. Vigila los días siguientes: es normal que el atacante intente volver.
Si el intruso llegó a tener control total del servidor, lo más seguro es reconstruirlo desde cero. Un servidor con acceso total comprometido nunca vuelve a ser del todo fiable.

Cómo prevenir que vuelva a pasar

  • Actualiza siempre: gestor, plugins y temas. La mayoría de ataques aprovechan fallos ya corregidos.
  • Contraseñas fuertes y distintas para cada servicio, y activa la verificación en dos pasos.
  • Valida lo que se sube: si tu web permite subir archivos, que compruebe de verdad qué se está subiendo.
  • Copias de seguridad automáticas y, a ser posible, guardadas fuera del servidor.
  • Un plugin de seguridad con cortafuegos (firewall) y escaneo periódico.
  • Permisos mínimos: que cada parte de la web pueda hacer solo lo que necesita.
  • Monitorización: que algo te avise cuando un archivo cambie o entre alguien sospechoso.

Preguntas frecuentes (FAQ)

¿Qué es un PHP shell en palabras simples?

Es un archivo pequeño y escondido que alguien coloca en tu servidor y que funciona como una puerta trasera: le permite dar órdenes a tu web y a tu servidor desde su navegador, como si estuviera sentado delante de él.

¿Un PHP shell es un virus?

No exactamente. Un virus se propaga solo; un PHP shell es más bien una puerta que alguien deja abierta a propósito. No se contagia, pero es igual de peligroso porque da acceso directo a tu web.

¿Cómo sé si mi web tiene un PHP shell?

Fíjate en las señales de alarma: web lenta o caída, redirecciones raras, publicidad que no pusiste, avisos de Google, archivos que no reconoces o spam saliendo de tu servidor. La forma más fiable es comparar tu web con una copia de seguridad limpia.

¿Estoy afectado por la vulnerabilidad PHP de octubre de 2026?

Si tu web funciona con PHP (la mayoría, incluido WordPress), estás en riesgo. La solución es actualizar PHP a las versiones 8.5.12, 8.4.27, 8.3.36 o 8.2.35. Si tu hosting no te lo permite, pregúntales o cambia de proveedor.

¿Qué hago si no puedo actualizar PHP?

Las agencias de seguridad recomiendan, como medida temporal, retirar la web de internet (o aislarla) hasta poder aplicar el parche. No es agradable, pero es mejor que quedar expuesta.

¿Necesito saber programar para proteger mi web?

No. Con mantener todo actualizado, usar contraseñas fuertes con verificación en dos pasos, hacer copias de seguridad y tener un buen hosting, ya cubres lo esencial. Este artículo te da el resto.

¿Cómo evito que vuelva a pasar?

Actualizando siempre, validando lo que se sube, usando un cortafuegos y monitorizando tu web. La prevención continua es lo único que funciona de verdad.

Conclusión

Un PHP shell no es magia negra: es una puerta escondida que aprovecha un descuido. Entender cómo entra, cómo se camufla y qué señales deja ya te pone por delante de la mayoría. La receta es sencilla: prevenir (actualizar, contraseñas fuertes, validar archivos), detectar (comparar con copias limpias, revisar registros y avisos) y reaccionar (aislar, limpiar, cambiar credenciales y reconstruir si hace falta).

Tu web es tu casa. Vale la pena echar un vistazo de vez en cuando a ver si alguna ventana quedó abierta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio