Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
NativeBypassCredGuard — Обход Credential Guard путем патчинга WDigest.dll с использованием только функций NTAPI | Kitploit
Инструменты/GitHubGitHub/ricardojoserf/nativebypasscredguard
Атаки на ПаролиОбход IDS/IPSПост-эксплуатацияRed Teaming
GitHubricardojoserf/nativebypasscredguard

NativeBypassCredGuard

Обход Credential Guard путем патчинга WDigest.dll с использованием только функций NTAPI

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт
270341 год назадПроверено Kitploit

NativeBypassCredGuard

NativeBypassCredGuard — это инструмент, предназначенный для обхода Credential Guard путём патча WDigest.dll с использованием только NTAPI-функций (экспортируемых ntdll.dll). Он доступен в двух вариантах: C# и C++.

Инструмент находит паттерн "39 ?? ?? ?? ?? 00 8b ?? ?? ?? ?? 00" в файле WDigest.dll на диске (как объясняется в первом посте из раздела «Ссылки», этот паттерн присутствует в данном файле во всех версиях Windows), затем вычисляет необходимые адреса памяти и, наконец, патчит значения двух переменных внутри WDigest.dll: g_fParameter_UseLogonCredential (в 1) и g_IsCredGuardEnabled (в 0).

Это принуждает к хранению учётных данных в открытом виде в памяти, гарантируя, что с этого момента при каждом входе пользователей в систему учётные данные будут сохраняться в виде открытого текста. В результате при следующем дампе процесса LSASS в нём могут оказаться пароли в открытом виде.

Используемые функции NTAPI:

poc

  • NtOpenProcessToken и NtAdjustPrivilegesToken — для включения привилегии SeDebugPrivilege
  • NtCreateFile и NtReadFile — для открытия дескриптора DLL-файла на диске и чтения его байтов
  • NtGetNextProcess и NtQueryInformationProcess — для получения дескриптора процесса lsass
  • NtReadVirtualMemory и NtQueryInformationProcess — для получения базового адреса WDigest.dll
  • NtReadVirtualMemory — для чтения значений переменных
  • NtWriteProcessMemory — для записи новых значений в переменные

Используя только NTAPI-функции, можно выполнить ремаппинг библиотеки ntdll.dll для обхода пользовательских хуков и механизмов безопасности; это опциональная возможность инструмента. При её использовании чистая версия ntdll.dll получается из процесса, созданного в приостановленном режиме.


Использование

root@kitploit:~
NativeBypassCredGuard.exe <OPTION> <REMAP-NTDLL>

Опция (обязательная):

  • check: считывает текущие значения
  • patch: записывает новые значения

Ремаппинг ntdll (необязательно):

  • true: выполнить ремаппинг библиотеки ntdll
  • false (или не указывать): не выполнять ремаппинг библиотеки ntdll

Примеры

Считывание значений (без ремаппинга ntdll):

root@kitploit:~
NativeBypassCredGuard.exe check

img1

Запись значений (с ремаппингом ntdll):

root@kitploit:~
NativeBypassCredGuard.exe patch true

img2


Примечания

  • Инструмент предназначен для 64-битных систем, поэтому его необходимо компилировать как 64-битный бинарный файл

  • Он не будет работать, если невозможно открыть дескриптор lsass или если структура PEB не читается. Что касается последнего, вы можете вместо этого использовать kernel32!LoadLibrary для загрузки WDigest.dll в свой процесс, чтобы получить его базовый адрес, а не использовать ntdll!NtReadVirtualMemory и ntdll!NtQueryInformationProcess для получения его из процесса lsass (в C-версии этот код закомментирован). Но тогда вы используете функцию, которая экспортируется не ntdll.dll, а kernel32.dll, и для процесса, вероятно, будет странно загружать эту DLL :)

  • 0x3rhy создал BOF-файл на основе этого проекта: BypassCredGuard-BOF


Ссылки

  • Revisiting a Credential Guard Bypass от itm4n — отличный анализ, из которого я взял паттерн для поиска в секции .text этой DLL

  • WDigest: Digging the dead from the grave от neuralhax — потрясающий блог, доказывающий, что можно использовать другие значения для g_fParameter_UseLogonCredential. Я пока не проверял это, но вы можете поиграться с переменной useLogonCredential_Value

  • Exploring Mimikatz - Part 1 - WDigest от xpn — фантастическая статья с обратной разработкой и объяснением кэширования учётных данных WDigest

Скачать инструмент