Menu dostępności

CrackMapExec – przyjaciel każdego pentestera

CrackMapExec to narzędzie wykorzystywane przez hackerów i testerów penetracyjnych w organizacjach na całym świecie. W środowisku cybersecurity uznawane jest za kompletny program, dzięki któremu można z powodzeniem dostać się do organizacji i uzyskać dostęp do najbardziej chronionych zasobów. Projekt narzędzia został stworzony w oparciu o kilka istniejących exploitów i skryptów służących do poruszania się po Active Directory. Wyposażony jest m.in. w moduł Mimikatz, co ułatwia kradzież i używanie zdobytych poświadczeń. Oparte na języku Python oprogramowanie open-source można pobrać tutaj. Istnieje również przekompilowana wersja specjalnie pod systemy Windows, mieszcząca się w jednym pliku binarnym. Po jej uruchomieniu witają nas następujące informacje o autorach.


Jedną z największych zalet CrackMapExec (CME) jest rozbudowana możliwość przeprowadzenia rozpoznania w środowisku. Ponadto możliwa jest integracja z modułami Empire i DeathStar, o których więcej w oddzielnym artykule. CME może więc służyć jako idealne narzędzie do ataku post-exploitation. Daje możliwości przejścia całej ścieżki Killchain od fazy rozpoznania, aż do przejęcia kontroli nad domeną. Aby lepiej poznać i zrozumieć możliwości tego narzędzia przyjrzyjmy się bliżej konkretnym przykładom.


Możliwości narzędzia


W naszym scenariuszu zakładamy oczywiście, że udało nam się dostać już do organizacji, poprzez na przykład kampanie phishingowe i uzyskać poświadczenia jednego ze zwykłych użytkowników. Na stacji roboczej podłączonej do domeny uruchamiamy nasze oprogramowanie.

Narzędzie daje nam bardzo duże możliwości „zwiadowcze”. Możemy na przykład wskazać podsieć, którą chcemy sprawdzić po kątem możliwości zalogowania się na znajdujące się w niej stacje robocze i serwery. Podajemy w tym celu: adres podsieci, nazwę konta użytkownika oraz jego hasło:

Próby logowania się na wszystkie komputery w danej podsieci

Przy okazji dowiedzieliśmy się o nazwach serwerów w podsieci/domenie oraz o systemach operacyjnych na nich działających. CME odpytuje serwery protokołem SMB po porcie 445. Oczywiście zobaczymy tylko hosty, które będą w danej chwili online.

Kolejną rzeczą niewymagającą żadnych uprawnień czy specyficznej wiedzy o środowisku jest wylistowanie wszystkich udostępnionych zasobów na hostach we wskazanej podsieci:

Listowanie wszystkich udostępnionych zasobów w danej podsieci i uprawnień do nich

Dodatkowo dostajemy informację o naszych uprawnieniach do tych zasobów.

Następną ciekawą komendą jest użycie parametru —spider. Pozwala to na skanowanie zasobów plikowych pod kątem występowania podanego słowa kluczowego. Wskazujemy listę hostów oraz konto z uprawnieniami. Do wyboru mamy sprecyzowanie takich opcji jak: katalog który ma być przeskanowany, poziom głębokości skanowania, słowo kluczowe które ma być wyszukiwane. Dodatkowo możemy określić czy skanować tylko nazwy plików i folderów, czy przeszukiwać zawartości plików po słowie kluczowym, co znacznie wydłuży czas skanowania. Wyniki wyszukiwania plików ze słowem „password” przedstawiono poniżej:

Skanowanie systemu plików pod kątem zawartości słowa kluczowego

Robi się dużo ciekawiej w przypadku przechwycenia konta mogącego logować się do kontrolera domeny. Wtedy możemy bezpośrednio odpytywać kontroler o informacje potrzebne do przeprowadzenia znanych ataków w Active Directory.

Poniżej dwa takie przykłady. Pierwsza komenda wypisuje wszystkie konta użytkowników podając przy okazji ich identyfikator w domenie, ilość logowań oraz nieudanych prób wpisania hasła. Drugie polecenie listuje wszystkie grupy w domenie wraz z ich numerem RID:

Listowanie wszystkich kont użytkowników w domenie ze szczegółami odnośnie logowań
Listowanie wszystkich grup w domenie wraz z identyfikatorem RID

Narzędzie pozwala na wiele więcej. Możemy na przykład wykonywać ataki brute-force oraz password spraying, podając tylko listę loginów oraz listę haseł ze słownika pobranego z sieci. Program sam wykona próby logowania na określony system za pomocą podanych nazw użytkowników i haseł, oraz ze wskazaną ilością prób.

W celu dowiedzenia się o polityce haseł w organizacji również możemy posłużyć się tym wszechstronnym narzędziem i pobrać te informacje z kontrolera domeny:

Informacje o polityce haseł

Widzimy tutaj, że po 5 nieudanych logowaniach nastąpi zablokowanie konta oraz że minimalna długość hasła to 3 znaki. Takie informacje pomagają w atakach słownikowych.

Bardzo fajnym udogodnieniem w pracy z CME jest zapisywanie naszych działań do logów. Wszystkie wyniki komend są przechowywane w plikach testowych, tak aby można było łatwo przetwarzać zdobyte informacje. Co więcej, w logach przedstawione są szczegóły, np. z wywołań Mimikatza na targetowanych hostach. Możemy prześledzić jakie działania są wykonywane w celu wydobycia poświadczeń.

Logi zapisywane przez CME – tutaj widzimy wywołanie Mimikatz na hoście

Podsumowanie


CrackMapExec to zdecydowanie pozycja obowiązkowa dla osób zajmujących się testowaniem i łamaniem zabezpieczeń. Równie dobrze, aby pracownicy Bezpieczeństwa IT znali jego możliwości i wiedzieli jak wykryć takie niepożądane działanie w swoim środowisku. Rozpoznanie czy ataki za pomocą CME zostaną szybko wykryte poprzez narzędzia sieciowe stosujące Machine Learning, ale także przez narzędzia monitorujące aktywność procesu LSASS czy ruch Kerberos.

Popularne

7-Zip podatny na NTFS Heap Overflow

7-Zip podatny na NTFS Heap Overflow

Jaroslav Lobačevski z GitHub Security Lab opublikował analizę nowej podatności odnalezionej w 7-Zip, oznaczonej jako GHSL-2026-140. Luka dotyczy parsera NTFS i prowadzi do uszkodzenia pamięci procesu, co w...
Krytyczna luka w Windows Search ujawnia hashe NTLMv2. Microsoft nie wydał jeszcze poprawki

Krytyczna luka w Windows Search ujawnia hashe NTLMv2. Microsoft nie wydał jeszcze poprawki

Eksperci z Huntress ujawnili nową podatność, umożliwiającą wyciek poświadczeń NTLMv2 za pośrednictwem mechanizmu Windows Search. Problem dotyczy obsługi schematu URI wykorzystywanego przez Eksplorator Windows d...
19-letnia luka w jądrze Linuksa naraża systemy na dostęp root

19-letnia luka w jądrze Linuksa naraża systemy na dostęp root

Właśnie opublikowano kod exploita Proof-of-Concept (PoC) dla luki CIFSwitch, która umożliwia użytkownikom o niskich uprawnieniach uzyskanie dostępu root w podatnych systemach Linux. Luka w zabezpieczeniach jądra...
YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

Jeszcze w piątek opisywaliśmy nowe podatności typu zero-day, o nazwach YellowKey oraz GreenPlasma, uderzające w mechanizmy bezpieczeństwa systemów Windows. Najnowsze informacje pokazują jednak, że spr...
Fałszywe ChatGPT i Claude infekują komputery. Cyberprzestępcy wykorzystują boom na AI

Fałszywe ChatGPT i Claude infekują komputery. Cyberprzestępcy wykorzystują boom na AI

Popularność sztucznej inteligencji rośnie w niespotykanym tempie. Narzędzia takie jak ChatGPT czy Claude stały się codziennym wsparciem dla programistów, analityków, studentów i firm. Miliony użytkown...