Co to jest Mimikatz i jak działa?
Mimikatz to obecnie całkiem popularne narzędzie hakerskie, choć nie tylko przestępcy znają je i wykorzystują na co dzień. Ten program o otwartym kodzie źródłowym służy przede wszystkim do wykradania poświadczeń z urządzeń operujących na systemach Windows.
Mimikatz wykorzystuje pamięć systemową, z której to ekstrahuje takie dane, jak hasła, loginy czy poświadczenia protokołu Kerberos. Informacje te mogą zostać później wykorzystane do uzyskania dostępu do systemu, sieci czy aplikacji. Choć sam program Mimikatz nie jest złośliwym oprogramowaniem, to różne jego wersje powszechnie występują jako „dodatek” do wszelkiej maści oprogramowań malware wykradających poufne dane.
Oprogramowanie Mimikatz jest wciąż rozwijane, darmowe, ma otwarty kod źródłowy i jest dostępne do pobrania ze strony GitHub jego twórcy – Benjamina Delpy. W trakcie pisania tego artykułu dostępna jest wersja 2.2.0 20220919 z września 2022 roku. Jak pisze sam twórca: Mimikatz to „niewielkie narzędzie do zabawy z zabezpieczeniami Windowsa”.
Jak Mimikatz został narzędziem hakerskim?
Benjamin Depy stworzył program Mimikatz w roku 2007, chcąc udowodnić, że ówczesne systemy uwierzytelniania Windows posiadały istotne luki w zabezpieczeniach. Dzisiaj – niemalże dwie dekady później – Mimikatz wciąż działa i ma się dobrze.
Początkowo oprogramowanie miało na celu umożliwienie exploita funkcji systemu Windows znanej jako WDigest, zaprezentowanej przez Microsoft po raz pierwszy w Windowsie XP. Protokół ten ułatwiał przekazywanie poświadczeń w zwykłym tekście (tj. niezakodowanych) pomiędzy protokołem HTTP a warstwą SASL aplikacji.
Poświadczenia były zapamiętywane i przechowywane w pamięci RAM urządzenia, skąd ktoś mógłby je przechwycić, gdyby tylko wiedział jak. Otóż Benjamin Depy wiedział – i tak narodził się Mimikatz.
Stworzenie Mimikatza nie miało na celu nikomu zaszkodzić, a raczej było ostrzeżeniem dla Microsoftu i próbą udowodnienia, że jego rozwiązania w zakresie bezpieczeństwa były niewystarczające. Oczywiście, od tamtej pory twórcy systemu Windows wypuścili wiele aktualizacji, a oryginalny Mimikatz w Windows 10 nie działa już tak, jak dawniej, bo funkcja WDigest jest w nim domyślnie wyłączona. Sam Microsoft wycofuje się z wykorzystania jej od Windowsa 11 (lecz deklaruje wsparcie dla starszych systemów).
Mimo to wydaje się, iż Mimikatz wciąż depcze po piętach programistom z Microsoftu, bo oprogramowanie jest nadal wykorzystywane zarówno przez hakerów, jak i specjalistów od cyberbezpieczeństwa. Popularne przykłady jego użycia to m.in. słynne ataki NotPetya i WannaCry.
Choć Mimikatz cieszy się złą sławą, to nie jest on ani wirusem, ani typem malware, a zwyczajnym narzędziem. Fakt – w niewłaściwych rękach może wyrządzić wiele szkód. Mimikatz jest jednak chętnie wykorzystywany nie tylko przez hakerów, ale i przez zespoły zajmujące się bezpieczeństwem do testowania systemów i wykrywania luk w zabezpieczeniach.
Co robi Mimikatz?
Mimikatz potrafi przeprowadzać ataki bez zapisywania plików na dysku, po prostu ładując biblioteki DLL do pamięci systemowej, szczególnie z pomocą programu PowerShell (metoda invoke-mimikatz). Istnieje kilka rodzajów ataków, które program Mimikatz jest w stanie przeprowadzić:
- Pass-the-hash. Atak Mimikatz Pass-the-hash polega na użyciu wykradzionych hashy (zaszyfrowanych haseł) w celu włamania się do kolejnych urządzeń w sieci. Atakujący wykorzystuje hash do podszycia się pod uwierzytelnionego użytkownika. Metoda nie wymaga odszyfrowania zakodowanych hashy.
- Overpass-the-hash. W tej metodzie atakujący pozyskuje klucz od kontrolera domeny, dzięki któremu może uzyskać dostęp do innych usług, a także baz danych, serwerów i innych członków domeny.
- Pass-the-ticket. Atak ten wykorzystuje domyślnie występujący w systemach Windows protokół uwierzytelniania Kerberos. Polega na przekazaniu skradzionego biletu uwierzytelniającego innemu komputerowi, skąd atakujący może podszyć się pod innego użytkownika i wykorzystać jego uprawnienia, by zyskać dostęp do przyznanych mu zasobów.
- Pass-the-key. Podobny do ataku Pass-the-hash, z tym że zamiast hashy, atakujący posługuje się kluczami szyfrowania, by włamać się do systemu.
- Atak DCSync. W ataku Mimikatz DCSync haker symuluje zachowanie kontrolera domeny i prosi inne kontrolery o replikowanie poufnych informacji.
- Manipulowanie biletami Kerberos. Bilet Kerberos stanowi certyfikat umożliwiający uwierzytelnienie tożsamości użytkownika. Atak z użyciem Mimikatz może polegać na manipulowaniu biletami, by uzyskać dostęp do systemów i usług.
- Golden Ticket: Jednym z rodzajów takiej manipulacji jest tzw. Mimikatz Golden Ticket Attack, czyli atak „złotego biletu”, w którym to atakujący konfiguruje własny kontroler domeny i uzyskuje nieograniczony dostęp do jej zasobów.
- Silver Ticket: Inny rodzaj ataku z wykorzystaniem protokołu Kerberos to Silver Ticket Attack, czyli atak „srebrnego biletu”. W tym przypadku haker wykorzystuje sfałszowany bilet TGS dla określonych usług (nie uzyskuje dostępu do całej domeny, jak w przypadku ataku Golden Ticket).
Czy Mimikatz to złośliwe oprogramowanie?
Mimikatz nie jest typem złośliwego oprogramowania, lecz narzędziem. Jego pobieranie i prywatne wykorzystywanie w celach naukowych nie jest nielegalne. Faktem jest jednak, że program ten nie cieszy się dobrą sławą, a to za sprawą jego wykorzystania przez cyberprzestępców. Ponieważ potrafi wykradać poufne dane, jest bardzo często dołączany do pakietów złośliwego oprogramowania.
Mimikatz jest też powszechnie wykorzystywany przez specjalistów ds. cyberbezpieczeństwa, jako że pozwala wykrywać luki w zabezpieczeniach i testować systemy.
Czy można wykryć Mimikatz?
Mimikatz da się wykryć, ale nie jest to zadanie łatwe i wymaga dość zaawansowanej wiedzy technicznej oraz użycia aplikacji PowerShell i Sysmon. Mimikatz jest w stanie działać w pamięci urządzenia, nie zapisując niczego na dysku. Zaawansowani użytkownicy mogą szukać procesów i modułów charakterystycznych dla Mimikatz, z których to moduł sekurlsa::logonpasswords jest najbardziej typowy dla tego oprogramowania. Więcej nazw modułów oraz komendy Mimikatz można znaleźć na stronie GitHub twórcy. Warto pamiętać, że narzędzie jest rozwijane, więc w przyszłości mogą pojawić się kolejne moduły.
Jak chronić się przed Mimikatz?
- Wyłączenie WDigest. W nowszych systemach, takich jak Windows 10 / Windows 11, funkcja WDigest powinna być domyślnie wyłączona. Warto to jednak zweryfikować, a jeśli korzystasz ze starszej wersji systemu – powinieneś rozważyć ręczne wyłączenie WDigest, jeśli go nie potrzebujesz.
- VPN. Choć sam płatny czy darmowy VPN nie chroni przed złośliwym oprogramowaniem zawierającym pliki Mimikatz, to zwiększa ogólne bezpieczeństwo podczas przeglądania sieci. VPN zapewnia dodatkowe szyfrowanie danych, dzięki czemu stają się one trudniejsze do przechwycenia. Zabezpiecza również połączenie (np. podczas korzystania z publicznego Wi-Fi), zmniejszając ryzyko podsłuchu.
- Ochrona LSA. one point
- Usługa LSA. (Local Security Authority) jest wykorzystywana do weryfikacji kont, ale może być exploitowana przez hakerów. Funkcja ochrony LSA chroni poświadczenia i dane użytkowników przed kradzieżą. Można ją włączyć z poziomu panelu: Zabezpieczenia Windows > Zabezpieczenia urządzenia > Izolacja rdzenia.
- Zarządzanie uprawnieniami do debugowania. Odebranie kontom uprawnień do debugowania może zwiększyć ich odporność na ataki z użyciem Mimikatza, jako że program ten wymaga ich do wyłudzenia danych z pamięci systemowej.
- Aktualizacje systemowe. Microsoft regularnie wypuszcza aktualizacje do systemów Windows 10 i 11. Aktualizacje te zawierają „łatki” bezpieczeństwa, łatające różnego rodzaju luki w zabezpieczeniach. Instalowanie aktualizacji systemowych zwiększa ochronę przed wszystkimi rodzajami zagrożeń – nie tylko oprogramowaniem Mimikatz.
- Silne i unikalne hasła. „1234”, „admin”, imię użytkownika – to nie są silne hasła. Tego typu kody można łatwo odgadnąć nawet bez użycia dodatkowego oprogramowania. Hasła powinny być skomplikowane i unikalne, tj. nie powtarzać się między różnymi kontami.
- Uwierzytelnianie wieloetapowe. MFA, czyli uwierzytelnianie wieloetapowe (lub wieloskładnikowe) to metoda zwiększająca ochronę konta i sprawiająca, że przejęcie nad nim kontroli jest trudniejsze. Nawet jeśli haker uzyska dane uwierzytelniające do konta, do zalogowania będzie potrzebował dodatkowego potwierdzenia tożsamości, na przykład jednorazowego kodu.
Punkty końcowe i EDR
Ochrona punktów końcowych (Endpoint Security) jest dziś ogromnie ważną praktyką dla zachowania cyberbezpieczeństwa. Punkty końcowe w informatyce to wszystkie urządzenia „wejścia”, czyli punkty podłączone do sieci – komputery osobiste, laptopy, tablety, drukarki sieciowe i tym podobne.
Ochrona punktów końcowych ma na celu zapewnienie, że nie dojdzie do nieautoryzowanego dostępu. Taki dostęp jest bowiem jednym z częstszych powodów naruszenia bezpieczeństwa danych. By chronić punkty końcowe, warto korzystać z odpowiedniego oprogramowania wykrywającego zagrożenia, w tym znane pliki oprogramowania Mimikatz.
Poza tym należy wdrożyć system EDR (Endpoint Detection and Response) monitorujący punkty końcowe i wykrywający zagrożenia w czasie rzeczywistym. Nowoczesne systemy EDR wykorzystują techniki analizy behawioralnej, dzięki którym potrafią dostrzegać anomalie w zachowaniach punktów końcowych.
Analiza zdarzeń i zachowań użytkowników
Analiza behawioralna zdarzeń i użytkowników ma na celu szybkie wykrycie wszelkich nietypowych zachowań. Do metod wykorzystywanych w takiej analizie należy m.in. monitorowanie dzienników systemowych, które pomaga dostrzec podejrzane zachowania (np. liczne nieudane próby logowania).
Bezpieczeństwo online zaczyna się od jednego kliknięcia.
Zachowaj bezpieczeństwo, wybierając VPN dominujący na całym świecie