Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Kestrel — 저관찰성 Active Directory 보안 열거 도구로, 네이티브 ADSI/COM 인터페이스를 사용합니다. ACL, 위임, 트러스트, ADCS, Kerberoast 대상, 공격 경로를 .NET이나 PowerShell 없이 열거하며, BloodHound 호환 출력을 생성합니다. | Kitploit
도구/GitHubGitHub/ssteelfactor-oss/kestrel
Defensive ToolsPrivilege EscalationReconnaissanceVulnerability AnalysisInformation GatheringPost-ExploitationPenetration TestingRed Teaming
GitHubssteelfactor-oss/kestrel

Kestrel

저관찰성 Active Directory 보안 열거 도구로, 네이티브 ADSI/COM 인터페이스를 사용합니다. ACL, 위임, 트러스트, ADCS, Kerberoast 대상, 공격 경로를 .NET이나 PowerShell 없이 열거하며, BloodHound 호환 출력을 생성합니다.

959501개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

Kestrel

build license language dependencies

BloodHound는 경로를 보여줍니다. Kestrel은 이미 내부에 무엇이 있는지 보여줍니다.

모두가 같은 것을 매핑합니다: 공격 경로 - 누가 Domain Admin에 도달할 수 있는가. 올바른 질문이며, 이에 답하는 도구들은 훌륭합니다. 하지만 "누가 누구에게 도달할 수 있는가"의 그래프는 문제의 한 부류 전체를 보지 못합니다. Active Directory에서 가장 심각한 것들 중 일부는 경로가 아니기 때문입니다.

그것들은 속성에 용접된 백도어입니다. 비밀번호가 재설정된 후에도 오랫동안 계속 인증되는 인증서. 스키마 자체에 각인되어, 지금부터 생성되는 모든 객체가 조용히 상속받는 권한. 누군가 조용히 복원할 권한을 유지한 삭제된 계정. 단 하나의 deny-read ACE로 열거에서 숨겨진 객체.

그 중 어느 것도 그래프의 엣지가 아닙니다. 그 모두가 지금 당신의 디렉터리에 있습니다. Kestrel은 이를 읽습니다 - 네이티브 Windows 호출, 일반 도메인 사용자 권한, 서버 없음, Python 없음, 에이전트 없음, 그리고 도메인 컨트롤러에 남기는 흔적은 이벤트별로 문서화될 만큼 절제되어 있습니다.

하나의 .exe. 하나의 명령. 아래의 모든 것.


당신은 잘못된 방향을 보고 있었습니다

공격적 AD 생태계 - SharpHound, impacket, Certipy, 그리고 그 뒤의 그래프 - 는 뛰어나며, 모두 같은 표면을 봅니다: 도달 가능성. Kestrel은 그 표면이 표현할 수 없는 세 가지 차원을 봅니다.

  • 시간. 그래프는 스냅샷입니다. Kestrel은 복제 메타데이터를 읽습니다 - Tier-0 속성이 언제 변경되었고 어느 DC가 이를 발생시켰는지. 어젯밤 부여된 DCSync 권한은 수년간 존재해온 것과 같은 발견이 아니며, 그중 하나만이 당신이 지금 공격받고 있음을 의미합니다.
  • 엣지가 아닌 속성에 존재하는 지속성. Shadow credentials, SID history, reanimate-tombstones, 스키마 defaultSecurityDescriptor 백도어, 숨겨진 객체, OWNER RIGHTS deny-ACE, AD FS DKM 키. 그래프 도구들은 그릴 엣지가 없기 때문에 이것들을 수집하지 않습니다.
  • 방어 태세, 뒤집어서. "누가 공격할 수 있는가"가 아니라 "무엇이 보호되지 않는가" - 사일로 밖에 있는 Tier-0 계정, 아무도 태그하지 않은 임의 RID를 가진 동기화 계정, 스프레이를 결코 제한하지 않는 잠금 정책.

Kestrel이 그래프보다 빠르다는 것이 아닙니다. 그래프가 물을 수 없는 질문에 답합니다.


모든 AD의 죄, 하나의 네이티브 exe로

