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

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

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

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

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

Категории

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

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 накладывает пять фильтров поверх сырого сигнала рабочего набора, чтобы вывод требовал нескольких совпадающих индикаторов, прежде чем будет сообщено с фильтрацией ЛП:

СлойФильтрНазначение
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 реального изменения

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

  • Перекрёстная ссылка модулей 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
    • 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 / L8)

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

ВердиктСерьёзностьУсловие
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)

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

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

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

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

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

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