
Microsoft Entra ID를 대상으로 하는 공격 도구의 관찰 가능한 API 엔드포인트와 사용자 에이전트를 문서화하여 탐지 엔지니어링 및 사고 대응을 지원하는 방어 연구 도구입니다.
EntraTrace는 Microsoft Entra ID를 대상으로 하는 공격 도구의 관찰 가능한 동작을 문서화하고 식별하기 위한 방어적 보안 연구 도구입니다.
이 프로젝트는 AzureHound, AADInternals, O365Enum, PingCastle 등의 도구를 중심으로 자동화된 지식 기반을 구축하며, 이들이 생성하는 UserAgent 및 API 아티팩트에 중점을 둡니다.
🚧 개발 중
이 프로젝트는 활발히 개발되고 있습니다. 데이터, 도구 지원 범위, 기능은 시간이 지남에 따라 발전할 것입니다.
기여, 연구, 수정 및 추가 도구 분석을 환영합니다.
EntraTrace는 방어자에게 유용할 수 있는 정보에 중점을 둡니다. 여기에는 다음이 포함됩니다:
목표는 방어 팀이 공격 도구의 동작을 더 쉽게 이해하고 실행 가능한 정보로 전환할 수 있도록 하는 것입니다.
| 도구 | 고유 API | 고유 API 호출 | UserAgent |
|---|---|---|---|
| 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 |
공격 보안 도구는 ID 환경을 평가하고 공격하는 데 자주 사용됩니다. 이러한 도구가 Entra ID와 상호 작용하는 방식을 이해하면 방어자가 해당 도구의 사용을 식별하고, 의심스러운 활동을 조사하며, 탐지 범위를 개선하는 데 도움이 됩니다.
EntraTrace는 공격 도구 연구와 방어적 보안 운영 사이의 격차를 해소하는 것을 목표로 합니다.
EntraTrace는 다음과 같은 용도로 사용할 수 있습니다:
다음 KQL 헌팅 쿼리를 사용하여 로그 데이터에 대한 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는 프로필 YAML 파일에서 사용자 에이전트 데이터를 추출하여 헌팅용 CSV로 내보냅니다.ExtractToolBehavior.py는 Profiles\Tools.txt가 존재하면 해당 파일에서 저장소 URL을 읽고, 그렇지 않으면 출력 디렉터리의 YAML 프로필 파일에서 발견되는 모든 repository_url로 대체합니다.-h 또는 --help와 함께 실행하십시오.🤖 EntraTrace는 AI의 도움을 받아 개발됩니다. AI는 개발 및 연구 과정 전반에 걸쳐 사용되며, 결과물에 대한 인간의 검토와 검증이 이루어집니다.
라이선스 정보는 LICENSE를 참조하십시오.