
Защитный исследовательский инструмент, документирующий наблюдаемые конечные точки API и пользовательские агенты наступательного инструментария, нацеленного на Microsoft Entra ID, для поддержки инженерии обнаружения и реагирования на инциденты.
EntraTrace — это инструмент защитных security-исследований для документирования и идентификации наблюдаемого поведения наступательного инструментария, нацеленного на Microsoft Entra ID.
Проект создаёт автоматическую базу знаний о таких инструментах, как AzureHound, AADInternals, O365Enum, PingCastle и других, с акцентом на артефакты UserAgent и API, которые они генерируют.
🚧 Разработка
Проект активно развивается. Данные, охват инструментов и функциональность будут со временем меняться.
Приветствуются вклад, исследования, исправления и анализ дополнительных инструментов.
EntraTrace фокусируется на информации, которая может быть полезна защитникам, включая:
Цель — сделать поведение наступательного инструментария более понятным для защитных команд и превратить его в практически применимую информацию.
| Tool | Unique APIs | Unique API calls | UserAgents |
|---|---|---|---|
| aadinternals | 4 | 110 | 18 |
| AzureHound | 2 | 28 | 0 |
| Graphpython | 3 | 119 | 17 |
| GraphRunner | 4 | 67 | 21 |
| GraphSpy | 2 | 38 | 2 |
| MFASweep | 4 | 17 | 11 |
| MicroBurst | 3 | 78 | 0 |
| MSOLSpray | 1 | 1 | 0 |
| o365enum | 1 | 1 | 2 |
| o365spray | 1 | 1 | 2 |
| pingcastle | 3 | 14 | 1 |
| PowerZure | 3 | 29 | 0 |
| ROADtools | 4 | 434 | 7 |
| ropci | 3 | 15 | 0 |
| Stormspotter | 3 | 4 | 0 |
| TeamFiltration | 3 | 62 | 2 |
| TokenSmith | 2 | 8 | 0 |
| TokenTactics | 4 | 8 | 16 |
| TokenTacticsV2 | 4 | 30 | 23 |
Наступательные security-инструменты часто используются для оценки и атак на среды идентификации. Понимание того, как эти инструменты взаимодействуют с Entra ID, может помочь защитникам выявлять их использование, расследовать подозрительную активность и улучшать покрытие обнаружения.
EntraTrace стремится сократить разрыв между исследованиями наступательного инструментария и защитными security-операциями.
EntraTrace можно использовать для:
Следующие KQL hunting-запросы можно использовать для IOC-сканирования ваших данных журналов:
Репозиторий обновляется ежедневно, но локальное развёртывание поддерживается. Чтобы запустить локально из корня репозитория с помощью Python, используйте встроенный вывод справки, чтобы убедиться в доступных параметрах перед их запуском.
⚠️ - Запуск скрипта локально может привести к предупреждениям безопасности, поскольку репозитории, содержащие наступательные инструменты, загружаются локально для извлечения информации, необходимой для создания профиля.
# Extract API behavior from a repo or refresh all profile entries
python .\Scripts\ExtractToolBehavior.py --all-profiles --output-dir .\Profiles
# Export tool user agents from YAML profiles into a CSV
python .\Scripts\SummarizeUserAgents.py --profiles-dir .\Profiles --output .\Indicator Lists\UserAgents.csv
SummarizeUserAgents.py экспортирует данные user-agent из YAML-файлов профилей в CSV-файл для hunting-задач.ExtractToolBehavior.py читает URL-адреса репозиториев из Profiles\Tools.txt, если файл присутствует, иначе использует все repository_url, найденные в YAML-файлах профилей в выходном каталоге.-h или --help, чтобы просмотреть полный набор параметров и поведение.🤖 EntraTrace разрабатывается при содействии ИИ. ИИ используется на протяжении всего процесса разработки и исследований, при этом результаты работы проходят проверку и валидацию человеком.
Информацию о лицензировании см. в LICENSE.