Menu dostępności

Wykrywanie Pass-the-Hash za pomocą honeypotów

Trudno wyobrazić sobie współczesny atak hakerski na konta uprzywilejowane nieużywający exploita Pass-the-Hash. Obecnie jest on na 1 miejscu w rankingu cyberataków w raporcie 2018 Data Breaches Investigations (link). Pass-the-Hash jest prosty do przeprowadzenia oraz trudny do wykrycia. Umożliwia potwierdzenie tożsamości użytkownika bez poznania jego hasła. Więcej o ataku Pass-the-Hash można przeczytać tutaj. Wykrycie faktu użycia przez atakującego skradzionego hasha jest bardzo trudne. Wymaga dużej ilości analizy, w celu oddzielenia normalnego zachowania, czyli logowań użytkowników, od tego co jest anomalią. Jest to wykonalne analizując na przykład event logi security, jednak bardzo czaso- i zasobo-chłonne.

Dlatego właśnie zaczęto stosować inny, sprytniejszy i bardziej przyjazny dla pracowników cyberbezpieczeństwa sposób. Wprowadzone przez Mark’a Baggett’a honeypoty przeznaczone specjalnie do wykrywania próby Pass-the-Hash. Jest to nic innego jak „przynęta” na hakera pozwalająca wykryć próbę tego rodzaju ataku. Polega na wprowadzeniu przygotowanych, fałszywych hashy (honeyhash) do pamięci lokalnej komputera (dokładnie do pamięci procesu LSASS) i czekanie, aż atakujący pozyska je i spróbuje użyć. Przy próbie użycia fałszywego hasha poświadczenia zostaną odrzucone, a zdarzenie to wygeneruje alarm.

Honeyhash można w prosty sposób ustawić za pomocą komendy „runas” z przełącznikiem „/netonly”. Na screenie poniżej widzimy wprowadzenie do pamięci nieistniejącego konta użytkownika o nazwie admin392. NTLM hash zostanie wygenerowany dla tego konta automatycznie po wprowadzeniu losowego hasła.

Ustawienie honeyhash’a

Po zatwiedzeniu komendy i wprowadzeniu dowolnego hasła otwiera się nowy wiersz poleceń, ale już w kontekśćie konta admin392. Dopóki okno to zostanie otwarte, czyli proces pozostanie uruchomiony, to w pamięci lokalnej widoczny jest hash oraz nazwa domeny i usera.

Proces w kontekście nieistniejącego użytkownika

Tak więc, nasz honeyhash został przygotowany poprawnie, co widać na poniższym obrazku, gdzie cyberprzestępca używa mimikatza do wyświetlenia wszystkich informacji o kontach na danej maszynie.

Honeyhash w pamięci lokalnej komputera

Co więcej, atakujący jest w stanie wykonać komendę Pass-the-Hash, jednak po próbie użycia skradzionych poświadczeń dostanie informację, że hasło sieciowe nie jest poprawne. Aby uniknąć otwartego okna z procesem cmd.exe moża użyć skryptu Powershella o nazwie New-HonetHash napisanego przez Matthew’a Graeber’a. Okno procesu jest wtedy ukrywane i niewidoczne z poziomu zwykłego usera.

Z samego faktu nieudanej próby uwierzytelnienia przez atakującego jest niewiele korzyści. Dopiero wykrycie przez zespół bezpieczeństwa zdarzenia oraz inwestygacja tego zdarzenia pozwala wykryć luki w zabezpieczeniach, a może nawet znaleźć sprawce. Zdarzenie nieudanego zalogowania się z pewnością odłoży się w event logu jako event id 4625, czyli nieudana autentykacja. Jednak oprócz nazwy naszego fałszywego konta oraz czasu zdarzenia nie otrzymamy więcej informacji. Z perspektywy dalszego dochodzenia dobrze by było znać takie informacje jak:

  • adres lub nazwa stacji z której skradziono honeyhash
  • konto które zostało przejęte i wykorzystane do skradzenia honeyhash
  • moment kiedy honeyhash został skradziony (nie użyty!)
  • w jaki sposób został skradziony (np. mimikatz)

Narzędzie umożliwiające szczegółowe monitorowanie procesu LSASS, czyli pozyskanie wyżej wymienionych informacji to na przykład Sysmon. Dodaje to nowe zdarzenia do event loga zapewniając takie informacje jak nazwa konta, nazwa użytego procesu oraz czas kiedy zajrzano do pamięci procesu LSASS. Jednym z wyzwań dla organizacji z pewnością może być konfiguracja dużej ilości honeypotów na stacjach roboczych i zarządzanie nimi. Istnieją już skrypty (SCCM, remote PowerShell) pozwalające zdalnie generować losowe nazwy i hashe na stacjach roboczych i aplikować je jako honeypoty dla ataków Pass-the-Hash.

Popularne

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

W środę 9 października użytkownicy platformy Microsoft Azure na całym świecie doświadczyli poważnych zakłóceń. Wiele usług stało się niedostępnych, a administratorzy nie mogli nawet zalogować się do portalu...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Niedawno załatana wysoce poważna luka w zabezpieczeniach VMware jest wykorzystywana jako zero-day od października 2024 roku do wykonywania kodu z podwyższonymi uprawnieniami. Taką informacją podzieliło się w...
Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Splunk opublikował ważne informacje, dotyczące szeregu nowych podatności w swoich produktach Splunk Enterprise i Splunk Cloud Platform. Luki mogą umożliwić atakującym wykonanie nieautoryzowanego kodu Ja...