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

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

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

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

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

Категории

Все категории
Loading categories
instrumentation_callbacks — Доказательство концепции, демонстрирующее обратные вызовы инструментирования на Windows 10 21h1 с использованием переменной TLS для обеспечения перехвата всех системных вызовов. | Kitploit
Инструменты/GitHubGitHub/deputation/instrumentation_callbacks
Динамический анализ (песочница)Обратная инженерияОтладчикиАнализ Бинарных Файлов
GitHubdeputation/instrumentation_callbacks

instrumentation_callbacks

Доказательство концепции, демонстрирующее обратные вызовы инструментирования на Windows 10 21h1 с использованием переменной TLS для обеспечения перехвата всех системных вызовов.

Репозиторий

Популярное

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

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

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

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

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

instrumentation_callbacks

Инструментационные обратные вызовы — это довольно интересная недокументированная часть Windows. Весь код в этом репозитории распространяется по лицензии MIT. В этом репозитории используется стиль C++ с отступами от Google.

PR приветствуются, если вы нашли проблемы, ошибки или считаете, что следует добавить какую-то конкретную функцию.

Что это такое?

Инструментационные обратные вызовы позволяют обрабатывать все системные вызовы (и исключения!), отправленные процессом, на который вы установили обратный вызов.

Проблема с обратными вызовами.

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

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

Оно не идеально, так как злоумышленник может намеренно установить переменную для отключения обратного вызова, но для целей анализа это почти идеально.

Возможные решения.

Одним из решений этой проблемы может быть установка флага true/false, включающего и отключающего аналитические возможности обратного вызова, что позволяет пропускать все системные вызовы, если другой системный вызов уже обрабатывается.

Однако это позволит пропускать большинство системных вызовов.

Этот репозиторий, напротив, решает проблему невозможности выполнения системных вызовов внутри обратного вызова, устанавливая TLS-зависимую переменную, что гарантирует обработку системных вызовов от всех потоков, при этом имея возможность вызывать их самостоятельно. Единственные системные вызовы, которые мы пропустим, — это те, которые мы выполняем внутри обратного вызова, и которые (в большинстве ситуаций, например, при анализе программного обеспечения) нам, скорее всего, не важны.

всех

Гипотетическое применение.

У инструментационных обратных вызовов много возможных применений; одно из них — для защиты от читов: можно анализировать системные вызовы, поступающие от процесса, и определять, исходят ли они из незаконного адресного пространства или используются в неблаговидных целях, без необходимости заполнять системные DLL байт-патчами и хуками.

Также их можно использовать для получения возможности выполнять код внутри процесса: если вы можете выделить и записать память, а затем установить информацию о процессе, вы сможете захватить поток, выполняющий системный вызов, заставив его вызвать ваш обратный вызов.

Конечно, я не одобряю использование любого кода из этого или моих других репозиториев для разработки читерского или вредоносного ПО.

То, что вы делаете с этим, — ваша собственная ответственность.

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