
PoC-Exploit für CVE-2012-2982 (Webmin RCE), zu Bildungszwecken.
Dieses Repository enthält einen Proof-of-Concept (PoC) Exploit für CVE-2012-2982, eine remote authentifizierte Befehlsausführungsschwachstelle, die Webmin-Versionen 1.590 und früher betrifft. Die Schwachstelle befindet sich im Endpunkt /file/show.cgi, wo ein Angreifer durch Injizieren von Sonderzeichen (wie dem Pipe-Symbol |) in einer manipulierten Anfrage beliebige Befehle ausführen kann.
Dieser PoC ist ausschließlich für Bildungs- und Sicherheitsforschungszwecke bestimmt. Die unbefugte Ausnutzung von Systemen ohne Erlaubnis ist illegal und unethisch.
Webmin ist ein beliebtes webbasiertes Systemadministrationstool für die Verwaltung von Unix-basierten Systemen. In Versionen 1.590 und früher besteht ein Sicherheitsfehler im Dateimanager-Modul. Das Problem entsteht durch unzureichende Bereinigung von Benutzereingaben bei der Interaktion mit dem /file/show.cgi-Skript. Durch das Injizieren von Shell-Metazeichen (|) kann ein authentifizierter Benutzer mit den Berechtigungen des Webmin-Prozesses (oft root) beliebige Befehle auf dem Zielsystem ausführen.
Betroffene Versionen: Webmin 1.590 und früher
Angriffsvoraussetzungen:
Der Angreifer muss gültige Webmin-Anmeldedaten besitzen (ein Konto mit niedrigen Privilegien reicht aus).
Das Dateimanager-Modul muss zugänglich sein.
Ausnutzung ermöglicht:
Remote-Codeausführung (RCE)
Privilegienerweiterung (wenn Webmin als root läuft)
Systemkompromittierung
Der angreifbare Endpunkt ist:
http://<target_ip>:10000/file/show.cgi
Der Angriff nutzt eine unzureichende Eingabevalidierung bei der Übergabe eines Dateipfads aus, was die Ausführung injizierter Shell-Befehle über | ermöglicht.
Dieses Repository enthält ein Python-Exploit-Skript, das Folgendes automatisiert:
Authentifizierung: Meldet sich mit den angegebenen Anmeldedaten bei Webmin an.
Session-ID-Extraktion: Ruft die für authentifizierte Anfragen erforderliche Session-ID ab.
Payload-Ausführung: Sendet eine schädliche Anfrage zur Ausführung beliebiger Befehle.
Zufälliger Ausführungspfad: Verwendet einen zufällig generierten Dateinamen, um der Erkennung zu entgehen.
Reverse-Shell-Unterstützung: Erzeugt einen Reverse-Shell-Payload, der eine Verbindung zum Rechner des Angreifers herstellt.
Fehlerbehandlung: Behandelt Anfragefehler ordnungsgemäß.
Modulares Design: Einfach zu modifizieren, um verschiedene Payloads zu testen.
Python 3
requests-Bibliothek (pip install requests)
Eine Webmin-Instanz (verwundbare Version) zum Testen (verwenden Sie eine kontrollierte Laborumgebung)
Verwendung:
python3 exploit.py <target_IP>
Beispiel:
python3 exploit.py 192.168.1.100
Angreifer-IP ( lhost ): 10.21.48.124
Angreifer-Port ( lport ): 1937
Ziel-Webmin-Anmeldedaten:
Benutzername: user1
Passwort: 1user
Bei Erfolg stellt der Exploit eine Reverse-Shell-Verbindung zum Rechner des Angreifers her.
Vor dem Ausführen des Exploits richten Sie einen Netcat-Listener auf Ihrem Angriffsrechner ein, um die Reverse-Shell zu empfangen:
nc -lvnp 1937
Sobald der Exploit erfolgreich ausgeführt wird, sollten Sie eine Shell-Verbindung vom Zielrechner erhalten.
Dieser PoC ist streng genommen nur für Sicherheitsforschung und Bildungszwecke gedacht. Er sollte ausschließlich in autorisierten Penetrationstest-Umgebungen verwendet werden. Die unbefugte Verwendung gegen Produktionssysteme ist ein Verstoß gegen Cybersicherheitsgesetze und kann rechtliche Konsequenzen haben.
Die Autoren sind nicht verantwortlich für jeglichen Missbrauch dieses Exploits. Verwenden Sie diesen PoC nur für legale Sicherheitstests und ethische Hacking-Aktivitäten.