위험 요소Kestrel이 찾는 것플래그
복제 및 위임DCSync 권한(복제를 할 수 있는 주체 - 실제로 복제하지 않고도), 제약 없는 / 제약된 / RBCD / S4U 위임--acl · --delegation
인증서 악용AD CS ESC1–5/9, NTAuth 저장소의 악성 CA, 장기 유효 인증서 지속성, AD FS DKM 키 ACL - Golden SAML의 전제 조건--adcs · --adfs
속성 내 지속성Shadow credentials, SID history 주입, tombstone-reanimation 권한, 숨겨진 객체, 스키마 defaultSecurityDescriptor 백도어, 고아 adminCount--shadowcreds · --sidhistory · --acl · --schema · --adminsdholder
평문 및 크래킹 가능한 자격 증명GPP cpassword, SYSVOL 전반의 unattend/sysprep 비밀 및 스크립트 비밀번호, Kerberoastable 및 AS-REP-roastable 계정, LAPS 적용 공백--gpp · --roast · --laps
교차 도메인 및 하이브리드권한 있는 그룹 내 외부 주체, Tier-0로 태깅된 Entra Connect 동기화 계정, 트러스트 상태, MachineAccountQuota로 생성된 컴퓨터 계정(mS-DS-CreatorSID)--groups · --trust · --machines
보안 태세 및 정찰비밀번호 / PSO 정책, krbtgt 나이, LLMNR / NBT-NS / WDigest / NTLMv1 GPO 설정, gMSA 판독자, 오래된 컴퓨터, 위임 토폴로지--pwdpolicy · --policy · --gmsa · --stale
고고학고아 위험 ACE(삭제된 주체가 보유한 권한 - SID가 아무에게도 해석되지 않음), 오래된 권한 있는 계정(잊혀진, 과도한 권한, 아주 오래된 비밀번호)--archaeology
도메인 강화dSHeuristics 익명 LDAP / AdminSDHolder 제외 플래그, Pre-Windows 2000 Compatible Access 광범위 멤버십--hardening
서비스 태세 (AD에서 읽음, 서비스로 패킷 전송 없음)Exchange-to-DA 권한 상승 및 EOL, SCCM 컨테이너 탈취 및 사이트 맵, ADIDNS 영역 중독(Authenticated Users가 레코드 생성 가능)--exchange · --sccm · --dns

보통 수십 개의 스크립트와 두 개의 언어에 흩어져 있는 20여 개 이상의 검사. 여기서는 하나의 바이너리이며 - 단일하고 심각도별로 정렬된 판정으로 끝납니다.


한 줄

Kestrel.exe --all --report audit.html

모든 것을 실행합니다. 전체 HTML 보고서를 받습니다. 그리고 콘솔의 맨 끝에는, 중요한 부분이 있습니다:

═══ Kestrel - Prioritized Findings ═══

  CRITICAL  DCSync         CORP\svc_sql - non-default principal can replicate directory changes (DCSync)
                          → fix: remove GetChanges/GetChangesAll from the principal on the domain head (dsacls) unless it is a DC
  CRITICAL  AD FS          CN=... - read access to the DKM key (Golden SAML precondition)
                          → fix: remove non-default read ACEs on the DKM object (dsacls) and rotate the token-signing certificate
  HIGH      Persistence    CN=... - object hidden from enumeration via a broad deny-read ACE
                          → fix: inspect the hidden object and remove the broad deny-read ACE (dsacls)

  [=] 2 critical · 1 high · 0 medium · 0 low

출력의 벽이 아니다. 중요한 발견들을 순위를 매겨, 각각을 해결할 명령과 함께 제시한다.


하나의 exe. 레드, 블루, 퍼플.

  • 레드 / 그레이 - 그래프가 놓치는 지속성과 위임을 열거하고, 기존 수집 데이터와 융합하기 위해 BloodHound CE OpenGraph로 바로 내보내거나(--opengraph), 임의의 주체에서 피벗한다(--from).
  • 블루 - 우선순위가 매겨진 조치 완료 발견 목록, 변경된 사항을 잡아내기 위한 지난주 스냅샷 대비 --diff, 그리고 정확한 탐지 흔적이 공개되어 화이트리스트에 추가하고 그 주변으로 자체 경보를 조정할 수 있는 도구.
  • 퍼플 - 양측이 동일하게 읽는 하나의 산출물. 레드가 찾고, 블루가 고치고, 모두가 같은 줄 번호를 가리킨다.

설계상 탐지 가능

