Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NativeBypassCredGuard — Umgehung von Credential Guard durch Patchen von WDigest.dll ausschließlich mit NTAPI-Funktionen. | Kitploit
Tools/GitHubGitHub/ricardojoserf/nativebypasscredguard
PasswortangriffeIDS/IPS-UmgehungPost-ExploitationRed Teaming
GitHubricardojoserf/nativebypasscredguard

NativeBypassCredGuard

Umgehung von Credential Guard durch Patchen von WDigest.dll ausschließlich mit NTAPI-Funktionen.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite
2703410vor 1 JahrVon Kitploit geprüft

NativeBypassCredGuard

NativeBypassCredGuard ist ein Tool, das dazu entwickelt wurde, Credential Guard zu umgehen, indem es WDigest.dll ausschließlich mit NTAPI-Funktionen (exportiert von ntdll.dll) patcht. Es ist in zwei Varianten verfügbar: C# und C++.

Das Tool sucht das Muster "39 ?? ?? ?? ?? 00 8b ?? ?? ?? ?? 00" in der Datei WDigest.dll auf der Festplatte (wie im ersten Beitrag im Abschnitt Referenzen erläutert, ist das Muster in dieser Datei in allen Windows-Versionen vorhanden), berechnet dann die notwendigen Speicheradressen und patcht schließlich den Wert zweier Variablen innerhalb von WDigest.dll: g_fParameter_UseLogonCredential (auf 1) und g_IsCredGuardEnabled (auf 0).

Dies erzwingt die Speicherung von Anmeldeinformationen im Klartext im Speicher und stellt sicher, dass Anmeldeinformationen ab diesem Zeitpunkt bei jeder Benutzeranmeldung im Klartext gespeichert werden. Infolgedessen kann der LSASS-Prozess beim nächsten Dump Passwörter im Klartext enthalten.

Die verwendeten NTAPI-Funktionen sind:

poc

  • NtOpenProcessToken und NtAdjustPrivilegesToken, um das Privileg SeDebugPrivilege zu aktivieren
  • NtCreateFile und NtReadFile, um ein Handle auf die DLL-Datei auf der Festplatte zu öffnen und ihre Bytes zu lesen
  • NtGetNextProcess und NtQueryInformationProcess, um ein Handle auf den lsass-Prozess zu erhalten
  • NtReadVirtualMemory und NtQueryInformationProcess, um die Basisadresse von WDigest.dll zu erhalten
  • NtReadVirtualMemory, um die Werte der Variablen zu lesen
  • NtWriteProcessMemory, um neue Werte in die Variablen zu schreiben

Durch die ausschließliche Verwendung von NTAPI-Funktionen ist es möglich, die Bibliothek ntdll.dll neu zu mappen (remap), um User-Mode-Hooks und Sicherheitsmechanismen zu umgehen. Dies ist eine optionale Funktion des Tools. Wenn sie verwendet wird, wird eine saubere Version von ntdll.dll aus einem Prozess gewonnen, der im angehaltenen Modus (suspended mode) erstellt wurde.


Verwendung

NativeBypassCredGuard.exe <OPTION> <REMAP-NTDLL>

Option (erforderlich):

  • check: Aktuelle Werte lesen
  • patch: Neue Werte schreiben

ntdll neu mappen (optional):

  • true: Die ntdll-Bibliothek neu mappen
  • false (oder weggelassen): Die ntdll-Bibliothek nicht neu mappen

Beispiele

Werte lesen (ohne ntdll-Remapping):

NativeBypassCredGuard.exe check

img1

Werte patchen (mit ntdll-Remapping):

NativeBypassCredGuard.exe patch true

img2


Hinweise

  • Das Tool ist für 64-Bit-Systeme ausgelegt und muss daher als 64-Bit-Binary kompiliert werden.

  • Es funktioniert nicht, wenn kein Handle auf lsass geöffnet werden kann oder wenn die PEB-Struktur nicht lesbar ist. Für Letzteres kannst du dich dafür entscheiden, kernel32!LoadLibrary zum Laden von WDigest.dll in deinen Prozess zu verwenden, um die Basisadresse zu erhalten, anstatt ntdll!NtReadVirtualMemory und ntdll!NtQueryInformationProcess zu verwenden, um sie aus dem lsass-Prozess zu bekommen (der entsprechende Code ist in der C-Version auskommentiert). Du würdest dann jedoch eine Funktion verwenden, die nicht von ntdll.dll, sondern von kernel32.dll exportiert wird, und es ist wahrscheinlich ungewöhnlich, dass ein Prozess diese DLL lädt :)

  • 0x3rhy hat eine auf diesem Projekt basierende BOF-Datei erstellt: BypassCredGuard-BOF


Referenzen

  • Revisiting a Credential Guard Bypass von itm4n – Eine großartige Analyse, aus der ich das Muster für die Suche im .text-Abschnitt der DLL übernommen habe.

  • WDigest: Digging the dead from the grave von neuralhax – Ein erstaunlicher Blog, der beweist, dass es möglich ist, andere Werte für g_fParameter_UseLogonCredential zu verwenden. Ich habe es noch nicht getestet, aber du kannst mit der Variablen useLogonCredential_Value herumspielen.

  • Exploring Mimikatz - Part 1 - WDigest von xpn – Fantastischer Blogbeitrag, der WDigest-Credential-Caching per Reverse Engineering erklärt.

Tool herunterladen