Odzyskiwanie Active Directory po włamaniu.

W tym wpisie chciałbym przedstawić działania, które powinien podjąć administrator IT, aby ograniczyć powierzchnię ataku oraz przeprowadzić analizę i poszukiwanie działań hakera.

Co zrobić, gdy jesteśmy pewni, że nasza infrastruktura, a przede wszystkim Active Directory, zostało skompromitowane przez hakera, który mógł ukryć swoją działalność właśnie w kontrolerze domeny, tworząc przyczółek i możliwość powrotu w przyszłości, np. poprzez utworzenie użytkownika, zmianę polityk GPO, próbę podniesienia uprawnień.

Co należy zrobić:

Szybkie reakcje po infekcji.
Opisuje działania, które należy podjąć bezpośrednio po wykryciu zakażenia systemu.

Rozpoznawanie wektora ataku i ustalanie źródła zakażenia.
Proces identyfikacji typowych zachowań atakujących oraz ustalenie, przez który wektor doszło do infekcji.

Proces przywracania kontrolera domeny
Podstawowe kroki w procesie odzyskiwania danych i systemu po incydencie bezpieczeństwa.

Częste nieprawidłowe ustawienia dokonywane przez adminów.
Najczęściej występujące błędy w konfiguracji, które administratorzy domen mogą popełniać.

Działania po przywróceniu funkcjonalności
Kolejne kroki, które należy podjąć po zakończeniu procesu regeneracji systemu i danych.

1.Reakcja na incydent bezpieczeństwa AD.

Kluczowym celem hakerów jest uzyskanie stałej kontroli nad systemem. Pełne usunięcie zagrożeń z systemu jest procesem skomplikowanym i wymagającym czasu; dlatego istotne jest zredukowanie możliwości ataku przez napastnika i izolacja elementów infrastruktury (takich jak serwery czy urządzenia), które prawdopodobnie mogą być narażone na zagrożenie. Poniżej przedstawiono zwięzłą listę kontrolną działań, które należy podjąć na wstępnym etapie, zanim przystąpi się do procesu odzyskiwania systemu.

Wykonaj kopię zapasową kontrolera domeny; możesz to zrobić wbudowanym w system Windows narzędziem. Pozwoli to na późniejszą analizę pod kontem działania hakera czy złośliwego oprogramowania. Jeśli nie masz zainstalowanej roli Windows Backup, zrób to teraz.

Wybierz miejsce gdzie chcesz zrobić backup.

Wybierz dysk c:

Po pomyślnie utworzonej kopii zapasowej możesz teraz ponownie zainstalować system Windows Server, na którym wstępnie przygotujesz kontroler domeny, który w przyszłości posłuży do synchronizacji z innymi twoimi kontrolerami domeny. Na pozostałych kontrolerach domeny zablokuj na czas przywracania kontrolerów domeny po incydencie dodawanie nowych urządzeń i użytkowników oraz możliwość modyfikacji GPO.

2.Rozpoznawanie wektora ataku i ustalanie źródła infekcji.

Kiedy już zrobiliśmy naszą kopię zapasową kontrolera domeny, możemy go teraz w izolowanym środowisku otworzyć i przystąpić do analizy oraz identyfikacji skali incydentu. Na tym etapie będziemy korzystać z kilku narzędzi, takich jak dziennik zdarzeń, który rejestruje wszystkie zdarzenia, które miały miejsce w systemie, np. problemy z aplikacjami, problemy z niebieskim ekranem i wiele innych zdarzeń.

  • Bezpieczeństwo : rejestruje zdarzenia związane z bezpieczeństwem i uwierzytelnianiem.
  • Zastosowanie : Rejestruje zdarzenia już zainstalowanych programów.
  • System : Rejestruje zdarzenia komponentów systemu.

Kolejnym narzędziem które będzie dla nas bardzo przydatne jest BloodHound.

BloodHound to narzędzie służące do analizy zabezpieczeń, szczególnie tych opartych na Active Directory.

Oto kilka kluczowych możliwości BloodHound:

Mapowanie Relacji Uprawnień:

BloodHound pozwala na graficzne przedstawienie relacji uprawnień użytkowników i grup w sieci AD. Dzięki temu administratorzy mogą łatwiej zidentyfikować potencjalne słabości i skomplikowane relacje uprawnień, które mogą być wykorzystane do eskalacji uprawnień lub ruchu bocznego w sieci.

Wykorzystanie w Testowaniu Penetracyjnym: Narzędzie jest często stosowane przez specjalistów ds. bezpieczeństwa identyfikacji luk w zabezpieczeniach i planowania strategii obrony przed atakami.

