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

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

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

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

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

Категории

Все категории
Loading categories
aether — Инструмент для криминалистического анализа памяти Windows и поиска угроз, который сканирует память активных процессов на предмет вредоносных шаблонов, техник внедрения и рефлективно загруженных сборок .NET, используя многоуровневую модель доверия для снижения ложных срабатываний. | Kitploit
Инструменты/GitHubGitHub/0xsp-srd/aether
Динамический анализ (песочница)Криминалистика памятиАнализ уязвимостейШелл-кодФорензикаАнализ вредоносных программЦифровая криминалистикаКомандование и УправлениеАнализ Бинарных ФайловРеагирование на Инциденты
GitHub0xsp-srd/aether
5841 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

aether

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

Репозиторий

Логотип Aether


Aether

версия : 0.9 (стабильный релиз)

Aether — это инструмент для криминалистики памяти Windows и поиска угроз, который сканирует живую память процессов на наличие вредоносных паттернов, обнаруживает техники инъекций, сигнатуры имплантов, рефлективно загруженные сборки .NET. Он работает с многоуровневой моделью доверия, которая значительно снижает уровень ложных срабатываний и охотится за вредоносным поведением. Aether обладает хорошими возможностями для обнаружения техник Hollowing, APC, перехвата потоков. Аналитики безопасности могут использовать его для сканирования, поиска и создания снимков подозрительных областей для офлайн-анализа.

Документация: https://0xsp.com/docs/aether-getting-started/

Научные статьи:

https://0xsp.com/security%20research%20%20development%20srd/aether-memory-forensics-and-threat-hunting-tool/

https://0xsp.com/research/game-of-hide-and-seek-detecting-dynamic-api-resolution-at-runtime-with-aether/

Основные возможности

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

Сканирование сигнатур

  • Сопоставление байтовых паттернов в памяти процесса с индексом первого байта, что обеспечивает ускорение в 50-100 раз по сравнению с наивным сканированием
  • Двойная кодировка ASCII + UTF-16LE — перехватывает строки, хранимые CLR .NET (где "msxsl:script" превращается в 6D 00 73 00 78 00 ...)
  • Динамическая загрузка правил из JSON-файлов — помещайте новые сигнатуры в rules/ без перекомпиляции
  • Обнаружение PE-заголовков в регионах MEM_PRIVATE — отмечает рефлективно загруженные сборки .NET (метаданные MZ + PE + BSJB)

Структурные индикаторы компрометации памяти

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

Другие структурные проверки:

  • Перекрёстная ссылка модулей PEB : выделения MEM_IMAGE, отсутствующие в списке модулей PEB (заполнение DLL / замещение модуля)
  • Сканирование рабочего набора : обнаружение изменённых страниц кода через K32QueryWorkingSetEx, пакетированное с одним системным вызовом на регион вместо одного на каждые 4 КБ страницу (≈ в 50-100 раз быстрее наивного цикла)
  • Обнаружение приватных RWX : отмечает выделения MEM_PRIVATE + PAGE_EXECUTE_* (даёт ЛП) (шелл-код, JIT-спрей, выделения динамических заглушек кода)
  • Проверка пролога перехвата — читает первые 16 байт каждой приватной страницы кода и сопоставляет классические трамплины x86/x64:
    • E9 ?? ?? ?? ?? — JMP rel32
    • FF 25 ?? ?? ?? ?? — JMP [rip+disp32]
    • 68 ?? ?? ?? ?? C3 — PUSH imm32 ; RET
    • 48 B8 ?? ?? ?? ?? ?? ?? ?? ?? FF E0 — MOV RAX, imm64 ; JMP RAX

Проверка начального адреса потока (TSAV / L8)

Aether проверяет потоки с более строгой классификацией и перекрёстной корреляцией с результатами L1–L5. Для каждого созданного потока в целевом процессе Aether читает его Win32StartAddress через NtQueryInformationThread и, когда разрешает доступ, также живой Rip / Eip через GetThreadContext / Wow64GetThreadContext. Каждый адрес затем оценивается по следующей таблице. Для получения дополнительной информации читайте блогпост:

Что делает это сильнее, чем базовая проверка "находится ли start_address в каком-либо модуле":

  • Перекрёстная проверка VirtualQueryEx — каждый адрес запрашивается на предмет Type / Protect / AllocationBase за один O(1) вызов вместо линейного сканирования списка модулей
  • Перекрёстная корреляция с L1–L5 — поток, чей старт попадает в уже отмеченное выделение, повышается с "OK" до TSAV_MODIFIED_HOST
  • Согласованность PEB — выдолбленные модули обнаруживаются даже если начальный адрес технически попадает в "реальный" диапазон
  • Зондирование приостановленного RIP — Win32StartAddress доступен для записи из процесса через NtSetInformationThread и является подделываемым полем; живой Rip приостановленного потока — это то, что загрузчик не может легко переписать. Мы сравниваем их и отмечаем любое расхождение, которое указывает на подозрительный регион
  • Учитывает WoW64 — автоматически переключается на Wow64GetThreadContext и читает Eip для 32-битных потоков внутри 64-битного процесса
  • Лестница прав доступа — отступает от → → для каждого потока, так что сценарии с частичным доступом всё ещё дают полезные классификации