Kestrel은 읽기 전용이다. 디렉터리에 절대 쓰지 않고, 복제하지 않으며, SeSecurityPrivilege가 필요 없고, 클라우드에 접근하지 않는다. 누가 DCSync를 할 수 있는지 읽는 것은 네트워크 상에서 DCSync를 수행하는 것과 전혀 다르다 - DRSUAPI도, 복제 서명 4662도 없다. 실행하는 모든 쿼리와 생성할 수 있는(그리고 생성할 수 없는) 모든 이벤트가 **FOOTPRINT.md**에 정리되어 있다. 감사 도구가 방어자에게 자신을 잡는 방법을 정확히 알려주는 것은 모순이 아니다 - 바로 그것이 핵심이다.


빠른 시작

빌드를 받는다. 모든 성공한 CI 실행은 Kestrel.exe 아티팩트를 게시한다 - Actions 탭에서 다운로드하면 되고, 툴체인은 필요 없다.

또는 직접 빌드한다. Visual Studio(v143+) 또는 MSBuild:

git clone https://github.com/ssteelfactor-oss/Kestrel.git
cd Kestrel
msbuild Kestrel.vcxproj /p:Configuration=Release /p:Platform=x64

순수 C, 서드파티 의존성 없음. /MT를 빌드하면 단일 자체 포함 실행 파일이 됩니다 - 도메인에 조인된 호스트에 놓고 일반 사용자로 실행하세요.

실행하세요.

Kestrel.exe --all --report audit.html      # everything, HTML report + ranked findings
Kestrel.exe --acl --adcs --adfs            # pick specific checks
Kestrel.exe --paths --from CORP\jdoe       # attack paths from one principal
Kestrel.exe --all --diff last-week.json    # what changed since the last snapshot
Kestrel.exe --all --opengraph graph.json   # export to BloodHound CE OpenGraph

모듈

--all을 실행하거나 원하는 하위 집합을 선택하세요. 전체 도움말: Kestrel.exe --help.

플래그스캔
--aclACL 엣지, DCSync 권한, 소유자/상속/정규 위생, 숨겨진 객체, reanimate-tombstones
--groups전이적 권한 있는 멤버십 + 외부 보안 주체
--delegation비제약 / 제약 / RBCD / S4U2Self
--paths / --fromTier-0로의 공격 경로 분석 (선택적으로 지정된 주체로부터)
--adcsAD CS 인증서 템플릿 / CA 감사 (ESC1–5/9) + NTAuth 저장소 + 유효성
--adfsAD FS DKM 키 ACL (Golden SAML 전제 조건)
--schema스키마 defaultSecurityDescriptor 백도어 감사
--trust도메인 / 포리스트 트러스트 상태
--machinesMachineAccountQuota(mS-DS-CreatorSID)를 통해 생성된 머신 계정
--roastKerberoast 가능 + AS-REP-roast 가능 계정
--shadowcreds섀도 자격 증명 (msDS-KeyCredentialLink)
--sidhistorysIDHistory 주입 (권한 있음 / 외부)
--adminsdholder고아 adminCount=1 객체
--gppSYSVOL 비밀 스윕 - GPP cpassword, unattend, 스크립트 자격 증명
--gpolateralGPO 로컬 그룹 → 측면 엣지 (AdminTo / CanRDP / CanPSRemote / ExecuteDCOM)
--policyGPO 보안 정책 (LLMNR / NBT-NS / WDigest / NTLMv1)
--pwdpolicy암호 / PSO 정책 · krbtgt 나이 · MachineAccountQuota
--hygiene자격 증명 위생 (PASSWD_NOTREQD / DONT_EXPIRE / 가역 / 설명 유출)
--gmsagMSA 암호 읽기 권한자 열거
--lapsLAPS 적용 범위 (레거시 + Windows LAPS 2023+)
--stalelastLogonTimestamp를 통한 오래된 컴퓨터
--topologySPN 디코딩을 통한 컴퓨터 토폴로지
--adwsADWS 엔드포인트 탐지 (DC당 9389/TCP)
--archaeology고아 위험 ACE (죽은 소유자, 살아있는 권한) + 오래된 권한 있는 계정
--hardening도메인 강화 플래그: dSHeuristics 익명 액세스 / SDProp 제외 + Pre-Windows 2000 Compatible Access
--exchangeExchange 상태: 버전/EOL + Exchange-to-DA 에스컬레이션 (도메인에 대한 WriteDACL) (서비스; 옵트인)
--sccmSCCM/MECM 상태: System Management 컨테이너 ACL + 관리 지점 / 사이트 맵 (서비스; 옵트인)
--dnsAD 통합 DNS (ADIDNS): 영역 CreateChild DACL + wpad/isatap/와일드카드 + DnsAdmins (서비스; 옵트인)
도구 다운로드