WEAPONIZING-CVE-2024-4367
CVE-2024-4367 ist eine kritische Schwachstelle (CVSS 9.8) in PDF.js, die die Ausführung beliebigen JavaScript-Codes aufgrund unzureichender Typprüfungen des FontMatrix-Objekts in PDF-Dateien ermöglicht.
CVE-2024-4367 Exploit-Assistent: Benutzerhandbuch
| CVE-KENNUNG | CVE-2024-4367 |
|---|
| SCHWEREGRAD | Kritisch (CVSS-Score: 9.8) |
| SCHWACHSTELLE | Ausführung beliebigen JavaScript-Codes in PDF.js aufgrund unzureichender Typprüfungen des FontMatrix-Objekts |
| AUSNUTZUNG | Böswillig erstellte PDF-Dateien können JavaScript im Browser des Opfers ausführen, was zu Datendiebstahl, XSS oder RCE führt. |
1. Einrichtung der Umgebung
Voraussetzungen
-
Betriebssystem:
- Eine Debian/Ubuntu-basierte Linux-Distribution oder ein Äquivalent mit Administratorrechten.
- Stellen Sie sicher, dass Python 3.x installiert ist (
python3 --version).
-
Skript-Einrichtung:
- Speichern Sie das Exploit-Skript in einem Verzeichnis Ihrer Wahl (z. B.
~/cve-2024-4367/) unter dem Dateinamen cve_2024_4367_exploit_wizard.py.
-
PDF-Vorlage:
- Platzieren Sie eine harmlose PDF-Datei mit dem Namen
template.pdf im selben Verzeichnis. Diese Datei dient als Basis für die bösartige PDF.
-
Social Engineering Toolkit (SET):
- Installieren Sie SET (Social Engineering Toolkit):
sudo apt-get update
sudo apt-get install set
- Überprüfen Sie die Installation mit:
2. Ausführen des Exploit-Assistenten
Schritt 1: Skript ausführbar machen (optional)
Erteilen Sie dem Skript Ausführungsrechte:
chmod +x cve_2024_4367_exploit_wizard.py
Schritt 2: Skript ausführen
Führen Sie das Skript mit einer der folgenden Methoden aus:
./cve_2024_4367_exploit_wizard.py
oder
python3 cve_2024_4367_exploit_wizard.py
Schritt 3: Bildschirmaufforderungen folgen
Das Skript führt Sie Schritt für Schritt durch den Angriffsprozess.
3. Schritt-für-Schritt-Assistenten-Workflow
Schritt 1: Abhängigkeiten überprüfen und installieren
- Das Skript prüft automatisch auf:
- PyPDF2: Erforderlich für die Manipulation von PDFs.
- SET: Wird für Phishing-Kampagnen verwendet.
- Fehlende Abhängigkeiten werden automatisch installiert (oder zur manuellen Installation aufgefordert).
Schritt 2: Bösartige PDF erstellen
- Das Skript injiziert eine JavaScript-Nutzlast in das
/FontMatrix-Feld der template.pdf.
- Die Ausgabedatei
malicious.pdf wird im selben Verzeichnis gespeichert.
- Erfolg oder Fehlschlag wird angezeigt.
Schritt 3: Kampagnenziele verwalten
- Fügen Sie Ziel-E-Mail-Adressen (oder Kennungen) interaktiv hinzu.
- Geben Sie jede Ziel-E-Mail-Adresse einzeln ein.
- Schließen Sie die Liste ab, indem Sie
done eingeben.
- Das Skript integriert sich in SET, um die bösartige PDF per Phishing zuzustellen.
- Folgen Sie den SET-Aufforderungen zur Konfiguration der Kampagne:
- E-Mail-Vorlagen einrichten.
malicious.pdf anhängen.
- Beenden Sie SET, um zum Assistenten zurückzukehren.
Schritt 5: Bösartige PDF hosten
- Das Skript startet einen HTTP-Server unter
http://localhost:8080.
malicious.pdf ist zum Download verfügbar.
- Vom Payload exfiltrierte Daten (z. B.
document.cookie) werden in der Konsole des Skripts protokolliert.
4. Testen des Exploits
Validierung in einer kontrollierten Umgebung
- Öffnen Sie
malicious.pdf in einer verwundbaren Version von PDF.js oder einer Sandbox-VM.
- Überwachen Sie die Serverprotokolle, um die Ausführung des Payloads und die Datenexfiltration zu bestätigen.
Exfiltrationsprotokolle beobachten
- Vom Payload übermittelte Daten (z. B. Cookies) werden wie folgt protokolliert:
[+] Exfiltrierte Daten: session_id=abcd1234; auth_token=xyz987
Payload für zusätzliche Tests ändern
- Passen Sie den Payload für Aktionen wie Keylogging oder Weiterleitung an.
- Testen Sie die Fähigkeit Ihrer Umgebung, diese Bedrohungen zu erkennen oder zu entschärfen.
5. Bereinigung und Aufgaben nach der Ausführung
Lokalen Server stoppen
Beenden Sie den HTTP-Server mit Ctrl+C im Terminal.
Bösartige Assets sichern
- Löschen oder speichern Sie
malicious.pdf sicher, um versehentlichen Missbrauch zu verhindern.
- Archivieren Sie alle Protokolle oder Kampagnendaten sicher.
Testumgebung zurücksetzen
- Wenn Sie eine virtuelle Maschine verwenden, stellen Sie einen sauberen Snapshot wieder her.
- Stellen Sie sicher, dass keine bösartigen Artefakte auf dem System verbleiben.
6. Wichtige Hinweise und rechtlicher Haftungsausschluss
Nur für autorisierte Nutzung
- Dieses Skript und dieses Handbuch sind für Bildungszwecke und autorisierte Penetrationstests in kontrollierten Umgebungen bestimmt.
- Unautorisierte Nutzung ist illegal und kann schwerwiegende rechtliche Konsequenzen haben.
- Holen Sie immer eine ausdrückliche Genehmigung ein, bevor Sie Exploit-Tests durchführen.
Sicherung Ihrer Systeme
-
PDF.js aktualisieren:
- Stellen Sie sicher, dass die neueste Version von PDF.js installiert ist, um CVE-2024-4367 zu patchen.
-
JavaScript in PDFs einschränken:
- Deaktivieren Sie die JavaScript-Ausführung in PDF-Viewern, wann immer möglich.
-
Endpunktschutz implementieren:
- Verwenden Sie robuste Endpunkterkennungs- und Reaktionstools.
-
Benutzer schulen:
- Schulen Sie Mitarbeiter darin, Phishing-Versuche zu erkennen und unverifizierte PDFs nicht zu öffnen.
Wenn Sie dieses Handbuch verantwortungsvoll befolgen, können Sie reale Angriffsszenarien effektiv simulieren und Ihre Cybersicherheitsabwehr stärken.