
Инструмент red team для обхода EDR: динамически определяет ID системных вызовов, патчит заглушки ntdll, снимает хуки IAT и перечисляет перехваченные API основных вендоров EDR.
В этом репозитории содержится информация об EDR, которая может быть полезна во время red team-упражнений.
Эта proof-of-concept-утилита определяет ID syscall динамически, без необходимости проверять версию, запущенную на удалённом хосте. Чтобы получить информацию с диска (не изменённую), выполняются вызовы Windows API CreateFileMapping и MapViewOfFile. Затем DLL анализируется для извлечения данных, которые используются для патча работающего кода.
Эта proof-of-concept-утилита пропатчивает ID syscall, указанный в коде. Затем «живая» версия DLL пропатчивается с использованием захардкоженного ID syscall и возвращается в исходное состояние без патча.
Эта утилита используется для получения ID syscall, связанного с Windows API.
get_syscall64.exe ntdll.dll NtOpenProcess
ntdll.dll!NtOpenProcess at 0x00007FF873F6CAD0
NtOpenProcess syscall ID 0x00000026 (38)
Эта proof-of-concept-утилита обнаруживает хуки, установленные EDR/AV/вредоносным ПО в таблице импорта адресов (Import Address Table), и заменяет их оригинальными адресами (код написал xalicex).
EDRs.xlsx, подготовленный Vincent Yiu
EDRs.md, подготовленный Vincent Yiu
Хотите внести вклад? Просто запустите hook_finder64.exe C:\windows\system32\ntdll.dll и отправьте результат.
Новая версия отказалась от UMH и вместо этого полагается на колбэки ядра, как показано ниже:

Список хуков CheckPoint SandBlast
⚠️ Эти хуки установлены в режиме ядра. Их невозможно снять из пользовательского режима.
Mr.Un1k0d3r RingZer0 Team
И всему сообществу <3