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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Get-RBCD-Threaded — Active Directory 환경에서 리소스 기반 제한 위임 공격 경로를 발견하는 도구 | Kitploit
도구/GitHubGitHub/fatrodzianko/get-rbcd-threaded
Privilege EscalationReconnaissancePenetration TestingRed Teaming
GitHubfatrodzianko/get-rbcd-threaded

Get-RBCD-Threaded

Active Directory 환경에서 리소스 기반 제한 위임 공격 경로를 발견하는 도구

저장소 보기
13317195년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Get-RBCD-Threaded

Active Directory 환경에서 리소스 기반 제한 위임(RBCD) 공격 경로를 찾는 도구

거의 전적으로 Elad Shamir의 훌륭한 블로그 게시물 "Wagging the Dog: Abusing Resource-Based Constrained Delegation to Attack Active Directory"와 harmj0y의 "A Case Study in Wagging the Dog: Computer Takeover"를 기반으로 합니다. 실제로 여기서 무슨 일이 일어나고 있는지 이해하고 싶다면 이 두 블로그 게시물을 읽어보세요. 솔직히 저도 절반밖에 이해하지 못합니다(그것도 과장입니다).

C#을 잘 모르기 때문에 SharpSploit과 SharpView의 소스 코드를 읽어 C#에서 도메인과 통신하는 방법을 알아냈습니다.

작동 방식

Get-RBCD-Thread는 현재 도메인의 모든 Active Directory 사용자, 그룹("Domain Admins" 및 "BUILTIN\Administrators" 같은 특권 그룹 제외) 및 컴퓨터 개체를 쿼리하여 해당 SID 목록을 수집합니다. 그런 다음 Get-RBCD-Threaded는 도메인의 컴퓨터 개체에 대한 모든 DACL을 AD에서 쿼리합니다. DACL의 각 ACE를 확인하여 사용자/그룹/컴퓨터 SID 중 하나가 컴퓨터 개체에 대해 "GenericAll", "GenericWrite", "WriteOwner" 또는 "WriteDacl" 권한을 가지고 있는지, 또는 해당 SID가 ms-DS-Allowed-To-Act-On-Behalf-Of-Other-Identity 특성(GUID: 3f78c3e5-f79a-46bd-a0b8-9d18116ddc79)에 대한 "WriteProp" 권한을 가지고 있는지 확인합니다. 그렇다면, 리소스 기반 제한 위임 공격을 시작할 준비가 된 것입니다!

사용법

Visual Studio에서 컴파일하세요. 이 도구는 DACL 개체 검색 속도를 높이기 위해 Parallel.ForEach를 사용하므로 .NET v4 이상이 필요합니다.

옵션

-u|-username=, 인증할 사용자 이름

-p|-password=, 사용자의 비밀번호

-d|-domain=, 인증할 정규화된 도메인 이름(FQDN)

-s|-searchforest, 트러스트 관계를 통해 도메인 및 포리스트를 검색합니다. 모든 도메인과 포리스트를 열거합니다.

-pwdlastset=, pwdLastSet을 기준으로 컴퓨터를 필터링하여 오래된 컴퓨터 개체를 제거합니다. 이 값을 90으로 설정하면 pwdLastSet 날짜가 90일 이상 지난 컴퓨터 개체가 결과에서 제외됩니다.

-i|-insecure, LDAPS로 인해 연결 문제가 발생할 경우 안전하지 않은 LDAP 연결을 강제합니다.

-o|-outputfile=, CSV 파일로 출력합니다. 파일의 전체 경로와 이름을 지정하세요.

-h|-?|-help, 도움말 옵션을 표시합니다.

이제 인증할 사용자 이름, 비밀번호 및 도메인을 지정할 수 있습니다. u/p/d 옵션이 비어 있으면 Get-RBCD-Threaded는 현재 사용자 컨텍스트의 도메인에 인증을 시도합니다.

-o는 CSV 파일로 출력합니다. 출력을 저장할 전체 파일 경로와 이름을 제공하세요.

기본 검색은 LDAPS를 강제하기 위해 포트 636을 사용하도록 지정합니다. 이로 인해 문제가 발생할 수 있습니다. 서버를 사용할 수 없다는 오류나 유사한 오류가 발생하면 "-i" 플래그를 사용하여 연결 문자열에서 포트 636을 제거해 보세요.

"pwdLastSet"이 필터링 옵션으로 추가되었습니다. 대규모 환경에서는 ACL에서 "대상" 개체로 더 이상 존재하지 않고 RBCD 공격에 사용할 수 없는 오래된 컴퓨터 개체가 많이 있을 수 있습니다(적어도 제가 아는 한). pwdLastSet을 일수로 설정하세요. 예: "-pwdlastset=90"을 설정하면 현재 날짜와 시간 기준으로 pwdLastSet 날짜가 90일 이상인 모든 컴퓨터 개체가 결과에서 제외됩니다.

20,000개 이상의 사용자, 그룹 및 컴퓨터(총 60,000개 이상의 개체)가 있는 환경에서 테스트했습니다. Get-RBCD-Thread는 약 60초 만에 완료되었습니다. 이에 비해 제가 이 Gist에서 임시로 작성한 PowerView 명령어로 유사한 검색을 수행했을 때는 몇 시간이 걸렸고 완료되지 않았습니다.

이 도구는 위임 공격을 직접 수행하지 않습니다. 방법을 알아보려면 Elad Shamir와 harmj0y의 블로그를 읽어야 합니다. 이 도구는 RBCD 공격을 위한 잠재적 대상을 찾는 데 도움을 줄 뿐입니다.

내 AD 랩에서의 사용 예:

alt text

탐지

이 도구는 LDAP 쿼리를 사용하여 Active Directory를 쿼리하는 것 외에는 아무것도 하지 않으므로 탐지하기 어려울 수 있습니다. Netflow를 사용하여 한 시스템에 대한 대량의 LDAP 쿼리/트래픽을 감지할 수 있습니다.

또 다른 가능한 탐지 방법은 허니팟 계정을 사용하는 것입니다. 특정 사용자/그룹이 쓰기 권한을 가진 컴퓨터 개체를 생성하는 것입니다. RBCD 공격은 컴퓨터 개체를 수정한 후 Kerberos 티켓을 위임하는 데 의존합니다. 허니팟 컴퓨터 개체에 대한 탐지 지점은 다음과 같습니다:

  1. 허니팟 컴퓨터 개체의 수정, 특히 "msds-allowedtoactonbehalfofotheridentity" 속성에 대한 수정 모니터링
  2. 허니팟 컴퓨터 개체의 서비스에 대해 요청된 Kerberos 티켓, 특히 관리자 사용자에 대한 Kerberos 티켓 모니터링

이 도구는 침투 테스트를 돕기 위해 만들었습니다. 그러나 방어자/블루팀/시스템 관리자도 이 도구를 사용하여 환경의 취약점을 찾고 (바라건대) 이를 해결하는 데 사용할 수 있습니다.

도구 다운로드