O hasłach i metodach ich pozyskiwania przez cyberprzestępców często piszemy na Kapitanie Hack’u. W dzisiejszym artykule znajdą się informacje o ciekawym narzędziu. Brute Shark przeznaczony jest dla badaczy bezpieczeństwa oraz administratorów sieci. Służy między innymi do analizy surowych pakietów sieciowych i wyodrębniania z nich haseł użytkowników.
Metod na pozyskanie haseł z systemów operacyjnych jest bardzo dużo. Hasła możemy pobierać wykorzystując API systemowe Windows takie jak DPAPI, czy funkcje opisane w naszym ostatnim artykule tutaj. Hasła i zakodowane skróty haseł można także pozyskiwać narzędziami takimi jak Mimikatz, a metod jest dużo więcej.
Opisywany poniżej sposób nie wymaga bezpośredniej ingerencji w system operacyjny użytkownika (uruchamiania na nim oprogramowania), a jedynie bazuje na kopii ruchu, który cyberprzestępca może przechwycić w sieci i „na boku” przeanalizować. Poniżej pokażemy przykład jak za pomocą dostarczonej kopii ruchu sieciowego będzie można złamać hasło użytkownika uwierzytelniającego się do udziału sieciowego wykorzystującego usługę SMB w wersji 3.1 oraz do portalu na usłudze IIS.
Zacznijmy najpierw od opisu samego narzędzia Brute Shark.
Narzędzie Brute Shark
Brute Shark to napisane w C# przez izraelskiego inżyniera Oded Shimon’a, darmowe narzędzie do analizy i wyszukiwania danych w sieci – Network Forensic Analysis Tool (NFAT). Wykonuje głębokie przetwarzanie i inspekcję ruchu sieciowego (głównie plików PCAP).
Możliwości narzędzia są następujące:
- Wyodrębnianie haseł i loginów z usług (HTTP, FTP, Telnet, IMAP, SMTP…),
- Budowanie mapy sieci,
- Rekonstrukcja sesji TCP,
- Rekonstrukcja i pobieranie plików,
- Wyodrębnianie skrótów zaszyfrowanych haseł (Kerberos, NTLM hash, CRAM-MD5, HTTP-Digest …), a nawet konwertowanie ich do formatu Hashcat w celu przeprowadzenia ataku Brute Force offline.
Ciekawostką BruteShark w najnowszej wersji jest możliwość wyodrębniania biletów Kerberos (bilet TGS-REP)! Możliwe jest analizowanie skrótów uwierzytelniania Kerberos (AS-REQ).
Głównym celem stworzonego przez Shimona projektu jest dostarczenie rozwiązania badaczom bezpieczeństwa i administratorom sieci, których zadaniem jest analiza ruchu sieciowego podczas próby zidentyfikowania słabych punktów, które potencjalny atakujący może wykorzystać, aby uzyskać dostęp do krytycznych punktów w sieci.
Dostępne są dwie wersje Brute Shark, aplikacja oparta na GUI (Windows) i narzędzie interfejsu wiersza poleceń (Windows i Linux).
Różne projekty w rozwiązaniu mogą być również używane niezależnie jako infrastruktura do analizy ruchu sieciowego na komputerach z systemem Linux lub Windows.
Autor udostępnia kod źródłowy, który może być zaimplementowany w dowolnym innym narzędziu, dlatego w szczególności powinniśmy zwrócić szczególną uwagę na bezpieczeństwo sieci.
Przykłady z przeprowadzonej analizy Brute Shark z plików PCAP
1. Wyodrębnienie skrótów haseł (NTLM Hash) z pakietów
2. Budowanie mapy sieci z pakietów
3. Pobieranie plików z pakietów
4. Wyciąganie surowych haseł z pakietów
5. Rekonstrukcja sesji TCP
Co jest nam potrzebne, aby poznać/złamać hasła użytkowników?
Jeśli mamy odrobinę szczęścia lub posiadamy uprawnienia administracyjne na naszym komputerze możemy użyć narzędzia do przechwytywania surowego ruchu sieciowego przechodzącego przez kartę sieciowa naszego komputera. Takim narzędziem może być np. popularne narzędzie WireShark lub możemy skorzystać z narzędzia TcpDump.
Nie powinniśmy przydzielać lokalnych uprawnień administracyjnych użytkownikom na komputerach, ponieważ mogą oni wykonać zrzut pakietów do pliku i zdekodować/poznać hasła innych kont.
Tak zgromadzony ruch możemy zapisać do pliku PCAP a następnie przeanalizować pod konkretnym kątem w narzędziu Brute Shark.
Poniżej przedstawiamy dwa przykłady:
- z analizy ruchu HTTP z uwierzytelnieniem użytkownika do naszego testowego serwerem WWW postawionego na Microsoft IIS na Windows 2016.
- Demo z analizy ruchu SMB v3.1 z uwierzytelnienia się użytkownika do zasobu sieciowego i crackowania jego zakodowanego hasła NTLM.
Scenariusz przechwycenia haseł użytkowników z usługi IIS
Krok.1 Odpalamy na Windows narzędzie WireShark i włączamy tryb przechwytywania ruchu z filtrem na nasz serwer IIS.
Krok 2. Uwierzytelniamy się użytkownikiem do strony na IIS podając login i hasło. Uwaga typ uwierzytelniania na IIS ustawiony jest na „Basic”.
Krok 3. Zapisujemy ruch do pliku PCAP i otwieramy go w narzędziu Brute Shark. Zaznaczamy odpowiednie moduły „Credentials extractor” i naciskamy Run.
Krok 4. Po wykonanej analizie możemy przejść do sekcji Credentials -> Passwords i poznać hasło użytkownika
Krok 5. Możemy przeanalizować ruch przeglądając graf Network Map
Scenariusz przechwycenia haseł użytkowników z usługi SMB 3.1
Cały scenariusz przechwycenia ruchu SMB pokazujemy na poniższym video. Jest na nim przestawiony również mechanizm crackowania hashy NTLM przy użyciu narzędzia Hashcat. Twórca filmu wykorzystał do analizy publicznie dostępny i pobrany ze strony plik PCAP WireShar’ka i wykonał crackowanie zaszyfrowanego hasła użytkownika „Tim Tester”.