Malware PHP Webshell
Malware PHP Webshell
Fecha de publicación: 07/10/2025
Escrito por: Lizzie Danielson
Un webshell PHP es un script malicioso que les da a los atacantes una puerta trasera a tu servidor web. Una vez subido, actúa como una interfaz de comando y control, lo que permite a los actores de amenazas explorar tu sistema de archivos, subir más malware, robar datos o incluso tomar control total del servidor. Es una herramienta sigilosa y peligrosa usada para mantener acceso persistente y escalar ataques.
¿Qué es el malware de webshell PHP?
Un webshell PHP es un tipo de malware que da a los atacantes administración remota de un servidor web. No es un virus ni una cepa específica con nombre, sino una herramienta maliciosa escrita en el lenguaje de programación PHP. Dado que PHP impulsa un gran porcentaje de sitios web (piensa en WordPress, Joomla y Drupal), los webshells PHP son una amenaza generalizada y persistente.
Una vez que un atacante sube con éxito un script de webshell a un servidor, puede acceder a él a través de un navegador web. Esto les da una interfaz potente basada en la web para ejecutar comandos, manipular archivos y moverse más profundo en una red. Webshells populares como C99, R57 y B374K ofrecen funciones extensas, convirtiendo un servidor comprometido en una plataforma de lanzamiento para más actividades maliciosas. El nivel de amenaza es alto porque un ataque de webshell exitoso puede llevar al compromiso total del servidor, exfiltración de datos y movimiento lateral por toda la infraestructura de una organización.
¿Cuándo se descubrió por primera vez el webshell PHP?
Los webshells no son un fenómeno nuevo; han existido desde que existen los servidores web. El concepto se remonta a finales de los años 90 y principios de los 2000, evolucionando junto con las tecnologías web. Las primeras versiones eran scripts simples, pero desde entonces se han vuelto muy sofisticados, con código ofuscado y funciones avanzadas. No existe una sola fecha de "descubrimiento" para los webshells PHP como categoría, pero su uso ha sido documentado por investigadores de seguridad durante más de dos décadas.
¿Quién creó el webshell PHP?
No existe un solo creador de los webshells PHP. Son herramientas desarrolladas por incontables atacantes individuales, pentesters y grupos cibercriminales. Muchos webshells populares son de código abierto o se comercian en foros clandestinos, lo que permite que cualquier atacante los descargue, modifique y despliegue. El anonimato de internet hace casi imposible atribuir un webshell específico a una sola persona o grupo, aunque algunas versiones avanzadas se han vinculado a actores de amenazas patrocinados por estados.
¿A qué apunta el webshell PHP?
Los webshells PHP apuntan a cualquier servidor web que ejecute aplicaciones basadas en PHP. Esto incluye una gama enorme de sistemas, desde blogs personales hasta sitios web de grandes empresas y plataformas de comercio electrónico. Los sistemas de gestión de contenido (CMS) como WordPress, Joomla y Drupal son blancos especialmente frecuentes debido a su uso generalizado y la disponibilidad de plugins y temas vulnerables.
Los atacantes no son selectivos; apuntan a cualquier industria o geografía con una presencia web vulnerable. El objetivo es establecer un punto de apoyo persistente para varios propósitos nefastos, entre ellos:
Robo de datos: robar información sensible de clientes, datos financieros o propiedad intelectual.
Alojamiento de contenido malicioso: usar el servidor comprometido para alojar páginas de phishing o distribuir otro malware.
Botnets DDoS: enlistar el servidor en una red de bots para lanzar ataques de denegación de servicio distribuido.
Criptominería: secuestrar los recursos del servidor para minar criptomonedas.
Método de distribución del webshell PHP
Los atacantes usan varios métodos comunes para subir un webshell PHP a un servidor objetivo. El vector de infección inicial casi siempre implica explotar una debilidad en la aplicación web o en la configuración del servidor.
Los métodos de distribución comunes incluyen:
Vulnerabilidades de aplicación: explotar fallas como inyección SQL, Inclusión Remota de Archivos (RFI) o inclusión de archivos locales (LFI) para engañar al servidor y hacer que ejecute código que descarga el webshell.
Subidas de archivos sin restricciones: muchos sitios web permiten a los usuarios subir archivos (como fotos de perfil o documentos). Si no están configurados correctamente, los atacantes pueden subir un archivo .php malicioso disfrazado de imagen u otro tipo de archivo inofensivo.
Credenciales débiles: forzar por fuerza bruta o usar credenciales de administrador robadas para iniciar sesión en el CMS o en el backend del servidor y subir manualmente el webshell.
Plugins o temas comprometidos: usar plugins y temas de terceros pirateados o desactualizados que contienen puertas traseras o vulnerabilidades conocidas.
Análisis técnico del malware de webshell PHP
Una vez que un webshell PHP está en un servidor, permanece inactivo hasta que el atacante accede a él a través de una URL específica. El script entonces se ejecuta en el servidor, presentando al atacante un panel de control en su navegador. El webshell se ejecuta con los mismos permisos que la cuenta de usuario del servidor web (por ejemplo, www-data, apache), que a menudo tiene amplio acceso para leer, escribir y ejecutar archivos dentro del directorio raíz web.
Los atacantes suelen usar técnicas de ofuscación para ocultar sus webshells de la detección. Esto puede implicar codificar el script en Base64, dividir el código en varios archivos o usar nombres de archivo de apariencia inocente como settings.php o cache.php para mezclarse con los archivos legítimos de la aplicación. El objetivo final es la persistencia: mantener el acceso el mayor tiempo posible sin ser descubiertos.
Tácticas, técnicas y procedimientos (TTPs)
Los webshells PHP están directamente asociados con varias técnicas de MITRE ATT&CK, principalmente bajo Persistencia y Ejecución.
T1505.003 - Componente de software de servidor: Web Shell: esta es la técnica principal. El adversario coloca un webshell en el servidor para mantener acceso persistente y ejecutar comandos.
T1190 - Explotar aplicación de cara al público: esta técnica se usa a menudo como vector de acceso inicial para subir el webshell en primer lugar.
T1059 - Intérprete de comandos y scripts: los webshells dan una interfaz para ejecutar comandos de shell, scripts (como Python o Perl) o funciones de PHP directamente en el servidor.
T1105 - Transferencia de herramientas de ingreso: los atacantes usan el webshell para subir herramientas adicionales, puertas traseras o ransomware al sistema comprometido.
Indicadores de compromiso (IoCs)
Detectar webshells puede ser complicado porque a menudo imitan tráfico legítimo. Sin embargo, hay varios IoCs a tener en cuenta:
Archivos inusuales: archivos .php con nombres sospechosos en directorios de subida o archivos con marcas de tiempo de modificación reciente que no corresponden a ninguna actividad de desarrollo conocida.
Tráfico de red anormal: conexiones salientes del servidor web a direcciones IP desconocidas o una cantidad inusual de solicitudes POST a un solo archivo PHP.
Alto uso de recursos del servidor: picos inexplicables en el uso de CPU o memoria podrían indicar que el servidor se está usando para actividades como criptominería.
Entradas de registro sospechosas: los registros del servidor web (como access.log de Apache) pueden mostrar solicitudes POST repetidas a un archivo PHP no estándar desde una sola dirección IP.
Nombres de archivo comunes de webshells: archivos llamados c99.php, r57.php, WSO.php u otras variantes conocidas de webshells.
Cómo saber si estás infectado con webshell PHP
Además de buscar IoC específicos, varios síntomas podrían indicar que tu servidor se ha visto comprometido con un webshell:
Tu sitio web es repentinamente bloqueado por los motores de búsqueda por alojar malware.
Notas cuentas de usuario nuevas y no autorizadas en el backend de tu CMS.
Los archivos de tu sitio web han sido modificados o desfigurados.
Recibes quejas de los usuarios sobre redirecciones o ventanas emergentes extrañas.
El rendimiento es lento y los recursos del servidor están constantemente al máximo.
Instrucciones para eliminar un webshell de PHP
Eliminar un webshell requiere más que solo borrar el archivo malicioso. Los atacantes suelen dejar otras puertas traseras o archivos modificados para recuperar el acceso.
Aísla el servidor: saca de línea el servidor comprometido de inmediato para evitar más daños o movimiento lateral.
Identifica el webshell: usa herramientas de monitoreo de la integridad de archivos, escáneres de malware o inspección manual para localizar el script o scripts del webshell. Revisa los registros del servidor web en busca de solicitudes POST sospechosas para identificar el archivo.
Analiza y elimina: antes de borrar, haz una copia del webshell para analizarlo. Esto puede ayudarte a entender cómo entró el atacante. Una vez que hayas identificado todos los archivos maliciosos, elimínalos.
Corrige la vulnerabilidad: este es el paso más crítico. Identifica y repara la brecha de seguridad que permitió al atacante subir el webshell. Esto puede implicar actualizar un plugin, cambiar contraseñas débiles o corregir una vulnerabilidad en el código.
Restaura desde una copia de seguridad limpia: el método más seguro suele ser borrar el servidor y restaurarlo desde una copia de seguridad confiable creada antes de la infección.
Usa una herramienta profesional: para garantizar la eliminación y la protección futura, apóyate en una solución como Huntress Managed EDR. Nuestro equipo del SOC, disponible 24/7, puede buscar, aislar y remediar amenazas como los webshells para que tú no tengas que hacerlo.
¿Sigue activo el webshell de PHP?
Definitivamente. Los webshells de PHP están más activos que nunca en 2025. Mientras existan aplicaciones PHP vulnerables en internet, los atacantes seguirán usando los webshells como herramienta predilecta para comprometer servidores. Evolucionan constantemente, con nuevas técnicas de ofuscación y funciones que aparecen todo el tiempo. Siguen siendo una herramienta fundamental en el arsenal tanto de hackers con pocas habilidades como de grupos APT sofisticados.
Estrategias de mitigación y prevención
No esperes a que ocurra una infección. Una defensa proactiva es tu mejor opción contra los webshells.
Mantén todo actualizado: aplica parches con regularidad a tu CMS, plugins, temas y software del servidor. Esto cierra las vulnerabilidades conocidas que tanto les gusta explotar a los atacantes.
Refuerza tu servidor: implementa permisos de archivos estrictos para evitar que el proceso del servidor web escriba en directorios no autorizados. Desactiva las funciones de PHP innecesarias que podrían ser explotadas.
Usa contraseñas seguras y MFA: exige autenticación multifactor y contraseñas complejas para todas las cuentas administrativas.
Valida las subidas de archivos: si tu sitio permite subir archivos, valida estrictamente los tipos de archivo y escanea todas las subidas en busca de código malicioso.
Implementa un firewall de aplicaciones web (WAF): un WAF puede ayudar a filtrar solicitudes maliciosas y bloquear intentos de explotar vulnerabilidades comunes.
Monitoreo continuo: la mejor defensa es un buen ataque. Usa una solución de detección y respuesta administrada 24/7 como Huntress ITDR para monitorear actividad sospechosa, detectar webshells y detener a los atacantes a tiempo. Nuestro equipo del SOC, liderado por personas, busca amenazas que las herramientas automatizadas por sí solas no pueden encontrar.
Preguntas frecuentes sobre webshell de PHP