Ukryte hakowanie haseł za pomocą Smbexec

Ukryte hakowanie haseł za pomocą Smbexec

Regularnie piszemy o tym, jak hakerzy często polegają na wykorzystywaniu metody hakowania bez złośliwego koduaby uniknąć wykrycia. Oni dosłownie „przetrwać na pastwisku”, korzystając ze standardowych narzędzi systemu Windows, omijając w ten sposób programy antywirusowe i inne narzędzia wykrywające złośliwą aktywność. My, jako obrońcy, jesteśmy teraz zmuszeni stawić czoła niefortunnym konsekwencjom takich sprytnych technik hakerskich: dobrze umiejscowiony pracownik może zastosować to samo podejście do potajemnej kradzieży danych (własność intelektualna firmy, numery kart kredytowych). A jeśli nie będzie się spieszył, ale będzie działał powoli i cicho, będzie to niezwykle trudne – ale nadal możliwe, jeśli zastosuje właściwe podejście i odpowiednią Narzędzia, — identyfikację takiej działalności.

Z drugiej strony nie chciałbym demonizować pracowników, bo nikt nie chce pracować w środowisku biznesowym rodem z „Roku 1984” Orwella. Na szczęście istnieje wiele praktycznych kroków i trików, które mogą znacznie utrudnić życie osobom wtajemniczonym. Rozważymy ukryte metody ataku, używany przez hakerów przez pracowników z pewnym zapleczem technicznym. Nieco dalej omówimy możliwości ograniczenia takiego ryzyka - przeanalizujemy zarówno opcje techniczne, jak i organizacyjne.

Co jest nie tak z PsExec?

Edward Snowden, słusznie czy nie, stał się synonimem kradzieży danych poufnych. Przy okazji, nie zapomnij rzucić okiem tę notatkę o innych insiderach, którzy również zasługują na jakiś status sławy. Jedną z ważnych kwestii, które warto podkreślić w odniesieniu do metod stosowanych przez Snowdena, jest to, że zgodnie z naszą najlepszą wiedzą nie zainstalowałem żadnego zewnętrznego złośliwego oprogramowania!

Zamiast tego Snowden zastosował odrobinę inżynierii społecznej i wykorzystał swoją pozycję administratora systemu do gromadzenia haseł i tworzenia danych uwierzytelniających. Nic skomplikowanego - żadnego mimikatz, ataki człowiek w środku lub metasplot.

Pracownicy organizacyjni nie zawsze znajdują się w wyjątkowej sytuacji Snowdena, ale z koncepcji „przetrwania poprzez wypas” można wyciągnąć wiele wniosków, o których należy pamiętać – aby nie angażować się w żadne szkodliwe działania, które można wykryć, a zwłaszcza ostrożnie z użyciem poświadczeń. Zapamiętaj tę myśl.

Psek i jego kuzyn crackmapexec wywarły wrażenie na niezliczonych pentesterach, hakerach i blogerach zajmujących się cyberbezpieczeństwem. W połączeniu z mimikatz psexec umożliwia atakującym poruszanie się w sieci bez konieczności znajomości hasła w postaci zwykłego tekstu.

Mimikatz przechwytuje skrót NTLM z procesu LSASS, a następnie przekazuje token lub dane uwierzytelniające – tzw. Atak „przekaż hash”. – w psexec, umożliwiając atakującemu zalogowanie się na inny serwer jako inny użytkownik. A z każdą kolejną przeprowadzką na nowy serwer atakujący zbiera dodatkowe dane uwierzytelniające, poszerzając zakres swoich możliwości w wyszukiwaniu dostępnych treści.

Kiedy po raz pierwszy zacząłem pracować z psexec, wydawało mi się to magiczne – dziękuję Marka Russinowicza, genialny twórca psexec - ale wiem też o jego hałaśliwy składniki. Nigdy nie jest tajemniczy!

Pierwszym interesującym faktem na temat psexec jest to, że wykorzystuje niezwykle złożone funkcje Protokół plików sieciowych SMB od Microsoftu. Używając protokołu SMB, psexec przesyła małe pliki dwójkowy pliki do systemu docelowego, umieszczając je w folderze C:Windows.

Następnie psexec tworzy usługę Windows przy użyciu skopiowanego pliku binarnego i uruchamia ją pod wyjątkowo „nieoczekiwaną” nazwą PSEXECSVC. Jednocześnie możesz to wszystko zobaczyć, tak jak ja, obserwując zdalną maszynę (patrz poniżej).

Ukryte hakowanie haseł za pomocą Smbexec

