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

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

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

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

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

Категории

Все категории
Loading categories
RogueAssemblyHunter — Rogue Assembly Hunter — это утилита для обнаружения 'интересных' модулей .NET CLR в запущенных процессах. | Kitploit
Инструменты/GitHubGitHub/bohops/rogueassemblyhunter
Оборонительные ИнструментыКриминалистика памятиФорензикаАнализ вредоносных программРеагирование на Инциденты
GitHubbohops/rogueassemblyhunter

RogueAssemblyHunter

Rogue Assembly Hunter — это утилита для обнаружения 'интересных' модулей .NET CLR в запущенных процессах.

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

Популярное

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

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

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

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

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

__________ _____ . .
_
____ \ ____ ____ __ __ ____ / _ \ ______ ______ ____ _ | | | .. | // _ \ / __| | _/ __ \ / /\ \ / // __// __ \ / | __ | |< | | | | ( <> ) // > | /\ / / | \ \ _ \ /| Y Y \ _\ \ |_ | || /_/_ /|/ _ > _| /____ >____ >___ >|| / /____/ | / // / / / / / / / /
___ ___ __
/ | \ __ __ / | ___________ / ~ \ | / \ __/ __ _ __
\ Y / | / | \ | \ /| | / _| /|
/|
| /
| _
>
|
/ / /

Rogue Assembly Hunter

Rogue Assembly Hunter — это утилита для обнаружения «интересных» модулей .NET CLR в запущенных процессах.

  • Автор: @bohops
  • Лицензия: MIT
  • Проект: https://github.com/bohops/RogueAssemblyHunter

Описание

.NET — это очень мощная и функциональная платформа разработки и среда выполнения для создания и запуска управляемых приложений .NET. За последние несколько лет .NET был принят на вооружение Red Teams (и подобными им) для инструментирования тактик в поддержку наступательных операций. В частности, переход от оборонительного PowerShell к .NET был логичным шагом (для многих) из-за повышенной видимости и оппортунистической наблюдаемости, присутствующих в PowerShell v5+. В связи с этим, наступательные средства и тактики .NET успешно использовались для обхода средств защиты на основе хоста, обхода контроля приложений, а также для создания/подготовки/доставки/выполнения вредоносного кода (аналогично PowerShell).

С точки зрения предотвращения, Microsoft делает больше для борьбы с угрозами, инструментированными через .NET, и для минимизации общей поверхности атаки .NET. Например, Microsoft добавила возможности проверки AMSI в .NET Framework 4.8, а механизмы WDAC/WLDP весьма эффективны. С точки зрения обнаружения/реагирования, дополнительная видимость и исследование экосистемы .NET всегда полезны для поиска новых способов борьбы с угрозами, ориентированными на .NET.

В 2017 году Джо Дезимоне (@dez_) написал замечательную статью под названием Hunting For In-Memory .NET Attacks. Актуальная и сегодня, статья описывает современные векторы атак на .NET, а также методы обнаружения по требованию и на основе событий. В дополнение к статье Джо выпустил инструмент (Get-ClrReflection) для активного обнаружения (и извлечения) модулей .NET CLR в памяти, у которых отсутствует корректная ссылка на диск. Вдохновленный работой Джо и используя возможности исследования библиотеки диагностики времени выполнения CLRMD (+ последующие возможности доступа к данным mscordacwks.dll), был создан Rogue Assembly Hunter для:

  • Исследования (всех) запущенных управляемых процессов .NET на предмет интересных модулей CLR (например, модулей, образующих «сборку»)
  • Исследования одного управляемого процесса .NET (по PID) на предмет интересных модулей CLR
  • Наблюдения за вновь создаваемыми процессами и попытки их исследования на предмет интересных модулей CLR
  • Поддержки нескольких возможностей «охоты» для обнаружения модулей, загруженных в память, статуса подписи модулей (если загружены с диска), модулей, загруженных из необычных каталогов, и модулей-самозванцев (например, поддельные файловые ссылки).
  • Поддержки функциональности экспорта модулей CLR (быстрый порт из Get-ClrReflection)
  • Вдохновения на создание более интересных инструментов и тактик

Основные требования и зависимости

  • Запуск от имени привилегированного пользователя/контекста процесса
  • .NET Framework 4.6.1+
  • .NET CLRMD — библиотека исследования Microsoft.Diagnostics.Runtime (пакет NuGet)
  • ILMerge — статический компоновщик (пакет NuGet)
  • ...и вспомогательные пакеты NuGet в Visual Studio.

Заметки, советы и оговорки

  • Запускайте от имени привилегированного пользователя с высоким/системным уровнем целостности.
  • «Охоты» являются экспериментальными и не гарантируют полных/корректных результатов. Остерегайтесь ложных срабатываний (например, подписанные модули) и проверяйте соответствующим образом.
  • RogueAssemblyHunter использует CLRMD для подключения к активным процессам, что может приводить к интересным результатам.
  • Из-за сканирующей природы RogueAssemblyHunter возможны состояния гонки и пропущенные результаты. Рассмотрите возможность настройки с помощью ключей --checks и --sleep для улучшения (особенно в режиме watch). В некоторых случаях может быть сложно «поймать» загрузку конкретной сборки из-за скорости выполнения (например, execute-assembly и жертвенные процессы).
  • Архитектура («разрядность») и версии .NET имеют значение (например, 4+) для взаимодействия с удаленными процессами с помощью библиотек .NET CLRMD.
    • Для максимального исследования/покрытия собирайте и запускайте эту программу для x86 и x64 сценариев.
    • Режим полного сканирования процессов попытается подключиться ко всем запущенным процессам независимо от «разрядности». В противном случае он потерпит неудачу при несоответствии архитектур.
  • Протестировано на Windows 10 Pro 2H1H и Windows Server 2016 Standard 1607. Может работать на других версиях с соответствующим .NET Framework.
  • Исходный код проекта Visual Studio с пакетами NuGet, скриптом PowerShell и скомпилированными бинарными файлами включен в этот проект.
  • Файл Notice.md содержит отказ от ответственности и информацию о лицензии.
  • Используйте на свой страх и риск (и не обращайте внимания на мой ужасный код ;) )!

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

[*] Параметры:
    
    --mode=<.>   : Обязательно | Выберите режим анализа. Варианты: sweep, process и watch.

    --hunt=<.>   : Необязательно | Выберите тип сканирования для поиска интересных модулей CLR. Укажите all (по умолчанию), memory-only, unusual-dir,
                   sig-status, imposter-file или list.

    --export=<.> : Необязательно, экспериментально | Укажите путь к файлу для экспорта загруженных модулей CLR для сканирования в памяти и сканирования модулей-самозванцев 
                   (например, --hunt=memory-only/imposter-file/all).

    --pid=<.>    : Необязательно | Укажите целевой процесс по PID. Должен использоваться с параметром/значением --mode=process.

    --checks=<.> : Необязательно | Укажите количество циклов сканирования. Это может помочь уменьшить пропуски из-за состояний гонки, но может также повторять вывод результатов.
                   Значение по умолчанию: 1.

    --sleep=<.>  : Необязательно | Укажите количество секунд задержки. Это может помочь уменьшить пропуски из-за состояний гонки, задерживая цикл проверки.
                   Значение по умолчанию: 0 секунд.

    --debug      : Необязательно | Отображать информацию об исключениях (например, ошибки подключения к процессу).

    --nobanner   : Необязательно | Подавить отображение баннера. Полезно для выполнения через скрипт PowerShell или для сценариев, использующих автоматизацию.
Скачать инструмент