Zum Hauptinhalt springen

CVE-2023_32784-Exploit-Werkzeug

Dieses Repository enthält den Quellcode eines Exploit-Werkzeugs zur Passwort-Wiederherstellung aus .dmp- und .kdbx-Dateien. Der Exploit nutzt die CVE-Schwachstelle aus diesem Repository.

Nur für Testzwecke

Dieses Werkzeug ist ausschließlich für Ausbildung und autorisierte Penetrationstests gedacht. Es gegen Systeme einzusetzen, für die du keine ausdrückliche Testerlaubnis hast, ist strafbar und unethisch.

Inhalt

Funktionen

Diese Umsetzung deckt folgende Funktionen ab:

  • Brute-Force: versucht das Passwort zu knacken, indem alle Kombinationen der ersten zwei Zeichen durchprobiert werden, während der Rest erhalten bleibt.
  • Kandidaten erzeugen: analysiert .dmp-Dateien und leitet mögliche Passwort-Kandidaten ab.
  • Logging: liefert ausführliche Protokolle zu Abläufen und Ergebnissen.

Loslegen

So kommst du mit dem Werkzeug los:

  1. Repository klonen:
git clone https://github.com/pascalnehlsen/2023_32784_exploit.git
cd 2023_32784_exploit
  1. Abhängigkeiten installieren:

Stelle sicher, dass Python 3 installiert ist. Die nötigen Pakete installierst du mit pip:

pip install -r requirements.txt

Beispiele

  1. Einen Ordner dumps anlegen:
mkdir dumps
  1. Deine .DMP- und .kdbx-Dateien in den Ordner legen

  2. Das Werkzeug ausführen:

python exploit.py
  • Der Befehl setzt voraus, dass im selben Verzeichnis ein Ordner dumps mit den .DMP- und .kdbx-Dateien liegt.

Beispielausgabe

Beim Ausführen zeigt das Werkzeug Fortschritt und Ergebnisse an:

Opened path/to/test1.DMP
Possible password: <password>
Brute-force first two characters -> <first_two> <-...
[SUCCESS] Password found: <successful_password>

Wird kein passendes Paar gefunden, weist die Ausgabe darauf hin:

No matching .DMP and .kdbx file pairs found.

Passwort-Speicherung

Wird ein Passwort gefunden, wird es in eine Datei result.pot geschrieben. Das Format je Eintrag:

<hash>:<password>
  • Hash: der SHA-256-Hash des gefundenen Passworts.
  • Password: das tatsächlich gefundene Passwort.

Logging

Die Logs gehen auf die Konsole. Die Log-Stufe lässt sich im Code ändern, wenn du die Ausführlichkeit anpassen willst. Standard ist INFO, für mehr Details kannst du DEBUG aktivieren.


Repository: https://github.com/PascalNehlsen/dso-python-tasks/tree/main/module-5/2023-32784-exploit