Karta telefoniczna Psexec: usługa „PSEXECSVC”. Uruchamia plik binarny, który został umieszczony przez SMB w folderze C:Windows.

Ostatnim krokiem jest otwarcie skopiowanego pliku binarnego Połączenie RPC do serwera docelowego, a następnie przyjmuje polecenia sterujące (domyślnie za pośrednictwem powłoki cmd systemu Windows), uruchamiając je i przekierowując dane wejściowe i wyjściowe na komputer domowy atakującego. W tym przypadku atakujący widzi podstawową linię poleceń - taką samą, jakby był podłączony bezpośrednio.

Wiele komponentów i bardzo głośny proces!

Złożone elementy wewnętrzne psexec wyjaśniają komunikat, który zaskoczył mnie podczas moich pierwszych testów kilka lat temu: „Uruchamianie PSEXECSVC...”, po którym następuje pauza, zanim pojawi się wiersz poleceń.

Ukryte hakowanie haseł za pomocą Smbexec

Psexec firmy Impacket faktycznie pokazuje, co dzieje się pod maską.

Nic dziwnego: psexec wykonał ogromną pracę pod maską. Jeśli interesują Cię bardziej szczegółowe wyjaśnienia, zajrzyj tutaj to wspaniały opis.

Oczywiście, gdy był używany jako narzędzie do administrowania systemem, czyli pierwotny cel psexec, nie ma nic złego w „brzęczeniu” wszystkich tych mechanizmów systemu Windows. Jednak dla atakującego psexec spowodowałby komplikacje, a dla ostrożnego i przebiegłego specjalisty, takiego jak Snowden, psexec lub podobne narzędzie byłoby zbyt dużym ryzykiem.

A potem pojawia się Smbexec

SMB to sprytny i tajny sposób przesyłania plików między serwerami, a hakerzy bezpośrednio infiltrują SMB od wieków. Chyba każdy już wie, że nie warto otwarty Porty SMB 445 i 139 do Internetu, prawda?

Na Defcon 2013 Eric Millman (braw0hax) przedstawione smexec, aby pentesterzy mogli wypróbować ukryte hakowanie SMB. Nie znam całej historii, ale Impacket udoskonalił smbexec. W rzeczywistości do moich testów pobrałem skrypty z Impacket w Pythonie z Github.

W przeciwieństwie do psexec, smexec unika przesyłanie potencjalnie wykrytego pliku binarnego na maszynę docelową. Zamiast tego narzędzie żyje wyłącznie od pastwiska aż do uruchomienia lokalny Wiersz poleceń systemu Windows.

Oto, co robi: przekazuje polecenie z maszyny atakującej za pośrednictwem SMB do specjalnego pliku wejściowego, a następnie tworzy i uruchamia złożony wiersz poleceń (jak usługa Windows), który będzie wydawał się znajomy użytkownikom Linuksa. W skrócie: uruchamia natywną powłokę cmd systemu Windows, przekierowuje dane wyjściowe do innego pliku, a następnie wysyła je za pośrednictwem protokołu SMB z powrotem do komputera atakującego.

Najlepszym sposobem, aby to zrozumieć, jest spojrzenie na wiersz poleceń, który udało mi się zdobyć z dziennika zdarzeń (patrz poniżej).

Ukryte hakowanie haseł za pomocą Smbexec

Czy to nie jest najlepszy sposób na przekierowanie wejść/wyjść? Nawiasem mówiąc, utworzenie usługi ma identyfikator zdarzenia 7045.

Podobnie jak psexec, tworzy również usługę, która wykonuje całą pracę, ale usługę dopiero później usunięte – jest używany tylko raz do uruchomienia polecenia, a następnie znika! Inspektor bezpieczeństwa informacji monitorujący maszynę ofiary nie będzie w stanie wykryć oczywiste Wskaźniki ataku: nie jest uruchamiany żaden złośliwy plik, nie jest instalowana żadna trwała usługa i nie ma dowodów na użycie RPC, ponieważ jedynym sposobem przesyłania danych jest protokół SMB. Genialny!

Ze strony atakującego dostępna jest „pseudopowłoka” z opóźnieniami pomiędzy wysłaniem polecenia a otrzymaniem odpowiedzi. Ale to wystarczy, aby atakujący – osoba posiadająca dostęp do informacji poufnych lub haker zewnętrzny, który ma już przyczółek – zaczął szukać interesujących treści.

Ukryte hakowanie haseł za pomocą Smbexec

Służy do wysyłania danych z maszyny docelowej na maszynę atakującego smbclient. Tak, to ta sama Samba użyteczność, ale przekonwertowany tylko na skrypt Pythona przez Impacket. W rzeczywistości smbclient umożliwia potajemną obsługę transferów FTP przez SMB.

