
Ein Proof-of-Concept für CVE-2025-31161, unter Verwendung eines manipulierten HTTP-Headers, um eine nicht authentifizierte Identitätsübernahme jedes Benutzers im Crush FTP-Server durchzuführen.
Warnung: Dieses Tool ist nur für autorisierte Sicherheitstests und zu Bildungszwecken bestimmt. Die unbefugte Nutzung gegen Systeme, für die Sie keine ausdrückliche Genehmigung zum Testen haben, ist illegal.
Dieses Tool ist ein Proof-of-Concept (PoC) für CVE-2025-31161, eine kritische Umgehung der Authentifizierung in CrushFTP (Versionen < 10.8.4 und < 11.3.1). Die Schwachstelle nutzt einen Logikfehler in der Analyse des AWS4-HMAC-Headers aus, bei dem ein verstümmelter Header eine IndexOutOfBounds-Ausnahme auslöst. Diese Ausnahme verhindert, dass der Server die Sitzung bereinigt, wodurch der Benutzer effektiv als das angeforderte Konto ohne Passwort authentifiziert bleibt.
Credential=user/) verursacht eine unbehandelte Java-Ausnahme, die die Sitzungsbereinigung umgeht.requests-Bibliothekpip install requests
Das Skript arbeitet in zwei Modi: Prüfung (Beobachtung) und Exploit (Aktion).
Überprüft, ob das Ziel verwundbar ist, indem versucht wird, ein Sitzungscookie für das Standard-Administratorkonto zu erlangen. Dies ändert nichts am Zielsystem.
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080Übernimmt eine Sitzung für den angegebenen Administratorbenutzer und verwendet sie, um ein neues Administratorkonto in die Gruppe MainUsers einzufügen.
python3 exploit.py exploit -u <target_ip> -p <port> -a <admin_user> -nu <new_username> -np <new_password>
python3 exploit.py exploit -u 192.168.1.50 -p 8080 -a crushadmin -nu operator -np StrongPass123!| Flagge | Name | Beschreibung | Standard |
|---|
-u | --url | Ziel-IP-Adresse oder Hostname | Erforderlich |
-p | --port | Zielport | 8080 |
-a | --admin_user | Vorhandenes Administratorkonto, das imitiert werden soll | crushadmin |
-nu | --new_user | Benutzername für das neue Administratorkonto | Erforderlich |
-np | --new_password | Passwort für das neue Administratorkonto | Erforderlich |