L9 + L10 - Обнаружение таблицы API кучи с кросс-модульной корреляцией

Разрешение API во время выполнения — это техника, часто используемая вредоносным ПО. Механизм обнаружения Aether выявляет это поведение, сканируя кучу на наличие валидных адресов модулей и указателей, и коррелируя результаты с критериями фильтрации, описанными ниже:

Каждый фильтр убивает конкретный класс ЛП, наблюдаемый в реальной телеметрии:

Анализ энтропии и эвристики шелл-кода

Aether поддерживает обнаружение паттернов XOR на уровне заглушек (пока) и использует алгоритм энтропии Шеннона для проверки случайности байтовых значений в области памяти; он помечает всё, что выше порога. Для борьбы с большим количеством ЛП Aether использует несколько индикаторов.

Обнаружение C2 Beacon

  • Мониторинг TCP-соединений — опрашивает GetExtendedTcpTable для целевого PID
  • Обнаружение паттерна Beacon — выявляет периодические короткоживущие соединения (классическое поведение обратного вызова C2)
  • Вывод таблицы соединений — форматированная консольная таблица с состоянием, конечной точкой, количеством попаданий и протоколом

Режимы вывода

  • Цветной консольный отчёт с подсветкой ANSI на основе серьёзности
  • Машиночитаемый JSON для интеграции с SIEM / d-tect.py
  • Вывод с оценкой подозрительности — каждый результат MODIFIED_CODE_* содержит private_pages и region_pages, так что при триаже есть фактические числа
  • Табличный вывод с использованием символов рисования рамок Unicode для мониторинга соединений

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

root@kitploit:~
Aether.exe --scan --pid <PID> [ОПЦИИ]
Aether.exe --scan --lookup "ProcessName.exe"
Aether.exe --hunt <PID> SLEEP_MS PERIOD
Aether.exe --scan-all [ОПЦИИ]

Опции

Как скомпилировать

Предварительные требования

  • Zig 0.16 — скачать здесь
  • Кросс-компиляция работает с любой хост-ОС (Linux, macOS, Windows)

Сборка

root@kitploit:~
git clone https://github.com/0xsp-SRD/aether
cd aether

# Отладочная сборка (проверки безопасности включены)
zig build

# Релизная сборка (меньший, более быстрый бинарник)
zig build -Doptimize=ReleaseSafe
# или
zig build -Doptimize=ReleaseFast

Скомпилированный исполняемый файл находится в zig-out/bin/Aether.exe.

Развертывание

Скопируйте zig-out/bin/Aether.exe и каталог rules/ на целевой компьютер с Windows, если вы хотите выполнить дополнительное сканирование сигнатур. Если целевой процесс требует прав администратора, вам нужно запускать Aether.exe с правами администратора.

Ограничения

  • Только пользовательский режим — нет драйвера ядра; невозможно обнаружить руткиты или манипуляции на уровне ядра
  • Только IPv4 — мониторинг TCP-соединений пока не поддерживает конечные точки IPv6
  • L5 (дисковое различие) требует доступа к файлу — если исходный файл модуля был удалён или заблокирован, дисковое различие молча пропускает этот модуль (другие слои всё ещё работают)
  • Список трамплинов-подделок TSAV разрешается в собственном процессе сканера — перехватывает распространённый случай, когда системные DLL разделяют общесессионную базу ASLR, но может пропустить цели с уникальными базами для каждого процесса (редко на Win10+)
  • Зонд RIP TSAV перехватывает только приостановленные потоки — перезапись Win32StartAddress на уже работающем потоке может быть обнаружена только если поток случайно находится в ожидании при зондировании (то же ограничение, что и у Moneta)
  • Обнаружение XOR-PE на этом релизе базовое

Лицензия

Aether Community лицензирован по GNU GPL v3.0. Коммерческие лицензии доступны только от автора для проприетарного или коммерческого использования.

