Jak łatwo można włamać się do Active Directory i co zrobić, aby się przed tym chronić?

Jak jedno kliknięcie w złośliwy załącznik może wpłynąć na całą firmę? Myślisz, że takie zagrożenie dotyczy tylko komputera, na którym je otworzymy? Może to być pierwszym krokiem w kierunku pełnego ataku na sieć firmową, w tym na Active Directory (AD) – czyli najważniejszy element infrastruktury IT wielu organizacji.

Tworzenie bezpiecznego środowiska testowego

Zanim zaczniemy, warto zaznaczyć, że tego typu testy powinny być przeprowadzane w odizolowanym, bezpiecznym środowisku. Do tego celu polecamy Proxmoxa z zainstalowanym GOAD (ang. Game of Active Directory), umożliwiającego symulację rzeczywistego środowiska AD.

Dzięki temu możemy bezpiecznie testować różne scenariusze ataków i konfiguracji. Do komunikacji w sieci używamy PFSense z konfiguracją OpenVPN, co dodatkowo odseparowuje sieć od innych.

Przydatne linki:

konsultacje

Wzmocnij cyberbezpieczeństwo
swojej firmy już dziś!

Zapisz się na 30-minutową darmową konsultację, aby wstępnie omówić potrzeby związane z cyberbezpieczeństwem w Twojej firmie.
Wspólnie znajdziemy rozwiązanie dopasowane do specyfiki Twojej działalności!

Krok 1: Rozpoznanie sieci

				
					netexec smb 192.168.10.0/24 
				
			

Rozpoczynamy od rozpoznania środowiska. W pierwszym etapie skanujemy sieć w poszukiwaniu maszyn dostępnych z naszego punktu widzenia. Do tego celu idealnie nadaje się narzędzie NetExec, które umożliwia skanowanie sieci pod kątem serwerów SMB i identyfikację maszyn podatnych na ataki.

NetExec (dawniej CrackMapExec) to narzędzie służące do testowania bezpieczeństwa sieci, szczególnie w środowiskach Windows. Umożliwia ono automatyczne skanowanie i atakowanie wielu hostów w celu zidentyfikowania potencjalnych słabości w systemach, takich jak słabe hasła czy błędy konfiguracji. NetExec pozwala m.in. na sprawdzenie, czy można uzyskać dostęp do zasobów sieciowych, uruchamianie komend na zdalnych komputerach, a także wykonywanie innych działań w ramach testów penetracyjnych. Jest to bardzo wszechstronne narzędzie dla specjalistów zajmujących się bezpieczeństwem IT.

Rozpoczynamy od rozpoznania środowiska. W pierwszym etapie skanujemy sieć w poszukiwaniu maszyn dostępnych z naszego punktu widzenia. Do tego celu idealnie nadaje się narzędzie NetExec, które umożliwia skanowanie sieci pod kątem serwerów SMB i identyfikację maszyn podatnych na ataki.

Za pomocą NetExec przeprowadzamy skanowanie sieci, np. 192.168.10.0/24. To proste narzędzie szybko ujawniło nam obecność kilku maszyn, w tym serwery Windows Server 2016 i 2019.

Krok 2: Enumeracja użytkowników

				
					netexec smb 192.168.10.11 –users
				
			

Teraz, gdy mamy już dostęp do kilku maszyn, czas sprawdzić, czy możemy uzyskać więcej informacji. Skupiamy się na jednym z kontrolerów domeny – w tym przypadku maszyna z adresem IP 192.168.10.11.

Wystarczy jedno niedopatrzenie – w tym przypadku kontroler domeny umożliwia enumerację użytkowników bez logowania! Tak, dobrze przeczytałeś. Nie trzeba znać hasła ani mieć żadnych specjalnych uprawnień, żeby pobrać listę użytkowników na serwerze. Używając ponownie NetExec, jesteśmy w stanie łatwo uzyskać dostęp do pełnej listy użytkowników. To poważny błąd, który może otworzyć drzwi do dalszych ataków.