Analiza Ataków: BloodHound może pomóc w identyfikacji ścieżek ataku, które hakerzy mogą wykorzystać do uzyskania kontroli nad kluczowymi zasobami w sieci, takimi jak konta o wysokich uprawnieniach.

Łatwość Użycia: Dzięki graficznemu interfejsowi użytkownika, BloodHound umożliwia łatwe wizualizowanie i analizowanie złożonych relacji uprawnień w sieci AD bez konieczności dogłębnego rozumienia skomplikowanych zapytań i skryptów.

Zobacz również informacje na jego temat MITER ATT&CK

Kolejnym narzędzie wartym uwagi jest PowerView to zaawansowane narzędzie PowerShell stworzone do interakcji z Active Directory. Jest częścią większego zestawu narzędzi znanego jako PowerSploit, który jest zbiorem modułów PowerShell używanych do audytu bezpieczeństwa.

Cech PowerView:

Enumeracja Domeny: PowerView umożliwia szczegółowe wyświetlanie informacji o strukturze domeny AD, takich jak użytkownicy, grupy, komputery, polityki, uprawnienia i inne ważne atrybuty.

Wykrywanie Relacji Zaufania: Narzędzie to może być używane do identyfikowania relacji zaufania między różnymi domenami w środowisku korporacyjnym.

Analiza Uprawnień: Można wykorzystać PowerView do analizowania uprawnień przypisanych różnym obiektom w domenie, co może pomóc w identyfikacji słabych punktów w zabezpieczeniach.

Automatyzacja Zadań: Jako moduł PowerShell, PowerView umożliwia automatyzację wielu zadań związanych z zarządzaniem i audytem domeny.

Wydobywanie Informacji: Można go używać do wydobywania cennych informacji z domen AD, które mogą być użyteczne podczas testowania penetracji lub audytu bezpieczeństwa.

Przydatne polecenia:

Get-NetDomain Zwraca informacje o aktualnej domenie.

Get-NetUser Wyświetla listę użytkowników w domenie. Można również użyć parametrów, aby uzyskać szczegółowe informacje o konkretnym użytkowniku, takie jak Get-NetUser -Username [nazwa_użytkownika].

Get-NetGroup Zwraca listę grup w domenie. Można dodać GroupName [nazwa_grupy] aby uzyskać szczegółowe informacje o konkretnej grupie.

Get-NetComputer Wyświetla listę komputerów w domenie. Można użyć różnych parametrów, aby filtrować wyniki, na przykład według systemu operacyjnego.

Get-NetGroupMember Wyświetla członków określonej grupy. Na przykład, Get-NetGroupMember -GroupName "Domain Admins" wyświetli członków grupy administratorów domeny.

Get-NetShare Zwraca informacje o udziałach sieciowych na określonym komputerze lub we wszystkich komputerach w domenie.

Get-UserProperty Umożliwia wyszukiwanie użytkowników z określonymi właściwościami (np. opisem użytkownika).

Invoke-ShareFinder Pomaga w lokalizowaniu udziałów sieciowych w domenie.

Get-NetOU Zwraca listę jednostek organizacyjnych (OU) w domenie. Jest to przydatne do zrozumienia struktury AD.

Get-NetSession Wyświetla aktywne sesje między komputerem lokalnym a innymi komputerami w domenie.

Get-NetLoggedon Ujawnia użytkowników, którzy zalogowali się na określonym komputerze.

Find-LocalAdminAccess Sprawdza, na których komputerach w domenie bieżący użytkownik ma uprawnienia administratora lokalnego.

3. Analiza zmian w AD

Za czym powinniśmy się rozglądać, szukając śladów naszego hakera w naszym systemie z usługą AD? Powinniśmy przejrzeć dziennik zdarzeń pod kątem specyficznych działań, takich jak.

  • ID 4729 : Usunięto członka z globalnej grupy zabezpieczeń.
  • ID 4728 : Członek dodany do globalnej grupy zabezpieczeń.
  • ID 4756 : Członek dodany do uniwersalnej grupy zabezpieczeń.
  • ID 4757 : Usunięto członka z uniwersalnej grupy zabezpieczeń.

Więcej poczytasz na ten temat tutaj

Oraz przyjrzeć sie zmianą w naszych GPO pod kontem ich modyfikacji. Możemy również poszukać nowo utworzonych użytkowników któży nie pasują do naszej firmy, możemy użyć polecenia powershell

Get-ADUser -Filter {((Enabled -eq $True) -and (Created -gt "Monday, April 10, 2023 00:00:00 AM"))} -Property Created, LastLogonDate | select SamAccountName, Name, Created | Sort-Object Created

3. Czynności powłamaniowe

