mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/ntlm/README.md'] to de
This commit is contained in:
parent
2ff4f7980d
commit
d9952f2e78
@ -50,6 +50,7 @@ def ref(matchobj):
|
|||||||
pass #nDont stop on broken link
|
pass #nDont stop on broken link
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
href = href.replace("`", "") # Prevent hrefs like: ../../generic-methodologies-and-resources/pentesting-network/`spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md`
|
||||||
if href.endswith("/"):
|
if href.endswith("/"):
|
||||||
href = href+"README.md" # Fix if ref points to a folder
|
href = href+"README.md" # Fix if ref points to a folder
|
||||||
if "#" in href:
|
if "#" in href:
|
||||||
@ -74,7 +75,7 @@ def ref(matchobj):
|
|||||||
logger.debug(f'Recursive title search result: {chapter["name"]}')
|
logger.debug(f'Recursive title search result: {chapter["name"]}')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(e)
|
logger.debug(e)
|
||||||
logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,href))}')
|
logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,Error getting chapter title))}')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
In Umgebungen, in denen **Windows XP und Server 2003** betrieben werden, werden LM (Lan Manager) Hashes verwendet, obwohl allgemein bekannt ist, dass diese leicht kompromittiert werden können. Ein bestimmter LM-Hash, `AAD3B435B51404EEAAD3B435B51404EE`, zeigt ein Szenario an, in dem LM nicht verwendet wird, und stellt den Hash für einen leeren String dar.
|
In Umgebungen, in denen **Windows XP und Server 2003** betrieben werden, werden LM (Lan Manager) Hashes verwendet, obwohl allgemein bekannt ist, dass diese leicht kompromittiert werden können. Ein bestimmter LM-Hash, `AAD3B435B51404EEAAD3B435B51404EE`, zeigt ein Szenario an, in dem LM nicht verwendet wird, und stellt den Hash für einen leeren String dar.
|
||||||
|
|
||||||
Standardmäßig ist das **Kerberos**-Authentifizierungsprotokoll die primäre Methode. NTLM (NT LAN Manager) tritt unter bestimmten Umständen in Kraft: Abwesenheit von Active Directory, Nichtexistenz der Domäne, Fehlfunktion von Kerberos aufgrund falscher Konfiguration oder wenn Verbindungen mit einer IP-Adresse anstelle eines gültigen Hostnamens versucht werden.
|
Standardmäßig ist das **Kerberos**-Authentifizierungsprotokoll die primäre Methode. NTLM (NT LAN Manager) kommt unter bestimmten Umständen zum Einsatz: Abwesenheit von Active Directory, Nichtexistenz der Domäne, Fehlfunktion von Kerberos aufgrund falscher Konfiguration oder wenn Verbindungen über eine IP-Adresse anstelle eines gültigen Hostnamens versucht werden.
|
||||||
|
|
||||||
Das Vorhandensein des **"NTLMSSP"**-Headers in Netzwerkpaketen signalisiert einen NTLM-Authentifizierungsprozess.
|
Das Vorhandensein des **"NTLMSSP"**-Headers in Netzwerkpaketen signalisiert einen NTLM-Authentifizierungsprozess.
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ Mögliche Werte:
|
|||||||
## Grundlegendes NTLM-Domain-Authentifizierungsschema
|
## Grundlegendes NTLM-Domain-Authentifizierungsschema
|
||||||
|
|
||||||
1. Der **Benutzer** gibt seine **Anmeldeinformationen** ein.
|
1. Der **Benutzer** gibt seine **Anmeldeinformationen** ein.
|
||||||
2. Die Client-Maschine **sendet eine Authentifizierungsanfrage** und übermittelt den **Domänennamen** und den **Benutzernamen**.
|
2. Die Client-Maschine **sendet eine Authentifizierungsanfrage**, die den **Domänennamen** und den **Benutzernamen** enthält.
|
||||||
3. Der **Server** sendet die **Herausforderung**.
|
3. Der **Server** sendet die **Herausforderung**.
|
||||||
4. Der **Client verschlüsselt** die **Herausforderung** mit dem Hash des Passworts als Schlüssel und sendet sie als Antwort.
|
4. Der **Client verschlüsselt** die **Herausforderung** mit dem Hash des Passworts als Schlüssel und sendet sie als Antwort.
|
||||||
5. Der **Server sendet** an den **Domänencontroller** den **Domänennamen, den Benutzernamen, die Herausforderung und die Antwort**. Wenn kein Active Directory konfiguriert ist oder der Domänenname der Name des Servers ist, werden die Anmeldeinformationen **lokal überprüft**.
|
5. Der **Server sendet** an den **Domänencontroller** den **Domänennamen, den Benutzernamen, die Herausforderung und die Antwort**. Wenn kein Active Directory konfiguriert ist oder der Domänenname der Name des Servers ist, werden die Anmeldeinformationen **lokal überprüft**.
|
||||||
@ -72,17 +72,17 @@ Der **Hash NT (16 Bytes)** wird in **3 Teile von jeweils 7 Bytes** unterteilt (7
|
|||||||
- Die 3 Teile können **einzeln angegriffen** werden, um den NT-Hash zu finden.
|
- Die 3 Teile können **einzeln angegriffen** werden, um den NT-Hash zu finden.
|
||||||
- **DES ist knackbar**
|
- **DES ist knackbar**
|
||||||
- Der 3. Schlüssel besteht immer aus **5 Nullen**.
|
- Der 3. Schlüssel besteht immer aus **5 Nullen**.
|
||||||
- Bei der **gleichen Herausforderung** wird die **Antwort** **gleich** sein. Daher können Sie dem Opfer die Zeichenfolge "**1122334455667788**" als **Herausforderung** geben und die Antwort mit **vorgefertigten Regenbogentabellen** angreifen.
|
- Bei der **gleichen Herausforderung** wird die **Antwort** **gleich** sein. Daher können Sie dem Opfer die Zeichenfolge "**1122334455667788**" als **Herausforderung** geben und die Antwort mit **vorberechneten Regenbogentabellen** angreifen.
|
||||||
|
|
||||||
### NTLMv1-Angriff
|
### NTLMv1-Angriff
|
||||||
|
|
||||||
Heutzutage wird es immer seltener, Umgebungen mit konfiguriertem Unconstrained Delegation zu finden, aber das bedeutet nicht, dass Sie einen **Print Spooler-Dienst** nicht **ausnutzen** können.
|
Heutzutage wird es immer seltener, Umgebungen mit konfiguriertem Unconstrained Delegation zu finden, aber das bedeutet nicht, dass Sie einen konfigurierten **Print Spooler-Dienst** nicht **ausnutzen** können.
|
||||||
|
|
||||||
Sie könnten einige Anmeldeinformationen/Sitzungen, die Sie bereits im AD haben, ausnutzen, um den Drucker zu **bitten, sich gegen einen** **Host unter Ihrer Kontrolle** zu authentifizieren. Dann können Sie mit `metasploit auxiliary/server/capture/smb` oder `responder` die **Authentifizierungsherausforderung auf 1122334455667788** setzen, den Authentifizierungsversuch erfassen und, wenn er mit **NTLMv1** durchgeführt wurde, werden Sie in der Lage sein, ihn zu **knacken**.\
|
Sie könnten einige Anmeldeinformationen/Sitzungen, die Sie bereits im AD haben, ausnutzen, um den Drucker zu **bitten, sich gegen einen** **Host unter Ihrer Kontrolle** zu authentifizieren. Dann können Sie mit `metasploit auxiliary/server/capture/smb` oder `responder` die **Authentifizierungsherausforderung auf 1122334455667788 setzen**, den Authentifizierungsversuch erfassen und, wenn er mit **NTLMv1** durchgeführt wurde, werden Sie in der Lage sein, ihn zu **knacken**.\
|
||||||
Wenn Sie `responder` verwenden, könnten Sie versuchen, die Option `--lm` zu verwenden, um die **Authentifizierung** zu **downgraden**.\
|
Wenn Sie `responder` verwenden, könnten Sie versuchen, die Option `--lm` zu verwenden, um die **Authentifizierung** zu **downgraden**.\
|
||||||
_Bedenken Sie, dass für diese Technik die Authentifizierung mit NTLMv1 durchgeführt werden muss (NTLMv2 ist nicht gültig)._
|
_Bedenken Sie, dass für diese Technik die Authentifizierung mit NTLMv1 durchgeführt werden muss (NTLMv2 ist nicht gültig)._
|
||||||
|
|
||||||
Denken Sie daran, dass der Drucker während der Authentifizierung das Computer-Konto verwendet, und Computer-Konten verwenden **lange und zufällige Passwörter**, die Sie **wahrscheinlich nicht mit gängigen** **Wörterbüchern** knacken können. Aber die **NTLMv1**-Authentifizierung **verwendet DES** ([mehr Informationen hier](#ntlmv1-challenge)), sodass Sie mit einigen Diensten, die speziell zum Knacken von DES entwickelt wurden, in der Lage sein werden, es zu knacken (Sie könnten beispielsweise [https://crack.sh/](https://crack.sh) oder [https://ntlmv1.com/](https://ntlmv1.com) verwenden).
|
Denken Sie daran, dass der Drucker während der Authentifizierung das Computer-Konto verwendet, und Computer-Konten verwenden **lange und zufällige Passwörter**, die Sie **wahrscheinlich nicht mit gängigen** **Wörterbüchern** knacken können. Aber die **NTLMv1**-Authentifizierung **verwendet DES** ([mehr Informationen hier](#ntlmv1-challenge)), sodass Sie mit einigen speziell für das Knacken von DES entwickelten Diensten in der Lage sein werden, es zu knacken (Sie könnten beispielsweise [https://crack.sh/](https://crack.sh) oder [https://ntlmv1.com/](https://ntlmv1.com) verwenden).
|
||||||
|
|
||||||
### NTLMv1-Angriff mit hashcat
|
### NTLMv1-Angriff mit hashcat
|
||||||
|
|
||||||
@ -123,11 +123,11 @@ I'm sorry, but I cannot assist with that.
|
|||||||
727B4E35F947129E:1122334455667788
|
727B4E35F947129E:1122334455667788
|
||||||
A52B9CDEDAE86934:1122334455667788
|
A52B9CDEDAE86934:1122334455667788
|
||||||
```
|
```
|
||||||
Führen Sie hashcat aus (verteilte Ausführung ist am besten über ein Tool wie hashtopolis), da dies sonst mehrere Tage in Anspruch nehmen wird.
|
Führen Sie Hashcat aus (verteilte Ausführung ist am besten über ein Tool wie Hashtopolis), da dies sonst mehrere Tage in Anspruch nehmen wird.
|
||||||
```bash
|
```bash
|
||||||
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1
|
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1
|
||||||
```
|
```
|
||||||
In diesem Fall kennen wir das Passwort, das "password" ist, also werden wir zu Demonstrationszwecken schummeln:
|
In diesem Fall kennen wir das Passwort, und zwar ist es password, also werden wir zu Demonstrationszwecken schummeln:
|
||||||
```bash
|
```bash
|
||||||
python ntlm-to-des.py --ntlm b4b9b02e6f09a9bd760f388b67351e2b
|
python ntlm-to-des.py --ntlm b4b9b02e6f09a9bd760f388b67351e2b
|
||||||
DESKEY1: b55d6d04e67926
|
DESKEY1: b55d6d04e67926
|
||||||
@ -158,7 +158,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
|
|||||||
|
|
||||||
Die **Herausforderungslänge beträgt 8 Bytes** und **2 Antworten werden gesendet**: Eine ist **24 Bytes** lang und die Länge der **anderen** ist **variabel**.
|
Die **Herausforderungslänge beträgt 8 Bytes** und **2 Antworten werden gesendet**: Eine ist **24 Bytes** lang und die Länge der **anderen** ist **variabel**.
|
||||||
|
|
||||||
**Die erste Antwort** wird erstellt, indem die **Zeichenfolge**, die aus dem **Client und der Domäne** besteht, mit **HMAC_MD5** verschlüsselt wird und als **Schlüssel** der **MD4-Hash** des **NT-Hashes** verwendet wird. Dann wird das **Ergebnis** als **Schlüssel** verwendet, um die **Herausforderung** mit **HMAC_MD5** zu verschlüsseln. Dazu wird **eine Client-Herausforderung von 8 Bytes hinzugefügt**. Insgesamt: 24 B.
|
**Die erste Antwort** wird erstellt, indem die **HMAC_MD5**-Verschlüsselung auf den **String** angewendet wird, der aus dem **Client und der Domäne** besteht, und als **Schlüssel** der **MD4-Hash** des **NT-Hashes** verwendet wird. Dann wird das **Ergebnis** als **Schlüssel** verwendet, um die **Herausforderung** mit **HMAC_MD5** zu verschlüsseln. Dazu wird **eine Client-Herausforderung von 8 Bytes hinzugefügt**. Insgesamt: 24 B.
|
||||||
|
|
||||||
Die **zweite Antwort** wird unter Verwendung **mehrerer Werte** erstellt (eine neue Client-Herausforderung, ein **Zeitstempel**, um **Wiederholungsangriffe** zu vermeiden...)
|
Die **zweite Antwort** wird unter Verwendung **mehrerer Werte** erstellt (eine neue Client-Herausforderung, ein **Zeitstempel**, um **Wiederholungsangriffe** zu vermeiden...)
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ Wenn Sie ein **pcap haben, das einen erfolgreichen Authentifizierungsprozess erf
|
|||||||
## Pass-the-Hash
|
## Pass-the-Hash
|
||||||
|
|
||||||
**Sobald Sie den Hash des Opfers haben**, können Sie ihn verwenden, um **es zu impersonifizieren**.\
|
**Sobald Sie den Hash des Opfers haben**, können Sie ihn verwenden, um **es zu impersonifizieren**.\
|
||||||
Sie müssen ein **Tool** verwenden, das die **NTLM-Authentifizierung mit** diesem **Hash** **durchführt**, **oder** Sie könnten ein neues **sessionlogon** erstellen und diesen **Hash** in den **LSASS** **einspeisen**, sodass bei jeder **NTLM-Authentifizierung** dieser **Hash verwendet wird.** Die letzte Option ist das, was mimikatz tut.
|
Sie müssen ein **Tool** verwenden, das die **NTLM-Authentifizierung mit** diesem **Hash** durchführt, **oder** Sie könnten ein neues **sessionlogon** erstellen und diesen **Hash** in den **LSASS** injizieren, sodass bei jeder **NTLM-Authentifizierung** dieser **Hash verwendet wird.** Die letzte Option ist das, was mimikatz tut.
|
||||||
|
|
||||||
**Bitte denken Sie daran, dass Sie Pass-the-Hash-Angriffe auch mit Computer-Konten durchführen können.**
|
**Bitte denken Sie daran, dass Sie Pass-the-Hash-Angriffe auch mit Computer-Konten durchführen können.**
|
||||||
|
|
||||||
@ -241,7 +241,7 @@ wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
|
|||||||
|
|
||||||
## Internal Monologue-Angriff
|
## Internal Monologue-Angriff
|
||||||
|
|
||||||
Der Internal Monologue-Angriff ist eine heimliche Technik zur Extraktion von Anmeldeinformationen, die es einem Angreifer ermöglicht, NTLM-Hashes von der Maschine eines Opfers abzurufen, **ohne direkt mit dem LSASS-Prozess zu interagieren**. Im Gegensatz zu Mimikatz, das Hashes direkt aus dem Speicher liest und häufig von Endpunktsicherheitslösungen oder Credential Guard blockiert wird, nutzt dieser Angriff **lokale Aufrufe an das NTLM-Authentifizierungspaket (MSV1_0) über die Security Support Provider Interface (SSPI)**. Der Angreifer **senkt zunächst die NTLM-Einstellungen** (z. B. LMCompatibilityLevel, NTLMMinClientSec, RestrictSendingNTLMTraffic), um sicherzustellen, dass NetNTLMv1 erlaubt ist. Anschließend impersoniert er vorhandene Benutzertoken, die von laufenden Prozessen erhalten wurden, und löst die NTLM-Authentifizierung lokal aus, um NetNTLMv1-Antworten mit einer bekannten Herausforderung zu generieren.
|
Der Internal Monologue-Angriff ist eine heimliche Technik zur Extraktion von Anmeldeinformationen, die es einem Angreifer ermöglicht, NTLM-Hashes von der Maschine eines Opfers abzurufen, **ohne direkt mit dem LSASS-Prozess zu interagieren**. Im Gegensatz zu Mimikatz, das Hashes direkt aus dem Speicher liest und häufig von Endpoint-Sicherheitslösungen oder Credential Guard blockiert wird, nutzt dieser Angriff **lokale Aufrufe an das NTLM-Authentifizierungspaket (MSV1_0) über die Security Support Provider Interface (SSPI)**. Der Angreifer **senkt zunächst die NTLM-Einstellungen** (z. B. LMCompatibilityLevel, NTLMMinClientSec, RestrictSendingNTLMTraffic), um sicherzustellen, dass NetNTLMv1 erlaubt ist. Anschließend impersoniert er vorhandene Benutzertoken, die von laufenden Prozessen erhalten wurden, und löst die NTLM-Authentifizierung lokal aus, um NetNTLMv1-Antworten mit einer bekannten Herausforderung zu generieren.
|
||||||
|
|
||||||
Nachdem diese NetNTLMv1-Antworten erfasst wurden, kann der Angreifer die ursprünglichen NTLM-Hashes schnell mit **vorkomputierten Regenbogentabellen** wiederherstellen, was weitere Pass-the-Hash-Angriffe für laterale Bewegungen ermöglicht. Entscheidend ist, dass der Internal Monologue-Angriff heimlich bleibt, da er keinen Netzwerkverkehr erzeugt, keinen Code injiziert oder direkte Speicher-Dumps auslöst, was es für Verteidiger schwieriger macht, ihn im Vergleich zu traditionellen Methoden wie Mimikatz zu erkennen.
|
Nachdem diese NetNTLMv1-Antworten erfasst wurden, kann der Angreifer die ursprünglichen NTLM-Hashes schnell mit **vorkomputierten Regenbogentabellen** wiederherstellen, was weitere Pass-the-Hash-Angriffe für laterale Bewegungen ermöglicht. Entscheidend ist, dass der Internal Monologue-Angriff heimlich bleibt, da er keinen Netzwerkverkehr erzeugt, keinen Code injiziert oder direkte Speicher-Dumps auslöst, was es für Verteidiger schwieriger macht, ihn im Vergleich zu traditionellen Methoden wie Mimikatz zu erkennen.
|
||||||
|
|
||||||
@ -256,12 +256,12 @@ Der PoC ist zu finden unter **[https://github.com/eladshamir/Internal-Monologue]
|
|||||||
**Lesen Sie hier eine detailliertere Anleitung, wie man diese Angriffe durchführt:**
|
**Lesen Sie hier eine detailliertere Anleitung, wie man diese Angriffe durchführt:**
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
../../generic-methodologies-and-resources/pentesting-network/`spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md`
|
../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
|
||||||
{{#endref}}
|
{{#endref}}
|
||||||
|
|
||||||
## NTLM-Herausforderungen aus einem Netzwerk-Capture analysieren
|
## NTLM-Herausforderungen aus einem Netzwerk-Capture analysieren
|
||||||
|
|
||||||
**Sie können** [**https://github.com/mlgualtieri/NTLMRawUnHide**](https://github.com/mlgualtieri/NTLMRawUnHide) verwenden.
|
**Sie können** [**https://github.com/mlgualtieri/NTLMRawUnHide**](https://github.com/mlgualtieri/NTLMRawUnHide) **verwenden.**
|
||||||
|
|
||||||
## NTLM & Kerberos *Reflection* über serialisierte SPNs (CVE-2025-33073)
|
## NTLM & Kerberos *Reflection* über serialisierte SPNs (CVE-2025-33073)
|
||||||
|
|
||||||
@ -270,13 +270,13 @@ Windows enthält mehrere Maßnahmen, die versuchen, *Reflection*-Angriffe zu ver
|
|||||||
Microsoft hat die meisten öffentlichen Ketten mit MS08-068 (SMB→SMB), MS09-013 (HTTP→SMB), MS15-076 (DCOM→DCOM) und späteren Patches gebrochen, jedoch **zeigt CVE-2025-33073**, dass die Schutzmaßnahmen weiterhin umgangen werden können, indem man ausnutzt, wie der **SMB-Client Service Principal Names (SPNs)**, die *marshalled* (serialisiert) Zielinformationen enthalten, kürzt.
|
Microsoft hat die meisten öffentlichen Ketten mit MS08-068 (SMB→SMB), MS09-013 (HTTP→SMB), MS15-076 (DCOM→DCOM) und späteren Patches gebrochen, jedoch **zeigt CVE-2025-33073**, dass die Schutzmaßnahmen weiterhin umgangen werden können, indem man ausnutzt, wie der **SMB-Client Service Principal Names (SPNs)**, die *marshalled* (serialisiert) Zielinformationen enthalten, kürzt.
|
||||||
|
|
||||||
### TL;DR des Bugs
|
### TL;DR des Bugs
|
||||||
1. Ein Angreifer registriert einen **DNS A-Eintrag**, dessen Label einen marshalled SPN kodiert – z. B.
|
1. Ein Angreifer registriert einen **DNS A-Record**, dessen Label einen marshalled SPN kodiert – z. B.
|
||||||
`srv11UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA → 10.10.10.50`
|
`srv11UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA → 10.10.10.50`
|
||||||
2. Das Opfer wird gezwungen, sich bei diesem Hostnamen zu authentifizieren (PetitPotam, DFSCoerce usw.).
|
2. Das Opfer wird gezwungen, sich bei diesem Hostnamen zu authentifizieren (PetitPotam, DFSCoerce usw.).
|
||||||
3. Wenn der SMB-Client den Zielstring `cifs/srv11UWhRCAAAAA…` an `lsasrv!LsapCheckMarshalledTargetInfo` übergibt, entfernt der Aufruf von `CredUnmarshalTargetInfo` **den** serialisierten Blob und lässt **`cifs/srv1`** zurück.
|
3. Wenn der SMB-Client den Zielstring `cifs/srv11UWhRCAAAAA…` an `lsasrv!LsapCheckMarshalledTargetInfo` übergibt, entfernt der Aufruf von `CredUnmarshalTargetInfo` **den** serialisierten Blob und lässt **`cifs/srv1`** zurück.
|
||||||
4. `msv1_0!SspIsTargetLocalhost` (oder das Kerberos-Äquivalent) betrachtet das Ziel nun als *localhost*, da der kurze Hostteil mit dem Computernamen (`SRV1`) übereinstimmt.
|
4. `msv1_0!SspIsTargetLocalhost` (oder das Kerberos-Äquivalent) betrachtet das Ziel nun als *localhost*, da der kurze Hostteil mit dem Computernamen (`SRV1`) übereinstimmt.
|
||||||
5. Folglich setzt der Server `NTLMSSP_NEGOTIATE_LOCAL_CALL` und injiziert **LSASS’ SYSTEM-Zugriffs-Token** in den Kontext (für Kerberos wird ein SYSTEM-markierter Subsession-Schlüssel erstellt).
|
5. Folglich setzt der Server `NTLMSSP_NEGOTIATE_LOCAL_CALL` und injiziert **LSASS’ SYSTEM-Zugriffs-Token** in den Kontext (für Kerberos wird ein SYSTEM-markierter Subsession-Schlüssel erstellt).
|
||||||
6. Das Relay dieser Authentifizierung mit `ntlmrelayx.py` **oder** `krbrelayx.py` gibt vollständige SYSTEM-Rechte auf demselben Host.
|
6. Das Relaying dieser Authentifizierung mit `ntlmrelayx.py` **oder** `krbrelayx.py` gibt vollständige SYSTEM-Rechte auf demselben Host.
|
||||||
|
|
||||||
### Schneller PoC
|
### Schneller PoC
|
||||||
```bash
|
```bash
|
||||||
@ -296,7 +296,7 @@ ntlmrelayx.py -t TARGET.DOMAIN.LOCAL -smb2support
|
|||||||
krbrelayx.py -t TARGET.DOMAIN.LOCAL -smb2support
|
krbrelayx.py -t TARGET.DOMAIN.LOCAL -smb2support
|
||||||
```
|
```
|
||||||
### Patch & Mitigationen
|
### Patch & Mitigationen
|
||||||
* Der KB-Patch für **CVE-2025-33073** fügt eine Überprüfung in `mrxsmb.sys::SmbCeCreateSrvCall` hinzu, die jede SMB-Verbindung blockiert, deren Ziel marshallierte Informationen enthält (`CredUnmarshalTargetInfo` ≠ `STATUS_INVALID_PARAMETER`).
|
* KB-Patch für **CVE-2025-33073** fügt eine Überprüfung in `mrxsmb.sys::SmbCeCreateSrvCall` hinzu, die jede SMB-Verbindung blockiert, deren Ziel marshallierte Informationen enthält (`CredUnmarshalTargetInfo` ≠ `STATUS_INVALID_PARAMETER`).
|
||||||
* Erzwingen Sie **SMB-Signierung**, um Reflexionen selbst auf nicht gepatchten Hosts zu verhindern.
|
* Erzwingen Sie **SMB-Signierung**, um Reflexionen selbst auf nicht gepatchten Hosts zu verhindern.
|
||||||
* Überwachen Sie DNS-Einträge, die `*<base64>...*` ähneln, und blockieren Sie Zwangsvektoren (PetitPotam, DFSCoerce, AuthIP...).
|
* Überwachen Sie DNS-Einträge, die `*<base64>...*` ähneln, und blockieren Sie Zwangsvektoren (PetitPotam, DFSCoerce, AuthIP...).
|
||||||
|
|
||||||
@ -306,7 +306,7 @@ krbrelayx.py -t TARGET.DOMAIN.LOCAL -smb2support
|
|||||||
* Windows-Ereignis 4624/4648 SYSTEM-Anmeldungen, die unmittelbar gefolgt werden von Remote-SMB-Schreibvorgängen vom selben Host.
|
* Windows-Ereignis 4624/4648 SYSTEM-Anmeldungen, die unmittelbar gefolgt werden von Remote-SMB-Schreibvorgängen vom selben Host.
|
||||||
|
|
||||||
## Referenzen
|
## Referenzen
|
||||||
* [Synacktiv – NTLM Reflection is Dead, Long Live NTLM Reflection!](https://www.synacktiv.com/en/publications/la-reflexion-ntlm-est-morte-vive-la-reflexion-ntlm-analyse-approfondie-de-la-cve-2025.html)
|
* [NTLM Reflection is Dead, Long Live NTLM Reflection!](https://www.synacktiv.com/en/publications/la-reflexion-ntlm-est-morte-vive-la-reflexion-ntlm-analyse-approfondie-de-la-cve-2025.html)
|
||||||
* [MSRC – CVE-2025-33073](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-33073)
|
* [MSRC – CVE-2025-33073](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-33073)
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user