Two-way Domain Trust
Last updated
Was this helpful?
Last updated
Was this helpful?
양방향 신뢰 관계는 서로가 서로를 신뢰하여 리소스에 접근할 수 있고, 각 도메인 객체가 다른 도메인에 마이그레이션 가능한 관계를 의미합니다. 일반적인 신뢰 모델에서 A ↔ B ↔ C
사이의 양방향 신뢰 관계가 구축되어 있을 때 A는 자동으로 C와의 양방향 신뢰 관계를 갖습니다.
또한 도메인 간의 트러스트 관계 혹은 단일 루트 도메인은 포레스트 단위로 취급되는데, 이때 각 포레스트 간의 신뢰 관계 또한 도메인 간의 신뢰 관계와 유사하게 구성됩니다. 단, 포레스트 관계에서는 A ↔ B ↔ C
환경에서 A 포레스트와 C 포레스트가 양방향 신뢰 관계를 갖는 전이성이 없으며 별도로 설정해야 합니다.
단방향 신뢰 관계에서 신뢰하는 도메인에는 신뢰받는 도메인의 NetBIOS 이름에 $
기호를 붙인 특수 계정이 생성됩니다. 양방향 신뢰 관계는 단방향 신뢰 관계가 서로 구성된 개념이므로, 서로의 도메인에는 상대 도메인의 NetBIOS + $ 특수 계정이 생성되어 있고, 이 계정의 패스워드는 서로 동일하다는 것을 알 수 있습니다.
PENTEST.LOCAL과 CONTOSO.COM 도메인이 양방향 신뢰 관계라는 것을 알았을 때, PENTEST.LOCAL에서는 CONTOSO$ 계정에 대한 TGT를 발급함에 따라 CONTOSO.COM 리소스에 접근할 수 있습니다.
PENTEST.LOCAL 계정에서 CONTOSO$ 계정의 NT 해시 덤프
CONTOSO$ 계정은 CONTOSO.COM\PENTEST$ 계정과 동일한 패스워드를 공유함
CONTOSO$ 패스워드를 이용하여 CONTOSO.COM\PENTEST$ TGT를 CONTOSO.COM에 요청
발급된 TGT를 이용하여 CONTOSO.COM 리소스 접근
PENTEST.LOCAL과 CONTOSO.COM이 양방향 신뢰 관계인 환경에서, 공격자는 PENTEST.LOCAL 도메인을 장악한 상황을 가정합니다. DCSync를 통하여 CONTOSO$ 계정의 NT 해시를 가져옵니다.
CONTOSO$ 계정의 해시는 CONTOSO.COM\PENTEST$와 일치한다는 것을 알고 있기 때문에, 장악한 도메인의 DCSync를 이용하여 CONTOSO.COM 도메인 객체 TGT를 얻습니다. 티겟을 발급 후 환경 변수로 등록한 이후 저장된 티켓을 확인합니다.
CONTOSO.COM에서 유효한 TGT를 이용하여 리소스에 접근합니다. 가능한 공격 방법은 다양하지만, 실습에서는 간단한 커버로스팅을 시연합니다.