
Python-POC für CVE-2012-2982, verbessert gegenüber dem Original von Benutzer @OstojaOfficial
Python-PoC für CVE-2012-2982 (Webmin 1.580), verbessert gegenüber dem Original vom Benutzer OstojaOfficial
Dies ist eine verbesserte Version des Originalskripts, die es dem Benutzer ermöglicht, das Eingabeformat der Daten zu sehen, ohne das gesamte Skript durchsuchen zu müssen. Dazu wurde dieser Codeabschnitt einfach an den Anfang verschoben:

Gleichzeitig wird eine Ausgabeanweisung hinzugefügt, um zu verhindern, dass das Skript weiterläuft (sys.exit(1)).
Außerdem wird die Möglichkeit hinzugefügt, dass der Benutzer den Port angeben kann, auf dem der Webmin 1.580-Dienst läuft, sobald er den Exploit aufruft.

Da eine neue Eingabe hinzugefügt wurde, werden alle anderen Daten geändert, ebenso wie die Abfrage-URL für die Anmeldung und das Ausnutzen der Sicherheitslücke.

Schließlich wird die Hauptfunktionalität hinzugefügt, die das Skript ausführt, wenn alle Daten korrekt empfangen werden.

HINWEIS: Denken Sie daran, vor der Ausführung des Skripts die erforderlichen Bibliotheken zu installieren. Geben Sie dazu einfach in einer Konsole ein:
pip3 install -r requirements.txt
Falls Sie pip3 noch nie verwendet haben, sollten Sie es mit dem folgenden Befehl installieren:
apt install python3-pip
Wenn beim erneuten Installieren der requirements.txt der folgende Fehler auftritt:

Führen Sie den folgenden Befehl aus, um dies zu beheben. Der Fehler tritt auf, weil ldap nicht im System installiert ist.
apt-get install build-essential python3-dev python2.7-dev \
libldap2-dev libsasl2-dev slapd ldap-utils tox \
lcov valgrind