> For the complete documentation index, see [llms.txt](https://www.pentestwiki.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.pentestwiki.com/active-directory/ad-trust.md).

# AD Trust

AD 트러스트는 서로 다른 도메인/포레스트 간 인증 정보를 신뢰하고 리소스를 공유할 수 있도록 돕는 서비스입니다.&#x20;

## 정보 수집

{% tabs %}
{% tab title="Windows" %}

<pre class="language-powershell"><code class="lang-powershell"><strong># 트러스트 모델 수집
</strong>Get-ADTrust -Filter * | Select-Object Name, Direction
</code></pre>

{% endtab %}

{% tab title="UNIX" %}

<pre class="language-bash"><code class="lang-bash"><strong># 트러스트 모델 수집
</strong>ldapsearch -x -H ldap://192.168.1.9 -D "Attack3r@pentest.local" -w "Password123!" -b "dc=pentest,dc=local" "(objectClass=trustedDomain)" name trustType TrustDirection
</code></pre>

{% endtab %}
{% endtabs %}

## 트러스트 모델

<figure><img src="https://1400861083-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiA9eS35C4waXdT3c51bW%2Fuploads%2FvkCohtjxTwLibXx6oeJ6%2FForest%20A.png?alt=media&amp;token=e752b1da-6212-4f0c-a227-9b67158b19ef" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="166">모델</th><th>관계</th></tr></thead><tbody><tr><td>Forest trust</td><td>서로 다른 포레스트의 루트 트리 간에 이어지며 해당 루트 트리 하위 간에는 전이적 신뢰 관계</td></tr><tr><td>Root Tree Trust</td><td>같은 포레스트 내 다른 트리 루트 간 전이적 신뢰 관계</td></tr><tr><td>Parent/Child Trust</td><td>기존 상위 도메인 하위에 새로운 도메인이 조인될 경우 자동으로 부모/자식 관계가 맺어지는 양방향 전이적 신뢰 관계</td></tr><tr><td>External Trust</td><td>서로 다른 포레스트 내부 도메인 간의 비전이적 신뢰 관계</td></tr><tr><td>Shortcut Trust</td><td>커버로스 인증 경로를 단축하기 위한 포레스트 내부 도메인 간의 전이적 신뢰 관계</td></tr></tbody></table>

## 커버로스 인증 체계

외부 도메인에 대한 리소스 접근 시, 커버로스 8단계 인증을 거쳐야 합니다.

<figure><img src="https://1400861083-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiA9eS35C4waXdT3c51bW%2Fuploads%2F9E129kW6ovGMa2lHUwDk%2Fimage.png?alt=media&amp;token=7bcd0597-2a71-4193-b93b-104a8115ed06" alt="" width="563"><figcaption><p><a href="https://adsecurity.org/?p=1588">https://adsecurity.org/?p=1588</a></p></figcaption></figure>

1. 사용자는 도메인에 인증하여 TGT 발급 요청(AS-REQ)
2. KDC는 사용자의 자격 증명을 확인 후 TGT 발급(AS-REP)
3. 사용자는 외부 도메인 서비스에 대한 서비스 티켓을 요청(TGS-REQ)
4. KDC는 요청한 서비스가 외부 도메인임을 인지하고 레퍼럴 티켓 발급(TGS-REP)
5. 사용자는 레퍼럴 티켓을 통해 외부 도메인 KDC에 서비스 티켓 요청
6. 외부 도메인은 레퍼럴 티켓을 복호화하여 확인 후 서비스 티켓 발급
7. 사용자는 외부 서비스 이용

내부 도메인에 대한 TGS-REQ에서는 realm 필드를 내부 도메인으로 지정하되 sname-string 필드는 외부 SPN으로 지정합니다. 만약 외부 도메인이 같은 포레스트 내에 존재한다면 클라이언트가 요청한 sname-string이 실제로 유효한지 검증하고, 포레스트 외부에 존재한다면 트러스트 관계의 이름 접미사만 같다면 레퍼럴 티켓을 발급합니다.

<div><figure><img src="https://1400861083-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiA9eS35C4waXdT3c51bW%2Fuploads%2F3qlzwuu97OicqTyfliMB%2F1.png?alt=media&amp;token=9e4fc49e-96e6-4fa6-bfd7-8e76cf19f7f2" alt=""><figcaption><p>TGS-REQ(내부 도메인)</p></figcaption></figure> <figure><img src="https://1400861083-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiA9eS35C4waXdT3c51bW%2Fuploads%2FOh2VfKlUbg4botx59D17%2F2.png?alt=media&amp;token=b6425f4f-e63f-4865-a38d-e6d9a31a7d74" alt=""><figcaption><p>TGS-REP(내부 도메인)</p></figcaption></figure></div>

발급된 티켓을 가지고 외부 도메인에 서비스 티켓을 요청합니다. 이때는 처음 sname-string 필드에 명시했던 외부 도메인의 SPN을 기입하여 최종적으로 서비스에 대한 접근권을 획득합니다.

<div><figure><img src="https://1400861083-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiA9eS35C4waXdT3c51bW%2Fuploads%2FyW5EXJf8GsV5bopRUARM%2F3.png?alt=media&amp;token=f6f84b14-bcda-4d65-828a-62869043253b" alt=""><figcaption><p>TGS-REQ(외부 도메인)</p></figcaption></figure> <figure><img src="https://1400861083-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiA9eS35C4waXdT3c51bW%2Fuploads%2Fc6qsPxwPWTx2kB4N7Aii%2F4.png?alt=media&amp;token=dc413831-3da1-41c5-9e2a-f14755fb36a5" alt=""><figcaption><p>TGS-REP(외부 도메인)</p></figcaption></figure></div>

## References

{% embed url="<https://zindagitech.com/different-types-of-trusts-in-an-active-directory/>" %}

{% embed url="<https://harmj0y.medium.com/a-guide-to-attacking-domain-trusts-ef5f8992bb9d>" %}

{% embed url="<https://www.windows-active-directory.com/active-directory-trusts.html>" %}