Kiedy znaleźliśmy naszego hakera, na produkcyjnym działającym DC wykonaj:

  1. Wyłącz konto naszego hakera.
  2. Wymuś restart hasła dla wszystkich użytkowników.
    3.Wykonaj polecenie „Reset-ComputerMachinePassword” w PowerShell, aby zresetować obiekty komputerów w domenie.
    4.Sprawdź, czy osoba atakująca nie dodała żadnych zaplanowanych zadań ani aplikacji startowych w celu uzyskania stałego dostępu. Dostęp do harmonogramu zadań.
    5.Sprawdź dzienniki zdarzeń, listy kontroli dostępu (ACL) i zasady grupy pod kątem ewentualnych zmian.
    6.Przygotuj nowy serwer, na którym zainstalujesz nowy kontroler domeny. Zainstaluj na nim wszystkie możliwe aktualizacje, a następnie dodaj go do sieci produkcyjnej i zsynchronizuj z obecnym kontrolerem domeny. Przenieś na nowy DC wszystkie role FSMO, aby móc wyłączyć obecny działający DC i również podmienić go na nowy serwer.

Przydatne Polityki GPO do monitorowania zdarzeń

  1. Polityki haseł: Ustawienie zasad dotyczących złożoności haseł, długości haseł i czasu ich ważności. To zapewnia, że hasła są silne i regularnie zmieniane.
  2. Kerberos Policy: Konfiguracja ustawień związanych z protokołem Kerberos, takich jak maksymalny czas ważności biletu i tolerancja na błąd czasu.
  3. Polityki blokady kont: Ustawienie progu prób nieudanych logowań, które prowadzą do tymczasowej blokady konta, aby zapobiec atakom siłowym.
  4. Polityki audytu: Włączenie szczegółowego rejestrowania zdarzeń dla kluczowych aspektów AD, takich jak logowania, modyfikacje grup, zmiany w politykach bezpieczeństwa i tak dalej.
  5. Polityki kontroli użytkownika: Ograniczenie dostępu użytkowników do określonych zasobów, ustawień i aplikacji w sieci.
  6. Ochrona przed oprogramowaniem szpiegującym i wirusami: Zapewnienie, że wszystkie maszyny w sieci są chronione przed złośliwym oprogramowaniem.
  7. Ograniczenia oprogramowania: Definiowanie, które aplikacje mogą być uruchamiane w sieci, co może zapobiec uruchamianiu nieautoryzowanego lub szkodliwego oprogramowania.
  8. Polityki aktualizacji: Zapewnienie, że wszystkie serwery i stacje robocze regularnie otrzymują i instalują aktualizacje bezpieczeństwa.
  9. Zasady dostępu do sieci: Konfiguracja wymagań dotyczących zdrowia systemu dla komputerów próbujących uzyskać dostęp do sieci (NAP – Network Access Protection).
  10. Zasady firewalla: Konfiguracja zasad zapory sieciowej, aby kontrolować ruch przychodzący i wychodzący z sieci.
  11. Zasady użytkowania urządzeń zewnętrznych: Ograniczenia dotyczące korzystania z urządzeń USB i innych nośników zewnętrznych, aby zapobiegać wyciekom danych.
  12. Zasady szyfrowania: Wymuszanie szyfrowania dysków i danych, szczególnie na urządzeniach przenośnych, aby zapewnić ochronę danych.

Powyższe proponowane polityki GPO są tylko propozycją, każde środowisko może wymagać innego podejścia do zabezpieczenia infrastruktury.

Jak zabezpieczyć sie na przyszłość? 🙂

  1. Przeprowadzić audyt bezpieczeństwa całej infrastruktury informatycznej.
  2. Przygotować i wdrożyć politykę na czas incydentu bezpieczeństwa infrastruktury , tak aby podczas kryzysu mieć plan działania i nie działać chaotycznie, również sugeruje wydrukować taką politykę i trzymać w szafie 🙂 
  3. Zaopatrzyć sie w system SIEM jeśli jeszcze go nie posiadasz 🙂
  4. Blokowanie znanych  adresów IP hakerów i C2
  5. Aktualizowanie na bieżąco wszystkich komputerów, serwerów w sieci  i monitorowanie ich.
  6. Cyklicznie testowanie kopii zapasowych (przywracanie z kopii) wierze że to robisz 🙂 
  7. Posiadania co najmniej dwóch kontrolerów domeny i jeśli to możliwe korzystać z Azure AD DC. 

źródło:

  1. https://www.cisecurity.org/cis-benchmarks
  2. https://github.com/BloodHoundAD/BloodHound
  3. https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/securing-privileged-access-for-the-ad-admin-part-1/ba-p/259166
  4. https://github.com/PowerShellMafia/PowerSploit/tree/master/Recon