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

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

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

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

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

Категории

Все категории
Loading categories
EATGuard — Реализация механизма защиты таблицы адресов экспорта, такого как Export Address Filtering (EAF) | Kitploit
Инструменты/GitHubGitHub/connormcgarr/eatguard
Оборонительные ИнструментыШелл-кодЭксплуатация Бинарных Файлов
GitHubconnormcgarr/eatguard

EATGuard

Реализация механизма защиты таблицы адресов экспорта, такого как Export Address Filtering (EAF)

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

Популярное

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

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

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

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

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

EATGuard

Реализация защитной меры для таблицы адресов экспорта, такой как Export Address Filtering (EAF)

Как это работает

Этот проект состоит из трёх бинарных файлов, которые после компиляции можно найти в EATGuard\bin\. Это:

  1. EATGuardApplication.exe — «вредоносное» приложение, которое загружает EATGuardDll.dll в процесс, а затем выполняет некоторый исполняемый код (шелл-код), запускающий notepad.exe.
  2. EATGuardDll.dll — библиотека DLL, обеспечивающая «мост» между пользовательским режимом и режимом ядра. Эта DLL регистрирует векторизованный обработчик исключений (VEH), который отправляет драйверу EATGuardDriver.sys информацию об обнаруженных обращениях к таблице адресов экспорта (EAT) библиотеки kernel32.dll. Эта DLL выделяет страницу защиты (guard page) в EAT kernel32.dll, что вызывает исключение при обращении к EAT в адресном пространстве процесса EATGuardApplication.exe. Это направляет выполнение в зарегистрированный VEH, который обрабатывает эти исключения и отвечает за продолжение выполнения после завершения анализа.
  3. EATGuardDriver.sys — драйвер устройства режима ядра, который проверяет доступ к EAT kernel32.dll. В настоящее время, в рамках POC, он проверяет, подкреплена ли память, из которой происходит обращение к kernel32.dll, файлом на диске.

Как использовать

Обратите внимание, что EATGuardApplication.exe загружает EATGuardDll.dll из относительного пути, соответствующего расположению EATGuardApplication.exe. Это означает, что при запуске и .exe, и .dll должны находиться в одном каталоге. Также обратите внимание: не запускайте этот проект на машине с включенной отладкой ядра. Это может вызвать проблемы, поскольку EATGuardDll.dll использует исключение одиночного шага для продолжения выполнения. Ниже приведён пример использования проекта:

root@kitploit:~
C:\Users\ANON\Desktop>sc create EATGUARD type= kernel binPath= C:\Users\ANON\Desktop\EATGuardDriver.sys
[SC] CreateService SUCCESS

C:\Users\ANON\Desktop>sc start EATGUARD

SERVICE_NAME: EATGUARD
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 0
        FLAGS              :

C:\Users\ANON\Desktop>EATGuardApplication.exe
[+] KERNEL32.dll EAT: 0x00007FFB1D83F898
[+] Number of functions in the KERNEL32.dll EAT: 1678
[+] EATGuard analysis complete!
    [+] Target address: 0x24AA138005C
        [>] IsRipRwxMemory: TRUE
        [>] IsRipMappedSection: FALSE
        [>] IsRipBackedByImage: FALSE
        [>] HasPageProtectionChanged: FALSE
        [>] RegionBaseAddress: 0x24AA1380000
        [>] MemoryRegionSize: 0x1000
        [>] MemoryCommtSize: 0x1000
[+] EATGuard analysis complete!
    [+] Target address: 0x24AA138005F
        [>] IsRipRwxMemory: TRUE
        [>] IsRipMappedSection: FALSE
        [>] IsRipBackedByImage: FALSE
        [>] HasPageProtectionChanged: FALSE
        [>] RegionBaseAddress: 0x24AA1380000
        [>] MemoryRegionSize: 0x1000
        [>] MemoryCommtSize: 0x1000
[+] EATGuard analysis complete!
    [+] Target address: 0x24AA138008F
        [>] IsRipRwxMemory: TRUE
        [>] IsRipMappedSection: FALSE
        [>] IsRipBackedByImage: FALSE
        [>] HasPageProtectionChanged: FALSE
        [>] RegionBaseAddress: 0x24AA1380000
        [>] MemoryRegionSize: 0x1000
        [>] MemoryCommtSize: 0x1000
[+] EATGuard analysis complete!
    [+] Target address: 0x24AA138009B
        [>] IsRipRwxMemory: TRUE
        [>] IsRipMappedSection: FALSE
        [>] IsRipBackedByImage: FALSE
        [>] HasPageProtectionChanged: FALSE
        [>] RegionBaseAddress: 0x24AA1380000
        [>] MemoryRegionSize: 0x1000
        [>] MemoryCommtSize: 0x1000
[+] EATGuard analysis complete!
    [+] Target address: 0x24AA13800A2
        [>] IsRipRwxMemory: TRUE
        [>] IsRipMappedSection: FALSE
        [>] IsRipBackedByImage: FALSE
        [>] HasPageProtectionChanged: FALSE
        [>] RegionBaseAddress: 0x24AA1380000
        [>] MemoryRegionSize: 0x1000
        [>] MemoryCommtSize: 0x1000

(...)TRUNCATED(...)

Этот проект является POC, имитирующим функциональность Export Address Filtering.

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