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

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

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

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

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

Категории

Все категории
Loading categories
HandleKatz — Дампинг памяти Lsass на основе PIC с использованием клонированных дескрипторов для обхода обнаружения, создающий обфусцированные дампы с минимальным объёмом памяти для операций красной команды. | Kitploit
Инструменты/GitHubGitHub/codewhitesec/handlekatz
Оборонительные ИнструментыКриминалистика памятиГенерация полезной нагрузкиШелл-кодПост-эксплуатацияRed Teaming
GitHubcodewhitesec/handlekatz

HandleKatz

Дампинг памяти Lsass на основе PIC с использованием клонированных дескрипторов для обхода обнаружения, создающий обфусцированные дампы с минимальным объёмом памяти для операций красной команды.

Репозиторий
5981093 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

HandleKatz

Этот инструмент был реализован в рамках нашего выступления на конференции Brucon2021 и демонстрирует использование клонированных дескрипторов к Lsass для создания обфусцированного дампа памяти того же процесса.

Он компилируется в исполняемый файл, полностью находящийся в его текстовом сегменте. Таким образом, извлеченный .text сегмент PE-файла является полностью позиционно-независимым кодом (=PIC), что означает, что с ним можно обращаться как с любым shellcode.

Выполнение HandleKatz в памяти имеет очень малый след, так как сам он не выделяет дополнительную исполняемую память и поэтому может эффективно сочетаться с такими концепциями, как (Phantom)DLL-Hollowing, описанными @_ForrestOrr. Это отличается от загрузчиков PIC PE, таких как Donut, SRDI или Reflective Loaders, которые при загрузке PE выделяют больше исполняемой памяти. Кроме того, он использует модифицированную версию ReactOS MiniDumpWriteDump и обходит пользовательские перехваты (userland hooks) с помощью RecycledGate.

Для получения подробной информации обратитесь к PDF-файлу PICYourMalware.pdf в этом репозитории.

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

  • make all для сборки HandleKatzPIC.exe, HandleKatz.bin и loader.exe

Обратите внимание, что разные компиляторы (версии) дают разные результаты. Это может привести к созданию PE-файла с перемещениями.

Все тесты проводились с использованием x86_64-w64-mingw32-gcc mingw-gcc version 11.2.0 (GCC). Полученный PIC был успешно протестирован на: Windows 10 Pro 10.0.17763. На других версиях Windows хэши API могут отличаться.

Чтобы использовать PIC, приведите указатель на shellcode в исполняемой памяти и вызовите его в соответствии с определением:

root@kitploit:~
DWORD handleKatz(BOOL b_only_recon, char* ptr_output_path, uint32_t pid, char* ptr_buf_output);
  • b_only_recon Если установлено, HandleKatz будет только перечислять подходящие дескрипторы без дампа
  • ptr_output_path Определяет, куда будет записан обфусцированный дамп
  • pid PID, из которого нужно клонировать дескриптор
  • ptr_buf_output Указатель на char, в который HandleKatz записывает свой внутренний вывод

Для деобфускации файла дампа можно использовать скрипт Decoder.py.

Loader реализует пример загрузчика для HandleKatz:

root@kitploit:~
loader.exe --pid:7331 --outfile:C:\Temp\dump.obfuscated

Usage of HandleKatz PIC

Обнаружение

Поскольку используются клонированные дескрипторы вместе с модифицированным кодом ReactOS, события ProcessAccess для Lsass не наблюдаются. Однако можно наблюдать события ProcessAccess для программ, которые содержат дескриптор к Lsass.

Защитники могут отслеживать маски ProcessAccess с установленным PROCESS_DUP_HANDLE (0x0040), чтобы идентифицировать использование этого инструмента.

Благодарности

  • Реализация от нашего @thefLinkk, см. C-To-Shellcode-Examples для дополнительных примеров PIC.
  • @Hasherezade за уроки по концепции C-To-Shellcode
  • @ParanoidNinja за уроки по концепции C-To-Shellcode
  • @_ForrestOrr за его потрясающую серию постов в блоге об артефактах памяти
  • @rookuu_ за идею использовать ReactOS MiniDumpWriteDump
  • Outflank за документирование прямых системных вызовов и их проект InlineWhispers
  • React OS за реализацию MiniDumpWriteDump
  • Hilko Bengen за улучшение makefile
Скачать инструмент