Cofnijmy się o krok i zastanówmy, co może to zrobić dla pracownika. W moim fikcyjnym scenariuszu załóżmy, że bloger, analityk finansowy lub wysoko opłacany konsultant ds. bezpieczeństwa może używać osobistego laptopa do pracy. W wyniku jakiegoś magicznego procesu obraża się na firmę i „wszystko idzie źle”. W zależności od systemu operacyjnego laptopa, używa wersji Pythona firmy Impact, wersji smbexec lub smbclient dla systemu Windows w postaci pliku .exe.

Podobnie jak Snowden, dowiaduje się hasła innego użytkownika, patrząc przez ramię, albo ma szczęście i natrafia na plik tekstowy z hasłem. Z pomocą tych danych uwierzytelniających zaczyna przeglądać system na nowym poziomie przywilejów.

Hakowanie DCC: Nie potrzebujemy żadnego „głupiego” Mimikatza

W moich poprzednich postach na temat pentestingu bardzo często korzystałem z mimikatz. To świetne narzędzie do przechwytywania danych uwierzytelniających — skrótów NTLM, a nawet haseł w postaci zwykłego tekstu ukrytych w laptopach i czekających tylko na użycie.
Czasy się zmieniły. Narzędzia monitorujące są coraz lepsze w wykrywaniu i blokowaniu mimikatz. Administratorzy bezpieczeństwa informacji mają teraz więcej możliwości ograniczenia ryzyka związanego z atakami typu pass the hash (PtH).
Co więc powinien zrobić mądry pracownik, aby zebrać dodatkowe dane uwierzytelniające bez korzystania z mimikatz?

Zestaw Impacketa zawiera narzędzie o nazwie zrzut sekretów, który pobiera poświadczenia z pamięci podręcznej poświadczeń domeny, w skrócie DCC. Rozumiem, że jeśli użytkownik domeny loguje się na serwerze, ale kontroler domeny jest niedostępny, DCC umożliwia serwerowi uwierzytelnienie użytkownika. W każdym razie secretsdump pozwala zrzucić wszystkie te skróty, jeśli są dostępne.

Skróty DCC są nie skróty NTML i ich nie można używać do ataku PtH.

Cóż, możesz spróbować je zhakować, aby uzyskać oryginalne hasło. Jednak Microsoft stał się mądrzejszy dzięki DCC, a skróty DCC stały się niezwykle trudne do złamania. Tak, mam haszysz, „najszybszy na świecie moduł odgadywania haseł”, ale do efektywnego działania wymaga procesora graficznego.

Zamiast tego spróbujmy myśleć jak Snowden. Pracownik może przeprowadzić bezpośrednią socjotechnikę i ewentualnie poznać informacje na temat osoby, której hasło chce złamać. Na przykład dowiedz się, czy konto internetowe danej osoby zostało kiedykolwiek zhakowane i sprawdź jej hasło w postaci zwykłego tekstu pod kątem jakichkolwiek wskazówek.

I taki jest scenariusz, na który się zdecydowałem. Załóżmy, że osoba mająca dostęp do informacji poufnych dowiedziała się, że jego szefowa, Cruella, została kilkakrotnie zhakowana w różnych zasobach internetowych. Po przeanalizowaniu kilku z tych haseł zdaje sobie sprawę, że Cruella woli używać formatu nazwy drużyny baseballowej „Yankees”, po której następuje bieżący rok – „Yankees2015”.

Jeśli teraz próbujesz odtworzyć to w domu, możesz pobrać małą literę „C” kod, który implementuje algorytm mieszający DCC, i skompiluj go. John the Ripper, nawiasem mówiąc, dodano obsługę DCC, więc można z niego również korzystać. Załóżmy, że insider nie chce zawracać sobie głowy nauką Jana Rozpruwacza i lubi uruchamiać „gcc” na starszym kodzie C.

Udając rolę insidera, wypróbowałem kilka różnych kombinacji i ostatecznie odkryłem, że hasło Cruelli brzmiało „Yankees2019” (patrz poniżej). Misja ukończona!

Ukryte hakowanie haseł za pomocą Smbexec

Trochę inżynierii społecznej, szczypta wróżenia i szczypta Maltego i jesteś na dobrej drodze do złamania hasha DCC.

Sugeruję, żebyśmy na tym zakończyli. Powrócimy do tego tematu w innych postach i przyjrzymy się jeszcze bardziej powolnym i ukrytym metodom ataku, kontynuując korzystanie z doskonałego zestawu narzędzi Impacket.

Źródło: www.habr.com

Dodaj komentarz