
CVE-2021-41773 | Apache HTTP Server 2.4.49 es vulnerable a ataques de Path Traversal y Ejecución Remota de Código.
CVE-2021-41773 Según la National Vulnerability Database (NVD) CVE-2021-41773, Apache HTTP Server 2.4.49 es vulnerable a ataques de Path Traversal y de ejecución remota de código.
La vulnerabilidad de Path Traversal se introdujo debido al nuevo cambio de código añadido para la normalización de rutas, es decir, para eliminar partes no deseadas o peligrosas del pathname,
pero no era suficiente para detectar diferentes técnicas de codificación de los caracteres de Path Traversal “dot-dot-slash (../)” Para prevenir ataques de Path Traversal, la función de normalización, que se encarga de resolver los valores codificados en la URL de la URI solicitada, resolvía los valores Unicode uno a la vez. Por lo tanto, al codificar en la URL el segundo punto como %2e, la lógica no reconoce %2e como un punto y no lo decodifica; esto convierte los caracteres ../ en .%2e/ y evita la comprobación.
Además de la omisión de la comprobación de Path Traversal, para que un servidor HTTP Apache sea vulnerable, la configuración del servidor HTTP debe contener la directiva directory para todo el sistema de archivos del servidor como Require all granted, o la directiva directory debe estar completamente ausente del archivo de configuración. Por lo tanto, omitir la comprobación dot-dot como .%2e y combinarlo con una directiva directory mal configurada permite a un atacante leer archivos arbitrarios, como passwd, del sistema de archivos del servidor vulnerable.
Aunque CVE-2021-41773 se documentó inicialmente como una vulnerabilidad de Path Traversal y divulgación de archivos, investigaciones adicionales concluyeron que la vulnerabilidad puede explotarse aún más para llevar a cabo una ejecución remota de código cuando el módulo mod_cgi está habilitado en el servidor HTTP Apache; esto permite a un atacante aprovechar la vulnerabilidad de Path Traversal y llamar a cualquier binario del sistema mediante peticiones HTTP POST.
está deshabilitado en el servidor HTTP Apache al comentar la línea anterior en el archivo de configuración. Por lo tanto, cuando mod_cgi está habilitado y la configuración “Require all granted” se aplica a la directiva directory del sistema de archivos, un atacante puede ejecutar comandos de forma remota en el servidor Apache.
#Cómo reproducir
docker run -dit --name Apache -p 83:80 b0x
#Inicie sesión en el contenedor y ejecute lo siguiente
cp /bin/sh /usr/bin/
ruby CVE-2021-41773.rb
# c c wWw wWw -2021-41773
# (OO) (O) (O) wWw
# ,'.--.) ( / ) (O)_
# / //_|_ / / .' __)
# | ___ / / ( _)
# '. ) `--' / `.__)
# `-.' `-..-'
# Author:Habib
# ruby CVE-2021-41773.rb target_url dir command
# ruby CVE-2021-41773.rb http://localhost bin/sh whoami
ruby CVE-2121-41773.rb http://localhost:83
Target: http://localhost:83 is vulnerable
Command:
ruby CVE-2121-41773.rb http://localhost:83 bin/sh id Target: http://localhost:83 is vulnerable
Command: uid=1(daemon) gid=1(daemon) groups=1(daemon)