Często wystarczy jedno niedopatrzenie, aby otworzyć drzwi do dalszych ataków. W sytuacji, gdy kontroler domeny pozwala na enumerację użytkowników bez konieczności logowania, atakujący zyskuje dostęp do pełnej listy kont. To poważna luka, która, choć rzadko spotykana w nowoczesnych, dobrze zabezpieczonych środowiskach produkcyjnych, nadal może występować. Problem ten polega na tym, że można pobrać listę użytkowników, nie znając haseł ani nie posiadając specjalnych uprawnień, co znacząco upraszcza dalsze działania, takie jak ataki brute force.

W praktycznych scenariuszach, nawet jeśli dostęp do listy użytkowników jest niemożliwy, konta w firmach są zwykle tworzone według pewnego schematu, np. imię.nazwisko, i.nazwisko, czy inazwisko. Dlatego, osoba chcąca zaatakować takie środowisko, często musi najpierw odgadnąć ten wzorzec. Dobrym punktem wyjścia jest zebranie informacji o pracownikach – dane te można znaleźć np. na stronie firmowej lub portalach społecznościowych, m.in. LinkedIn. Na tej podstawie można stworzyć listę potencjalnych kont użytkowników.

Przykładem może być firma, gdzie użytkownicy nazywani są wg wzoru imię.nazwisko. Zakładając, że mamy pracownika o imieniu Paweł Hordyński, można wygenerować różne warianty nazw kont:

  • pawel.hordynski
  • p.hordynski
  • pawel
  • hordynski
  • ph
  • phordynski

Po stworzeniu takiej listy potencjalnych loginów, warto użyć narzędzia kerbrute, dostępnego na GitHubie, aby sprawdzić, które z kont faktycznie istnieją w domenie. Kerbrute pozwala na automatyczne przeszukiwanie Active Directory, próbując dopasować login do rzeczywistego użytkownika. Jeśli uda się znaleźć prawidłowy wzór nazw kont, można dalej budować listę użytkowników na podstawie danych publicznie dostępnych o pracownikach firmy.

W rzeczywistym scenariuszu, kiedy struktura nazewnictwa zostanie rozpoznana, można stworzyć bardziej rozbudowaną listę użytkowników, np.:

  • pawel.hordynski
  • jan.kowalski
  • alicja.nowak

Taki proces staje się jeszcze bardziej efektywny, jeśli firma posiada kilkaset lub nawet kilka tysięcy pracowników. Automatyzacja tego kroku przyspiesza cały atak i sprawia, że narzędzia takie jak kerbrute stają się niezwykle przydatne w zdobywaniu informacji o użytkownikach domeny Active Directory. W przykładzie z domeny GOAD można wykorzystać dane z publicznie dostępnych stron, np. „Game of Thrones”, gdzie użytkownicy w systemie mogą mieć wzory kont typu samwell.tarly czy arya.stark.

Dzięki zastosowaniu takich narzędzi i strategii, proces odszukiwania użytkowników staje się szybszy i bardziej efektywny, a zdobyta lista kont otwiera możliwość kolejnych kroków, np. ataki na hasła.

Krok 3: Atak brute force

				
					netexec smb 192.168.10.11 -u users.txt -p users.txt –no-bruteforce
				
			

Mając już listę użytkowników, możemy przejść do ataku brute force na ich hasła. Tworzymy pliki tekstowe – jeden z listą użytkowników, drugi z najczęściej używanymi hasłami. Następnie znowu używamy NetExec. To narzędzie pomoże nam spróbować dopasować hasła do użytkowników.

Atak brute force na hasła użytkowników wymaga przygotowania dwóch plików tekstowych: jednego zawierającego listę użytkowników, a drugiego – zestaw popularnych haseł. Mając te dane, możesz przeprowadzić proces sprawdzania, czy któreś z haseł pasuje do kont użytkowników, używając narzędzia NetExec.