Скачать инструмент
СлойФильтрНазначение
L1СтруктурныйРассматриваются только исполняемые подобласти IMAGE (исключает шум .data / .rdata из-за COW)
L2КоличественныйОценка по количеству private_pages и коэффициенту private_ratio (низкий / средний / высокий)
L3ПодтверждениеПовышение уровня только если независимый сигнал согласуется с тем же базовым адресом выделения — попадание сигнатуры, missing_peb_entry, private_rwx, пролог перехвата, или различие с диском
L4CLR-осведомлённыйПодавление по модулям для ngen / R2R / tiered-JIT целей (*.ni.dll, mscor*, clr*, coreclr, system.private.corelib*) вместо полного пропуска при загрузке CLR
L5Различие с дискомОтображение файла модуля с помощью CreateFileMappingW(SEC_IMAGE_NO_EXECUTE); сравнение первых 16 байт каждой приватной исполняемой страницы с тем же RVA на диске. Любое расхождение является IOC реального изменения
  • 49 BB ?? ?? ?? ?? ?? ?? ?? ?? 41 FF E3 — стиль Detours MOV R11, imm64 ; JMP R11
  • Обнаружение CLR — зондирование объекта секции на наличие Cor_Private_IPCBlock_v4_<PID> и v2 Cor_Private_IPCBlock_<PID> (устаревший .NET 2/3 / mscorwks), чтобы шумные пулы приложений, работающие на старых средах выполнения, не были ошибочно классифицированы
  • ВердиктСерьёзностьУсловие
    TSAV_SHELLCODE_PRIVATEКРИТИЧЕСКИЙАдрес находится в регионе MEM_PRIVATE + PAGE_EXECUTE_* — классический шелл-код CreateRemoteThread
    TSAV_SUSPENDED_RIPКРИТИЧЕСКИЙRip приостановленного потока не совпадает с Win32StartAddress и указывает на подозрительный регион — обнаруживает подделку Win32StartAddress (EarlyBird / трюки APC) и перехват SetThreadContext
    TSAV_HOLLOWED_HOSTВЫСОКИЙАдрес внутри выделения MEM_IMAGE, отсутствующего в списке модулей PEB (заполнение DLL / замещение модуля)
    TSAV_MODIFIED_HOSTВЫСОКИЙАдрес внутри выделения MEM_IMAGE, которое конвейер L1–L5 уже отметил как MODIFIED_CODE_*, MISSING_PEB, PRIVATE_RWX, DISK_MEM_DIFF, или HOOK_PROLOGUE
    TSAV_STAGED_PRIVATE_RWВЫСОКИЙMEM_PRIVATE + PAGE_READWRITE — подготовка шелл-кода до VirtualProtect
    TSAV_MAPPED_NONPEСРЕДНИЙMEM_MAPPED (секция, подкреплённая файлом подкачки) без PE-заголовка — sRDI / рефлективный загрузчик страничного файла
    TSAV_SPOOF_TRAMPOLINEСРЕДНИЙАдрес совпадает с трамплином из чёрного списка (LoadLibraryA/W/ExA/W, WinExec, CreateProcessA/W, VirtualAlloc[Ex], RtlExitUserThread, RtlExitUserProcess, NtTerminateProcess, ShellExecuteA/W)
    QUERY_INFORMATION | GET_CONTEXT
    QUERY_INFORMATION
    QUERY_LIMITED_INFORMATION
    ФильтрПравилоКласс ЛП, который он удаляет
    F1count >= 5случайные данные в форме указателя, NULL, HMODULES
    F2отклонять прогоны, указывающие только в хост-EXEvtables классов приложения (C++)
    F3distinct_modules >= 2vtables одно-DLL фреймворков (Qt, MFC, wxWidgets)
    F4capability_modules >= 2vtables браузера / CRT, которые затрагивают одну OS DLL (например, iertutil + ucrtbase + shlwapi)
    F5 (L10)>= 80% проверяемых указателей попадают на экспортируемые RVAдиспетчерские таблицы Winsock LSP, массивы обратных вызовов плагинов, vtables, указывающие на внутренние (неэкспортированные) методы
    ФлагОписание
    --pid, -p <PID>ID целевого процесса для сканирования
    --lookup, -l <имя>Найти все PID, соответствующие имени процесса
    --json, -jВывод результатов в JSON (для интеграции с SIEM)
    --verbose, -vПоказать детали сканирования по регионам
    --scan-all, -aСканировать все процессы
    --hunt, -b <PID> [мс] [попадания]Мониторинг соединений — опрос каждые мс (по умолчанию 2000), отмечать конечные точки с ≥ попаданий вхождений
    --networkingРежим мониторинга сети
    --rules, -r <кат>Каталог правил (по умолчанию: rules/)
    --config, -c <файл>Одиночный файл правил (устаревший формат)
    --dump, ``Сброс указанной области памяти с произвольным размером
    --read, ``Чтение содержимого области памяти в реальном времени на терминале
    --help, -hПоказать справку