
AI 기반 Active Directory 공격 플랫폼
██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗███████╗
██║ ██║██╔═══██╗██╔══██╗██║ ██║██╔════╝
███████║██║ ██║██████╔╝██║ ██║███████╗
██╔══██║██║ ██║██╔══██╗██║ ██║╚════██║
██║ ██║╚██████╔╝██║ ██║╚██████╔╝███████║
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
███████╗██╗ ██╗███████╗
██╔════╝╚██╗ ██╔╝██╔════╝
█████╗ ╚████╔╝ █████╗ v2.3
██╔══╝ ╚██╔╝ ██╔══╝
███████╗ ██║ ███████╗
╚══════╝ ╚═╝ ╚══════╝
AI 지원 Active Directory 공격 경로 분석 플랫폼
원시 BloodHound, Certipy, ldapdomaindump 및 NetExec 출력을 Domain Admin으로 향하는 공격 경로의 순위가 매겨지고 악용 가능성 점수가 부여된 목록으로 변환합니다 — 각 경로를 검증할 정확한 명령과 함께.
🌐 omar-tamerr.github.io/HorusEye · 라이브 탐색기 데모
정성껏 제작: Omar Tamer — 이집트
Active Directory는 거의 모든 엔터프라이즈 Windows 환경의 중추이며, 침투 테스트와 HackTheBox Pro Labs(RastaLabs, Offshore, Cybernetics, Dante), OSCP, LPT Master, CPENT 같은 CTF 챌린지에서 전체 도메인 장악으로 이어지는 가장 흔한 경로입니다. 문제는 툴체인이 분산되어 있다는 점입니다. BloodHound는 공격 경로를 보여주고 일반적인 명령을 제공하지만, 400명의 사용자, 12개의 서비스 계정, 중첩된 그룹 멤버십이 있는 실제 참여를 마주하면 그 일반적인 명령들은 모든 것을 수동으로 맞춰야 하게 만듭니다. Impacket은 실행을 제공하지만 분석은 없습니다. Certipy는 ADCS 발견 사항을 제공하지만 어떤 템플릿을 먼저 추구할 가치가 있는지에 대한 맥락은 없습니다. HorusEye는 이 모든 것을 연결합니다. BloodHound, Certipy, ldapdomaindump, CrackMapExec의 출력을 수집하고, 모든 공격 경로를 특정 환경에 대한 악용 가능성으로 점수화하며, 교과서 예시가 아닌 실제로 발견한 계정과 구성에 맞춘 정확한 명령을 제공합니다.
BloodHound, Certipy, ldapdomaindump, CrackMapExec 및 NetExec의 출력을 수집하고, 13가지 공격 경로 클래스 — Kerberoasting, AS-REP roasting, DCSync, ACL 악용, GPO 악용, 비제약 및 제약 위임, ADCS ESC1–ESC8, 도메인 트러스트, 권한 있는 세션, 취약한 암호 정책, 오래된 관리자 계정 — 를 탐지하며, 각각을 특정 환경에 대한 악용 가능성으로 점수화하고, 정확히 무엇을 어떤 순서로 실행해야 하는지 알려줍니다. Tier-0 권한 모델은 Domain Admin으로 직접 이어지는 모든 경로를 CRITICAL로 승격시켜, 순위가 단순한 심각도 레이블이 아닌 실제 영향을 반영하도록 합니다. 선택적 Claude AI 계층은 각 발견 사항에 평이한 영어 설명을 추가하여 무엇이 취약한지뿐 아니라 왜 중요한지, 어떻게 연계할 수 있는지 이해할 수 있게 합니다.
특히 CTF 플레이어를 위해: HorusEye는 보통 몇 시간의 수작업이 필요한 정찰에서 권한 상승까지의 파이프라인을 자동화합니다. SharpHound를 실행하고 출력을 HorusEye에 입력하면, 몇 초 안에 현재 사용자에서 Domain Admin으로 이어지는 공격 경로의 순위 목록과 각 단계에 대한 복사-붙여넣기 가능한 명령을 얻을 수 있습니다.
--explorer). 하나의 자체 포함 HTML 파일 — 대시보드, 클릭 가능한 공격 경로 그래프(노드/엣지 → 증거, 병목 지점은 빨간색으로 강조 표시), 그리고 필터링 가능한 발견 사항 탐색기. 서버도, 외부 요청도 없이 어디서든 열 수 있고, 고객에게 그대로 전달할 수 있습니다.rule_id, 근거가 명시된 confidence 수준, 그리고 구조화된 증거 — 즉 해당 발견 사항의 근거가 되는 실제 ACE/객체 — 가 포함되어 소스 데이터로부터 재현할 수 있습니다. 집계된 발견 사항은 영향을 받는 모든 객체를 유지하므로, 간결함 때문에 아무것도 유실되지 않습니다.corp_domains.json)로 추적되며, 호환성 경고가 포함된 파싱 보고서가 깨끗한 도메인과 빈약한 가져오기를 구분해 줍니다.--target은 모든 중요 자산(Tier-0에 국한되지 않음)으로의 경로를 지정합니다. 엣지는 관측됨 vs 추론됨으로 표시되고, 경로는 명시된 근거와 함께 순위가 매겨지며, 교정 영향은 병목 지점 — 즉 경로를 끊는 단일 수정 사항 — 을 명시합니다.SOURCE_DATE_EPOCH)이며, 문서화된 종료 코드 분류 체계(0/1/2/3)를 통해 CI가 "깨끗함"과 "발견 사항 있음"과 "불완전함"을 구분할 수 있습니다.--ai-redact는 요청 전에 이메일, IP, 도메인 및 계정 이름을 마스킹합니다. AI 출력은 검증되며 검증된 필드를 절대 덮어쓸 수 없습니다.SECURITY.md는 의도된 사용, 데이터 외부 전송, 신고 절차를 문서화합니다.--graph). HorusEye는 이제 그룹 멤버십, 악용 가능한 ACL, 로컬 관리자 권한, 세션, DCSync 및 위임으로부터 방향성 제어 그래프를 구축하고, 거점에서 Domain Admin까지의 최단 경로를 찾아 순서대로 된 단계와 각 단계의 명령을 출력합니다. BloodHound는 그래프를 보여주지만, HorusEye는 그 그래프를 어떤 순서로 따라가야 하는지 알려줍니다. 거점은 --owned USER@DOMAIN으로 설정합니다(기본값: 모든 도메인 사용자).--markdown), 그리고 버전이 지정된 JSON 스키마를 제공합니다.--diff OLD.json은 이전 실행 대비 신규 / 수정됨 / 변경 없음을 보여주며, --fail-on LEVEL은 CI 게이팅을 위해 0이 아닌 값으로 종료합니다.claude-opus-5-5), 발견 사항별 서술, 오류 노출, 그리고 머신을 떠나기 전에 고객 이름을 마스킹하는 --ai-redact를 제공합니다.UnicodeEncodeError 충돌 수정; 모든 곳에서 UTF-8 사용.horuseye 명령(pip install -e .); --check-deps 사전 점검.--da-checklist 및 --team-connect; pytest 스위트 + CI.| 카테고리 | 기능 | 설명 |
|---|---|---|
| 입력 | BloodHound | SharpHound JSON 파싱 — 사용자, 그룹, ACL, 세션 |
| 입력 | Certipy | ADCS 취약점 출력 파싱 (ESC1-ESC8) |
| 입력 | ldapdomaindump | LDAP 열거 출력 파싱 |
| 입력 | CrackMapExec | CME 스캔 결과 파싱 |
| 입력 | nxc | nxc 스캔 결과 파싱 |
| 입력 | 수동 | 사용 가능한 파일이 없을 때 대화형 프롬프트 |
| 탐지 | 13가지 공격 유형 | 13가지 모두 구현됨 — 공격 탐지 참조 |
| 탐지 | 경로 점수화 | 영향도 × 용이성으로 발견 항목 순위 지정 |
| 탐지 | AI 내러티브 | Claude가 각 발견 항목을 쉬운 말로 설명 |
| 공격 | 해시 크래킹 | AD 특화 패턴을 적용한 3라운드 hashcat 엔진 |
| 공격 | 워드리스트 생성 | AD 사용자로부터 18개 이상의 사용자 이름 형식 변형 생성 |
| 공격 | 패스워드 스프레이 | 멀티스레드, 계정 잠금 방지 SMB/LDAP 스프레이 |
| 공격 | 측면 이동 | 자격 증명 확보 후 도달 가능한 호스트 자동 매핑 |
| 공격 | LSASS 덤프 | ⚠️ 명령만 출력 — AV 인식 선택 기능은 아직 연결되지 않음 |
| 공격 | 자동 체인 | ⚠️ 스텁 — 실제 체인 구현은 아직 연결되지 않음 |
| 공격 | 자동 익스플로잇 | ⚠️ 스텁 — 실제 체인 구현은 아직 연결되지 않음 |
| 공격 | 자동 지속성 | Golden Ticket, Skeleton Key, DCSync 백도어 |
| 보고 | 공격 타임라인 | 정확한 명령과 함께 T+0부터 DA까지 시각적 타임라인 |
| 보고 | DA 체크리스트 | 20개 항목 체크리스트, 실시간 발견 항목으로 자동 체크 |
| 보고 | HTML 보고서 | 모든 발견 항목과 명령을 담은 다크 테마 보고서 |
| 보고 | JSON 내보내기 | 파이프라인 통합을 위한 기계 판독 가능 출력 |
| 자격 증명 | 자격 증명 관리자 | 중앙 저장소, 중복 제거, valid_credentials.txt에 저장 |
| 운영 | 팀 협업 | 여러 운영자를 위한 실시간 공유 세션 |
| 운영 | 설정 | API 키와 환경 설정을 위한 영구 설정 파일 |
요구 사항: Python 3.8+ (Linux 또는 Windows). 유일한 Python 의존성은
rich이며, 나머지는 모두 HorusEye가 가져와서 쓰는 라이브러리가 아니라
오케스트레이션하는 외부 CLI 도구입니다.
git clone https://github.com/Omar-tamerr/HorusEye
cd HorusEye
# Option A — install as a command (recommended)
pip install -e . # adds the `horuseye` command to your PATH
# Option B — run in place
pip install -r requirements.txt
python3 horuseye.py --help
외부에서 관리되는 Python을 사용하는 Kali/Debian에서는
pip호출에--break-system-packages를 추가하거나, virtualenv에 설치하거나pipx를 통해 설치하세요.