W trakcie tego ataku napotkasz pewne powtarzające się problemy, które znacząco ułatwiają włamanie. Jednym z takich problemów jest stosowanie zbyt prostych haseł, często obecnych w powszechnie dostępnych słownikach, np. „qwerty123”. To przypadek tzw. weak password – słabych haseł. Równie częsty scenariusz to sytuacja, gdzie login i hasło są identyczne, a osoba, która założyła konto, zapomniała o jego istnieniu. Takie błędy są często spotykane w infrastrukturze, a co najważniejsze, dają bezpośredni dostęp do systemu, co stanowi poważne zagrożenie.

Kolejnym przykładem łatwej do wykorzystania luki jest tzw. default password, czyli domyślne hasło przypisane do konta, które nigdy wcześniej nie zostało użyte. Jeśli administrator założył konto, ale użytkownik go nie potrzebował lub nigdy się nie zalogował, hasło pozostaje niezmienione. Dzięki narzędziu NetExec, można takie hasła wykryć i szybko wykorzystać, uzyskując dostęp do konta.

W każdej z tych sytuacji słabości systemu wynikają z niewłaściwego zarządzania hasłami oraz braku odpowiednich procedur zabezpieczeń, co prowadzi do istotnych luk w bezpieczeństwie.

Takie ataki są często skuteczne, ponieważ wiele osób wciąż używa domyślnych, łatwych do odgadnięcia haseł. Przy odpowiedniej konfiguracji, możesz trafić na konto z domyślnym hasłem w zaledwie kilka minut.

Krok 4: Logowanie się do zhakowanego konta

				
					xfreerdp /v:192.168.10.11 /u:hodor /p:hodor
				
			

Kiedy już znajdziesz poprawne dane logowania – co często jest tylko kwestią czasu – możesz zalogować się na zdalny serwer. W naszym przykładzie, login i hasło użytkownika „hodor” okazały się być prawidłowe. Używając narzędzia xfreerdp, uzyskaliśmy pełny dostęp do konta użytkownika. Z tego punktu możliwości są ogromne.

konsultacje z cyberguru

Gotowy na wzmocnienie cyberbezpieczeństwa swojej firmy?

Zarezerwuj darmową 30-minutową konsultację, aby omówić potrzeby Twojej firmy w zakresie ochrony danych i cyberbezpieczeństwa. Wspólnie zidentyfikujemy zagrożenia i znajdziemy najlepsze rozwiązania dopasowane do Twojego biznesu.

Porozmawiajmy! Kliknij w poniższy przycisk i umów się na bezpłatną konsultację.

Co dalej?

Dostęp do konta użytkownika otwiera ogromne możliwości. Teraz można próbować podnieść swoje uprawnienia i uzyskać dostęp do konta administratora domeny. To jednak temat na osobny artykuł. Ważne jest jednak zrozumienie, że mały błąd w konfiguracji AD może pozwolić atakującemu na pełną kompromitację sieci firmowej.

Jak się zabezpieczyć?

Zabezpieczenie AD przed tego typu atakami wymaga regularnych audytów bezpieczeństwa i odpowiedniej edukacji pracowników. Świadomość zagrożeń związanych z phishingiem i bezpieczeństwem sieci jest absolutną podstawą. Pracownicy muszą wiedzieć, jak unikać niebezpiecznych linków i załączników w e-mailach, a także dlaczego silne hasła są niezbędne. 

Nie zapominaj również o kopii zapasowej. Nawet najlepiej zabezpieczona sieć może paść ofiarą ataku ransomware.

Podsumowanie 

Zaledwie kilka błędów w konfiguracji może otworzyć drogę do całkowitej kompromitacji sieci firmowej. Regularne audyty, edukacja pracowników oraz solidna strategia tworzenia kopii zapasowych są podstawowymi krokami w kierunku zabezpieczenia Twojej sieci.

Zastanawiasz się, jak zabezpieczyć swoją infrastrukturę? Skontaktuj się z nami – jesteśmy tu po to, by pomóc Ci w ochronie Twojego środowiska IT.

współpraca

Szukasz stałej, kompleksowej obsługi bezpieczeństwa IT Twojej firmy?

Współpracuj ze mną w modelu CISO as a Service
Zostanę zewnętrznym szefem cyberbezpieczeństwa Twojej firmy

CISO as a Service od Cyberguru to: