Mimikatz to narzędzie open source dla systemu Windows dostępne do pobrania z GitHuba. Po raz pierwszy opracowany w 2007 roku w celu zademonstrowania praktycznego exploita usługi Microsoft Windows Local Security Authority Subsystem Service, lub LSASS, Mimikatz jest w stanie zrzucić informacje o logowaniu do konta, w tym hasła czystego tekstu przechowywane w pamięci systemowej.
Mimikatz — francuski dla cute cat — jest narzędziem post-exploitation przeznaczonym do pomocy atakującym — czy to hakerom czarnego kapelusza, hakerom czerwonego zespołu czy testerom penetracyjnym — w wydobyciu identyfikatorów logowania, haseł i tokenów uwierzytelniających ze zhakowanych systemów w celu podniesienia przywilejów i uzyskania większego dostępu do systemów w naruszonej sieci.
Ten samouczek Mimikatz zawiera wprowadzenie do narzędzia hakowania danych uwierzytelniających, co robi Mimikatz i jak używać Mimikatz do wydobywania haseł logowania z systemu docelowego.
Hakerzy używają Mimikatz do rozszerzenia swojej obecności w sieciach ofiar poprzez wydobywanie i używanie kluczy, które mogły być ponownie użyte w innych systemach lub poprzez wydobywanie kluczy z kont o podwyższonych przywilejach, takich jak te używane przez administratorów.
Benjamin Delpy, francuski badacz bezpieczeństwa informacji, który stworzył Mimikatz, napisał na stronie Mimikatz GitHub, że oprogramowanie może być używane do „wydobywania haseł tekstowych, haszy, kodów PIN i biletów Kerberos z pamięci” lub do „wykonywania pass-the-hash, pass-the-ticket lub budowania Golden tickets”. Ataki Mimikatz wykorzystują standardowe schematy uwierzytelniania Windows, jak również uwierzytelnianie Kerberos.
Te możliwości sprawiają, że Mimikatz jest niezbędnym narzędziem dla atakujących: Mitre ATT&CK framework identyfikuje co najmniej 20 różnych grup zaawansowanych trwałych zagrożeń, które zostały wykryte przy użyciu Mimikatz. Jednak Mimikatz jest również kluczowym narzędziem dla obrońców, szczególnie tych przeprowadzających testy penetracyjne lub wykonujących ćwiczenia red team w celu zademonstrowania, jak dobrze — lub jak słabo — organizacja jest w stanie bronić się przed takimi atakami.
Pobieranie: How to download Mimikatz and get it running
Najlepszym miejscem do uzyskania Mimikatz jest strona projektu Mimikatz GitHub, gdzie można pobrać kod źródłowy Mimikatz. Prekompilowane binaria dla Windows są również dostępne ze strony Mimikatz GitHub.
Jeśli zdecydujesz się pobrać kod źródłowy Mimikatz, będziesz musiał skompilować kod za pomocą Microsoft Visual Studio. Pobranie dowolnej wersji Mimikatz, zarówno kodu źródłowego, jak i wstępnie skompilowanych binariów, może być wyzwaniem, ponieważ współczesne przeglądarki i systemy operacyjne klasyfikują Mimikatz jako niebezpieczny i blokują użytkowników przed jego pobraniem. Wiele produktów zabezpieczających punkty końcowe — w tym Windows Defender firmy Microsoft — zablokuje Mimikatz, ponieważ oprogramowanie to jest często wykorzystywane w atakach.
Jednym ze sposobów na uniknięcie blokady przez oprogramowanie antymalware jest użycie modułu Invoke-Mimikatz PowerShell, który umożliwia atakującemu z wykorzystaniem PowerShell, frameworka automatyzacji zadań firmy Microsoft, załadowanie i wykonanie Mimikatz zdalnie, bez potrzeby zapisywania pliku wykonywalnego na dysku docelowego systemu.
Do czego nadaje się Mimikatz?
Mimikatz potrafi wiele, a jego modułowa struktura oznacza, że nowe cechy i funkcje mogą być dodawane do platformy ze względną łatwością. Jak zauważono, uruchomienie Mimikatz jako modułu PowerShell czyni go jeszcze bardziej efektywną techniką ataku.
Główne funkcje, które umożliwia Mimikatz, obejmują:
- Wyciąganie haseł z pamięci. Po uruchomieniu z uprawnieniami administratora lub systemowymi, napastnicy mogą użyć Mimikatz do wydobycia tokenów uwierzytelniania w postaci plaintext — haseł i PIN-ów, na przykład — z procesu LSASS działającego w pamięci systemowej.
- Wydobywanie biletów Kerberos. Używając modułu Kerberos, Mimikatz może uzyskać dostęp do Kerberos API, umożliwiając szereg różnych exploitów Kerberos wykorzystujących bilety Kerberos, które zostały wydobyte z pamięci systemowej.
- Wydobywanie certyfikatów i ich kluczy prywatnych. Moduł Windows CryptoAPI umożliwia Mimikatz wydobywanie certyfikatów — i powiązanych z nimi kluczy prywatnych — przechowywanych w systemie ofiary.
Mimikatz staje się jeszcze potężniejszy w połączeniu z innymi platformami ataku, takimi jak narzędzie Microsoft PowerShell, platforma Metasploit lub inne narzędzia, które umożliwiają hakerom wykorzystanie danych uwierzytelniających wydobytych przez Mimikatz z systemów ofiary.
Poradnik: Konfiguracja Mimikatz i polecenia
Czy to wykonując Mimikatz z pliku wykonywalnego uruchomionego na systemie ofiary, czy też wykonując zdalnie narzędzie takie jak PowerShell, polecenia można uruchamiać ręcznie za pomocą wiersza poleceń konsoli lub wykonując skrypt do automatycznego uruchamiania.
Domyślnym formatem wydawania poleceń jest wprowadzenie modułu polecenia, po którym następują dwa dwukropki i nazwa polecenia. Można wprowadzić więcej niż jedno polecenie naraz, ale wszystkie polecenia zawierające spacje muszą być ujęte w cudzysłów.
Sesja poleceń rozpoczyna się w następujący sposób po wykonaniu Mimikatz:
mimikatz #
Aby opuścić Mimikatz, wprowadź polecenie exit.
Proces wydobywania haseł czystego tekstu rozpoczyna się od wywołania polecenia debug z modułu uprawnień. To polecenie podnosi uprawnienia dla Mimikatz do poziomu przywileju debug, i wygląda tak:
mimikatz # privilege::debug
Przywilej ’20’ OK
Aby zapisać dziennik interakcji z Mimikatz i wyników, wpisz:
mimikatz # log
Using 'mimikatz.log’ for logfile : OK
Domyślnym plikiem dziennika jest mimikatz.log, ale możesz podać inną nazwę pliku dziennika za pomocą polecenia. Na przykład:
mimikatz # log customlogfilename.log
Po włączeniu rejestrowania, reszta sesji zostanie nagrana w celu eksfiltracji lub analizy.
Prawdopodobnie najprostszym i najbardziej produktywnym poleceniem jest to, które wyodrębnia hasła tekstowe, wyświetla je na ekranie konsoli i zapisuje do pliku dziennika.
mimikatz # sekurlsa::logonpasswords
Polecenie logonpasswords wydobywa identyfikator użytkownika i hasło dla aktualnie zalogowanych i ostatnio zalogowanych użytkowników systemu docelowego.
Moduł sekurlsa zawiera inne polecenia do ekstrakcji poświadczeń Kerberos i kluczy szyfrujących, a nawet może wykonać atak pass-the-hash przy użyciu poświadczeń wydobytych przez Mimikatz.
Ten samouczek Mimikatz jest przeznaczony jako wprowadzenie do tego narzędzia hakerskiego. Warto wiedzieć, jak Mimikatz działa w praktyce i jak bardzo ułatwia exploity systemowe nawet niewyszukanym napastnikom.
Tutorial Mimikatz jest przeznaczony do wprowadzenia w tematykę hakerską.