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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/lloydlabs/ntqueueapcthreadex-ntdll-gadget-injection
Обход IDS/IPSШелл-кодПост-эксплуатацияRed TeamingРазработка Полезной НагрузкиСостязательная Атака
GitHublloydlabs/ntqueueapcthreadex-ntdll-gadget-injection

ntqueueapcthreadex-ntdll-gadget-injection

Этот новый способ использования NtQueueApcThreadEx за счёт злоупотребления параметрами ApcRoutine и SystemArgument[0-3] с передачей случайного гаджета pop r32; ret может применяться для скрытого внедрения кода.

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

Популярное

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

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

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

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

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

🧪 Внедрение гаджета NTDLL через NtQueueApcThreadEx

Введение

Этот оригинальный способ использования NtQueueApcThreadEx — через злоупотребление параметрами ApcRoutine и SystemArgument[0-3] с передачей случайного гаджета pop r32; ret — может применяться для скрытого внедрения кода. В рамках этой PoC гаджет в данном случае выбирается случайным образом из области памяти ntdll.dll, соответствующей определённому шаблону. Это означает, что гаджет выполняет возврат в шеллкод.

  1. Выделите шеллкод в целевом процессе. Для наилучших результатов это следует использовать с проектом shellcode-plain-sight.
  2. Найдите случайный гаджет в PE-секциях, соответствующих IMAGE_SCN_CNT_CODE и IMAGE_SCN_MEM_EXECUTE, в памяти в пределах ntdll.dll.
  3. Настройте вызов NtQueueApcThreadEx: ApcRoutine = случайно выбранный адрес гаджета, SystemArgument = указатель на шеллкод
  4. NtQueueApcThreadEx принудительно установит IP на гаджет ntdll.dll!<random pop r32; ret> и выполнит возврат в SystemArgument1
  5. ✨та-да✨

Внутри ntdll.dll есть сотни гаджетов, которые можно использовать (по крайней мере, в моей сборке), что затрудняет обнаружение.

При проверке вызова, в отличие от традиционной APC-инъекции, ApcRoutine будет просто указывать на легитимный адрес внутри ntdll.dll.

Визуализация

Визуализация техники

Возможные векторы обнаружения

Это, вероятно, немного сложно обнаружить. При проверке вызовов NtQueueApcThreadEx смотрите, указывает ли какой-либо из аргументов на исполняемую память. Ещё один возможный путь обнаружения — проверка, указывает ли ApcRoutine на адрес внутри ntdll; однако это, скорее всего, приведёт к большому количеству ложных срабатываний.

Эта техника была первоначально описана в статье Avast о Raspberry Robin здесь.

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