Jest to ostatni z serii postów, które nazywamy „Wiedzą QOMPLX”. Posty te mają na celu dostarczenie podstawowych informacji i spostrzeżeń na temat działań i trendów związanych z atakami, które napędzają złośliwe kampanie i z którymi badacze QOMPLX spotykają się w naszej pracy śledczej z klientami.
Aby zrozumieć międzyleśne relacje zaufania w Active Directory, musisz najpierw zrozumieć logiczną strukturę Active Directory zalecaną przez Microsoft. Active Directory ma wyraźną hierarchię, od góry do dołu. W tej hierarchii znajdują się: lasy, drzewa i domeny.
- Lasy reprezentują kompletną instancję Active Directory i są logicznymi kontenerami składającymi się z drzew domen, domen i jednostek organizacyjnych.
- Drzewa są zbiorami domen w tej samej przestrzeni nazw DNS; obejmują one domeny-dzieci.
- Domeny są logicznymi zgrupowaniami obiektów sieciowych, takich jak komputery, użytkownicy, aplikacje i urządzenia w sieci, takie jak drukarki.
Obiekty domenowe tworzące las współdzielą wiele krytycznych elementów strukturalnych. Obejmują one schematy i konfiguracje oraz dwukierunkową relację zaufania przechodniego, która jest automatycznie ustanawiana po dołączeniu obiektów do domeny w Active Directory. W tych relacjach przechodnich zaufanie jest rozszerzane między obiektami rodzica i dziecka w domenie oraz między domenami dziecka i obiektami zaufanymi tych domen. Te relacje zaufania są automatyczne i refleksyjne.
Zaufanie między lasami jest funkcją systemu Windows Server, która umożliwia zarządzanie zaufaniem między najwyższymi grupami – lasami Active Directory – wewnątrz i na zewnątrz organizacji.
Kluczowe punkty
- Zaufania międzyleśne to relacje zaufania między lasami, drzewami i domenami usługi Active Directory
- Zaufania są albo przechodnie, albo nieprzechodnie, jedno- lub dwukierunkowe
- Domyślne zaufania automatycznie ustanawiane w usłudze Active Directory to zaufania Tree-Root i Parent-Child
- Inne zaufania, takie jak external, realm, shortcut i forest trusts, muszą być określone przez uprzywilejowanego administratora
Trust Relationships Across AD Forests
Związki zaufania między domenami w lasach Active Directory muszą istnieć, zanim użytkownicy uzyskają dostęp do zasobów sieciowych w granicach przedsiębiorstwa lub zasobów zewnętrznych poza granicami sieci. Zaufanie to jest podstawowym elementem zarządzania tożsamością i dostępem. Jest to szczególnie ważne, gdy przedsiębiorstwa rozrastają się poprzez fuzje i przejęcia oraz gdy pracownicy coraz częściej wykonują pracę z domu lub innych zdalnych lokalizacji. Zaufanie między domenami jest również ważne, ponieważ przedsiębiorstwa bardziej polegają na relacjach z dostawcami i partnerami, aby rozwijać swój biznes.
Lasy zasadniczo działają jako granica bezpieczeństwa dla struktury tworzącej Active Directory, ale niektórzy eksperci ostrzegają, że to podejście może mieć swoje wady.
„Las Active Directory może być zaprojektowany z wieloma domenami, aby złagodzić pewne obawy dotyczące bezpieczeństwa, ale w rzeczywistości nie złagodzi ich ze względu na to, jak działają zaufania domen w lesie”, ostrzega Sean Metcalf, który prowadzi stronę Active Directory Security. „Jeśli grupa ma wymagania bezpieczeństwa dla własnej domeny ze względów bezpieczeństwa, jest prawdopodobne, że naprawdę potrzebują własnego lasu” – napisał.
Pomimo że istnieje wiele różnych sposobów atakowania Active Directory, aktorzy zagrożeń mogą również zdecydować się na nadużycie relacji zaufania domeny. Zbieranie informacji o relacjach zaufania podczas działań rozpoznawczych, gdy atakujący ma już oparcie w sieci, pozwala mu na potencjalne zidentyfikowanie ścieżek, którymi możliwy byłby ruch boczny. Ponieważ relacje zaufania domeny uwierzytelniają użytkowników na odpowiednich kontrolerach domeny, a odpowiednie zaufanie pozwala użytkownikom na dostęp do zasobów, atakujący mogą również podążać tymi samymi ścieżkami.
Atakujący mogą stosować wspólną strategię, która w pierwszej kolejności obejmuje wyliczanie relacji zaufania między lasami, drzewami i domenami, co buduje mapę potencjalnego zasięgu, jaki może mieć przeciwnik. Szereg natywnych metod Windows i wywołań API może zostać wykorzystanych do wyliczenia trustów, niektóre z nich obejmują NLtest i dsquery lub narzędzia open-source innych firm, takie jak Empire, PowerSploit lub PoshC2.
Takie samo podejście można przyjąć do wyliczenia użytkowników, grup lub serwerów, które mają podobne relacje zaufania, które mogą być nadużywane jako pomost między domenami. Zagrożenie może mieć wtedy wystarczająco dużo informacji, aby zdecydować, które konta będą celem znanych narzędzi i ataków, takich jak Pass the Ticket lub Kerberoasting, gdzie bilety serwisowe lub skrótowe dane uwierzytelniające są wykradane z pamięci i wykorzystywane do eskalacji przywilejów i lateral movement, lub są łamane w atakach offline i wykorzystywane do innych ataków.
Administratorzy Enterprise Active Directory mogą złagodzić te ataki poprzez audyt i mapowanie relacji zaufania między lasami i domenami, minimalizując ich liczbę, gdy tylko jest to możliwe. Inną najlepszą praktyką jest segmentowanie wrażliwych domen w sieci, zmniejszając powierzchnię ataku dostępną dla aktorów zagrożeń.
Typy zaufania w Active Directory
W międzyczasie, jak wspomniano powyżej, zaufanie w lesie Active Directory jest automatycznie ustanawiane jako dwukierunkowe i przechodnie. Oznacza to, że domeny rodzic i dziecko – drzewo i korzeń – nieodłącznie ufają sobie nawzajem. Oznacza to, że obiekty Active Directory mają zaufany dostęp do zasobów w tych domenach. Ponadto, gdy tworzone są nowe domeny-dzieci, dziedziczą one zaufanie od domeny nadrzędnej i również mogą współdzielić zasoby.
Zaufanie nieprzechodnie jest więc zaufaniem, które zatrzymuje się na domenach, z którymi zostało utworzone. W takim scenariuszu, domeny A i B mogą sobie ufać, a B i C mogą sobie ufać, ale to zaufanie nie rozciąga się między A i C bez oddzielnego jednokierunkowego zaufania tworzonego między A i C.
Zaufanie, tymczasem, może być tylko jednokierunkowe. Na przykład, jedna domena jest uważana za domenę zaufaną, a inna jest zaufana, dlatego zaufanie jest ustanawiane albo w kierunku wychodzącym, albo przychodzącym.
Wysokopoziomowy glosariusz zaufań w Active Directory wygląda następująco:
- Tree-Root Trust: Ten typ zaufania jest tworzony, gdy nowe domeny główne są dodawane do lasu Active Directory. Są to dwukierunkowe zaufania przechodnie i tylko domeny znajdujące się na szczycie każdego drzewa są częścią tego typu zaufania.
- Parent-Child Trust: Kiedy dodawane są nowe domeny-dzieci, dwukierunkowe zaufanie przechodnie jest automatycznie ustanawiane przez Active Directory między domeną-dzieckiem a jej rodzicem. Powiernictwa Parent-Child i Tree-Root są domyślnymi powiernictwami automatycznie ustanawianymi przez Active Directory.
- Powiernictwo leśne: Powiernictwa leśne muszą być tworzone przez uprzywilejowanego administratora. Ustanawia relację zaufania między dwoma lasami AD, pozwalając domenom w obu lasach na wzajemne zaufanie. Administrator może określić, czy zaufanie jest dwukierunkowe czy jednokierunkowe.
- Realm Trust: Ten typ jest używany do ustanowienia dwukierunkowych lub jednokierunkowych relacji zaufania między lasem Active Directory a środowiskiem Kerberos innym niż Windows, takim jak UNIX, Linux lub UNIX-like operating systems.
- External Trust: Powiernictwa zewnętrzne to nieprzechodnie powiernictwa tworzone między domenami Active Directory a domenami znajdującymi się w innym lesie lub między lasem AD a domeną sprzed Windows Server 2000, taką jak Windows NT.
- Powiernictwo skrótowe: Shortcut Trust ręcznie ustanawia relację zaufania między domenami w dużych lasach usługi Active Directory, która umożliwia poprawę czasów uwierzytelniania poprzez skrócenie ścieżki zaufania między domenami.
Możliwość tworzenia relacji zaufania między lasami jest ograniczona do tych uprzywilejowanych użytkowników, którzy są częścią grupy zabezpieczeń Domain Admins lub Enterprise Admins i mają uprawnienia do tworzenia relacji zaufania. Administratorzy, w międzyczasie, mogą również ograniczyć dostęp do zasobów do określonych tożsamości w obrębie lasu, jeśli zajdzie taka potrzeba. Microsoft udostępnia również snap-in dla AD domains and trusts, który weryfikuje zaufanie między lasami, drzewami lub domenami.
Związki zaufania między lasami, drzewami i domenami ustanawiają ścieżkę, na której użytkownicy są w stanie uzyskać dostęp do zasobów, których potrzebują. Jak opisano, niektóre z tych relacji są automatycznie ustanawiane przez Active Directory i pozwalają na dwukierunkowe zaufanie przechodnie. Zaufanie między lasami wymaga jednak starannego rozważenia relacji między użytkownikami i obiektami w domenach oraz zaufania, które musi zostać ustanowione, aby użytkownicy mogli łatwo uzyskać dostęp do zasobów po obu stronach relacji.
Dodatkowa lektura
Tutaj znajdują się poprzednie wpisy z naszej serii QOMPLX Knowledge; w najbliższych dniach i tygodniach spodziewaj się kolejnych z tej serii:
QOMPLX Knowledge: Golden Ticket Attacks Explained
QOMPLX Knowledge: Ataki na Srebrny Bilet wyjaśnione
Wiedza QOMPLX: Reagowanie na ataki typu Golden Ticket
QOMPLX Wiedza: Ataki DCSync Wyjaśnienie
QOMPLX Wiedza: Ataki DCShadow Wyjaśnienie
QOMPLX Wiedza: Ataki Pass-the-Ticket Wyjaśniono
QOMPLX Wiedza: Ataki Kerberoasting Wyjaśniono
QOMPLX Wiedza: Kerberos Delegation Attacks Explained
Inne linki:
MSMVPs: Active Directory Trusts
TechGenix: Managing Active Directory Trusts in Windows Server 2016
Microsoft: Security Considerations for Trusts
Microsoft: What are Domains and Forests
TechTarget: How to Create a Cross-Forest Trust in AD
Mitre ATT&CK: Domain Trust Discovery
Harmj0y: A Guide to Attacking Domain Trusts
.