
Bildungs-PoC für die CVE-2022-30190 (Follina) Schwachstelle.
Bildungsorientierte Malware-Entwicklung, Exploitation, Analyse und Mitigation
Ein vollständig dokumentierter Proof-of-Concept, der die Follina-Schwachstelle demonstriert – von der Social-Engineering-Zustellung über die Ausnutzung bis hin zur forensischen Analyse und Patch-Entwicklung.
⚠️ Nur zu Bildungszwecken. Alle Aktivitäten in diesem Repository wurden ausschließlich in einer isolierten VM-Lab-Umgebung im Rahmen des Moduls IE4012 Offensive Hacking Tactics & Strategies an der SLIIT durchgeführt. Nichts davon sollte außerhalb eines kontrollierten Labors verwendet werden. Testen Sie nicht gegen reale Systeme oder Netzwerke.
CVE-2022-30190, auch bekannt als Follina, ist eine Schwachstelle zur Remotecodeausführung im Microsoft Support Diagnostic Tool (MSDT). Sie wurde am 30. Mai 2022 öffentlich bekannt gegeben und erhielt einen CVSS-Score von 7,8 (Hoch). Der Exploit wird ausgelöst, wenn ein Opfer ein speziell präpariertes Microsoft-Office-Dokument öffnet – keine Makros erforderlich. Das Dokument ruft eine HTML-Nutzlast von einem angreiferkontrollierten HTTP-Server ab, die den URI-Protokollhandler ms-msdt: aufruft und über das PCWDiagnostic-Argument beliebige Befehle an das System übergibt.
SourceCode.zip/
├── PoC.py # Haupt-Exploit-Skript
├── patch.py # Mitigations-Patch-Skript
├── Invoice_FS-2026-8821_OVERDUE.docx # Generiertes bösartiges Word-Dokument
└── doc/ # Interne XML-Dateien aus der docx extrahiert
├── word/
│ ├── document.xml # Hauptdokumentrumpf
│ └── _rels/
│ └── document.xml.rels # Externer OLE-Verweis auf den Angreifer-Server
└── [Content_Types].xml
Der Köder ist eine Phishing-E-Mail, die sich als eine Rechnungsplattform namens FinanceSync ausgibt und behauptet, eine Rechnung sei überfällig. Der Anhang ist ein passwortgeschütztes Zip-Archiv (Invoice.zip), das das bösartige Word-Dokument enthält. Die Verwendung eines verschlüsselten Archivs umgeht die meisten E-Mail-Gateway-Scanner, da der Inhalt nicht überprüft werden kann.
Invoice_FS-2026-8821_OVERDUE.docx und startet einen HTTP-Server auf Port 8000word/_rels/document.xml.rels, der auf http://<angreifer_ip>:8000/index.html verweist2026-03-25). Wenn die Datumsbedingung nicht erfüllt ist, wird nichts ausgeführtms-msdt:-URI mit einem PCWDiagnostic-Argument ausgelöst, das einen cmd.exe-Befehl enthältWINWORD.EXE → msdt.exe → cmd.exe wird ausgeführt und schreibt sys_cache.dat nach C:\Users\Public\ als Nachweis der Kompromittierungpatch.py entfernt den ms-msdt-URI-Protokollhandler aus der Windows-Registrierung und unterbricht die Exploit-Kette auf der Ebene der URI-Auflösung, bevor angreiferkontrollierte Argumente MSDT erreichen können.
Angreifer-Maschine (Kali Linux)
Opfer-Maschine (Windows 10)
ms-msdt-Registrierungsschlüssel unter HKEY_CLASSES_ROOT vorhanden# Auf der Angreifer-Maschine
python3 PoC.py
Das Skript generiert das Word-Dokument und startet den HTTP-Server. Übertragen Sie das Dokument auf die Opfer-VM und öffnen Sie es. Das Angreifer-Terminal protokolliert die eingehende Anfrage von Word.
Das Patch-Skript muss als Administrator auf der Windows-Opfer-VM ausgeführt werden.
# Aktuellen Status prüfen
python patch.py --status
# Patch anwenden (entfernt den ms-msdt-Registrierungsschlüssel)
python patch.py --apply
# Auf verwundbaren Zustand zurücksetzen (für erneute Tests)
python patch.py --rollback
| Maschine | Rolle | IP-Adresse |
|---|---|---|
| Kali Linux VM | Angreifer – führt PoC.py aus | 192.168.56.10 |
| Windows 10 VM | Opfer – öffnet das Dokument | 192.168.56.20 |
Beide VMs waren über ein VirtualBox Host-Only Netzwerk ohne Internetzugang verbunden.
| Feld | Detail |
|---|
| CVE-ID | CVE-2022-30190 |
| Allgemeiner Name | Follina |
| CVSS-Score | 7,8 (Hoch) |
| CVSS-Vektor | AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Komponente | Microsoft Support Diagnostic Tool (MSDT) |
| Betroffene Versionen | Windows 7 – 11 / Server 2008 R2 – 2022 |
| Bekannt gegeben | 30. Mai 2022 |
| Offizieller Patch | KB5014697 (Juni 2022 Patch Tuesday) |
| Test | Vor dem Patch | Nach dem Patch |
|---|
| ms-msdt-Registrierungsschlüssel vorhanden | Ja (VERWUNDBAR) | Nein (MITIGIERT) |
| HTTP-Anfrage von Word ausgeführt | Ja | Ja (unverändert) |
| msdt.exe gestartet | Ja | Nein |
| cmd.exe gestartet | Ja | Nein |
| sys_cache.dat erstellt | Ja | Nein |
| Exploit erfolgreich | Ja | Nein |