Ukryte łamanie haseł z użyciem Smbexec

Ukryte łamanie haseł z użyciem Smbexec

Regularnie piszemy o tym, jak hakerzy często polegają na wykorzystaniu metod łamania z wykorzystaniem braku złośliwego oprogramowania, aby uniknąć wykrycia. Dosłownie „żyją na strawie odpadkowej”, wykorzystując standardowe narzędzia Windows, tym samym omijając antywirusy i inne narzędzia wykrywania złośliwej aktywności. My, jako obrońcy, jesteśmy teraz zmuszeni zmierzyć się z smutnymi konsekwencjami takich przebiegłych technik łamania: odpowiednio usytuowany pracownik może skorzystać z tej samej metody do skrytego kradzieży danych (własność intelektualna firmy, numery kart kredytowych). A jeśli nie będzie się spieszyć, a pracować powoli i niezauważalnie, będzie niezwykle trudno — ale nadal możliwe, jeśli zastosuje się odpowiednie podejście i odpowiednie narzędzia, — zidentyfikować taką aktywność.

Z drugiej strony, nie chciałbym demonizować pracowników, ponieważ nikt nie chce pracować w środowisku biznesowym bezpośrednio z „1984” Orwella. Na szczęście istnieje szereg praktycznych kroków i trików, które mogą znacznie utrudnić życie insiderom. Omówimy ukryte metody ataków, stosowane przez hakerów i pracowników z pewnym zapleczem technicznym. A nieco dalej przedyskutujemy sposoby zmniejszenia takich ryzyk – zbadamy zarówno techniczne, jak i organizacyjne podejście.

Co jest złego w PsExec?

Edward Snowden, czy słusznie, czy nie, stał się synonimem wewnętrznej kradzieży danych. Przy okazji, nie zapomnij zerknąć na ten artykuł o innych insiderach, również zasługujących na pewien status rozgłosu. Warto podkreślić jeden ważny punkt dotyczący metod, które stosował Snowden — o ile nam wiadomo, on nie zainstalował żadnego zewnętrznego złośliwego oprogramowania!

Wręcz przeciwnie, Snowden zastosował nieco inżynierii społecznej i wykorzystał swoje stanowisko administracyjnego systemu do zbierania haseł i tworzenia kont. Nic skomplikowanego – żadnych mimikatz, ataków man-in-the-middle lub metasploit.

Pracownicy organizacji nie zawsze znajdują się w unikalnej pozycji Snowdena, ale z koncepcji „życia na strawie odpadkowej” można wyciągnąć wiele lekcji, o których należy pamiętać — nie prowadzić żadnej złośliwej działalności, która mogłaby zostać wykryta, i szczególnie ostrożnie używać danych logowania. Zapamiętaj tę myśl.

Psexec i jego kuzyn crackmapexec zaimponowały niezliczonej liczbie pentesterów, hakerów i blogerów zajmujących się bezpieczeństwem IT. W połączeniu z mimikatz, psexec umożliwia atakującym poruszanie się wewnątrz sieci bez konieczności posiadania hasła w formie jawnej.

Mimikatz przechwytuje hasz NTLM z procesu LSASS, a następnie przekazuje token lub dane uwierzytelniające – tzw. atak „pass the hash” – w psexec, umożliwiając przestępcy logowanie się na innym serwerze jako inny użytkownik. Z każdym kolejnym przemieszczeniem się na nowy serwer, atakujący zbiera dodatkowe dane uwierzytelniające, rozszerzając swoje możliwości w poszukiwaniu dostępnych treści.

Kiedy po raz pierwszy zacząłem pracować z psexec, wydawał mi się magiczny – dziękuję Markowi Russinovichowi, genialnemu twórcy psexec, – ale również wiem o jego hałaśliwych komponentach. Wcale nie jest dyskretny!

Pierwszy interesujący fakt o psexec polega na tym, że wykorzystuje niezwykle złożony sieciowy protokół plikowy SMB od Microsoftu. Dzięki SMB psexec przesyła małe pliki binarne na docelowy system, umieszczając je w folderze C:Windows.

Następnie psexec tworzy usługę Windows z skopiowanego pliku binarnego i uruchamia ją pod niezwykle „niespodziewaną” nazwą PSEXECSVC. Możesz wszystko to rzeczywiście zobaczyć, tak jak ja, obserwując zdalną maszynę (patrz poniżej).

Ukryte łamanie haseł z użyciem Smbexec

Wizytówka Psexec: usługa „PSEXECSVC”. Uruchamia plik binarny, który został przesłany przez SMB do folderu C:Windows.

W ramach końcowej fazy, skopiowany plik binarny otwiera połączenie RPC z docelowym serwerem, a następnie przyjmuje polecenia sterujące (domyślnie – przez powłokę cmd Windows), uruchamiając je i przekierowując wejście oraz wyjście na komputer atakującego. Przestępca widzi podstawowy wiersz polecenia – taki sam, jakby był podłączony bezpośrednio.

Wiele komponentów i bardzo hałaśliwy proces!

Skomplikowany mechanizm wewnętrznych procesów psexec tłumaczy komunikat, który zdziwił mnie podczas moich pierwszych testów kilka lat temu: „Starting PSEXECSVC …” i następująca po tym pauza przed pojawieniem się wiersza poleceń.

Ukryte łamanie haseł z użyciem Smbexec

Psexec z Impacket w rzeczywistości pokazuje, co dzieje się „pod maską”.

Nie ma w tym nic dziwnego: psexec wykonuje ogromną ilość pracy „pod pokrywką”. Jeśli chcesz poznać szczegółowe wyjaśnienie, zapoznaj się z tym wspaniałym opisem.

Jasne jest, że stosowanie psexec jako narzędzia do administracji systemem, co było jego pierwotnym celem, nie powoduje większych problemów związanych z „brzęczeniem” tych wszystkich mechanizmów Windows. Jednak dla atakującego psexec stwarza komplikacje, a dla ostrożnego i przebiegłego insajdera, takiego jak Snowden, psexec czy podobne narzędzie stanowi zbyt duże ryzyko. W tym momencie pojawia się Smbexec SMB to wyrafinowany i dyskretny sposób transferu plików między serwerami, a hakerzy od zawsze wchodzili bezpośrednio w SMB. Myślę, że wszyscy wiedzą, że nie należy

otwierać

portów SMB 445 i 139 w Internecie, prawda? W 2013 roku na Defcon Eric Milman ( brav0hax

) zaprezentowałsmbexec, aby pentesterzy mogli przetestować dyskretny atak na SMB. Nie znam całej historii, ale później Impacket dodatkowo doskonalił smbexec. Tak naprawdę, do swojego testowania pobrałem właśnie skrypty Impacket w Pythonie z W przeciwieństwie do psexec, smbexecunika Podróż, którą przeszedłem, okazała się fascynującą wyprawą w przeszłość i cieszę się, że w końcu znalazłem rozwiązanie. Poza tym:.

przesyłania potencjalnie wykrywalnego pliku binarnego na docelową maszynę. Zamiast tego narzędzie w pełni korzysta z „resztek” za pomocą uruchomienia lokalnej wiersza poleceń Windows. Oto, co robi: przesyła polecenie z maszyny atakującej przez SMB do specjalnego pliku przychodzącego, a następnie tworzy i uruchamia złożoną linię poleceń (jak usługa Windows), która będzie znajoma użytkownikom Linuksa. Krótko mówiąc: uruchamia natywny shell Windows cmd, przekierowuje wyjście do innego pliku, a następnie przesyła go z powrotem przez SMB na maszynę przestępcy. Najlepszym sposobem, aby to zrozumieć, będzie przeanalizowanie wiersza poleceń, który udało mi się uzyskać z dziennika zdarzeń (zob. poniżej).

Czy to nie jest najwybitniejszy sposób przekierowywania wejścia/wyjścia? Nawiasem mówiąc, utworzenie usługi ma identyfikator zdarzenia 7045.

Podobnie jak psexec, smbexec także tworzy usługę, która wykonuje całą pracę, ale ta usługa

Ukryte łamanie haseł z użyciem Smbexec

jest usuwana

– jest używana tylko raz do uruchomienia polecenia, a potem znika! Pracownik ds. bezpieczeństwa, obserwujący maszynę ofiary, nie będzie w stanie zauważyć oczywistych znaków. oczywistych wskaźników ataków: nie ma żadnego złośliwego pliku do uruchomienia, żadna stała usługa nie jest instalowana, i nie ma dowodów na wykorzystanie RPC, ponieważ SMB jest jedynym środkiem przesyłu danych. Geniusz!

Ze strony atakującego dostępny jest 'pseudo-shel' z opóźnieniami pomiędzy wysłaniem polecenia a otrzymaniem odpowiedzi. Ale to w zupełności wystarcza, aby przestępca - albo insider, albo zewnętrzny haker, który już ma punkt zaczepienia - mógł zacząć szukać interesujących informacji.

Ukryte łamanie haseł z użyciem Smbexec

Aby przesłać dane z powrotem z docelowej maszyny na maszynę przestępcy, korzysta się z smbclient. Tak, to ta sama Samba narzędzie, ale tylko przerobiona na skrypt Pythona przez Impacket. W rzeczywistości smbclient pozwala na dyskretną organizację przesyłania FTP na SMB.

Zróbmy krok wstecz i zastanówmy się, co to może oznaczać dla pracownika. W moim fikcyjnym scenariuszu, powiedzmy, blogera, analityka finansowego lub wysoko opłacanego konsultanta ds. bezpieczeństwa, któremu zezwolono na użycie osobistego laptopa do pracy. W wyniku pewnego magicznego procesu obraża się na firmę i "gubi się w szaleństwie". W zależności od systemu operacyjnego laptopa, korzysta albo z wersji Pythona od Impact, albo z wersji Windows smbexec lub smbclient w formie pliku .exe.

Jak Snowden, dowiaduje się hasła innego użytkownika, either podglądając je przez ramię, albo ma szczęście i natrafia na plik tekstowy z hasłem. I z tymi danymi logowania zaczyna przeszukiwać system na nowym poziomie uprawnień.

Hacking DCC: nie potrzebujemy żadnego 'głupiego' Mimikatz

W moich poprzednich postach dotyczących pentestu bardzo często korzystałem z mimikatz. To wspaniałe narzędzie do przechwytywania danych logowania - haseł NTLM i nawet haseł w postaci jawnej, ukrytych w laptopach i czekających na wykorzystanie.
Czasy się zmieniły. Narzędzia monitorujące stały się lepsze w wykrywaniu i blokowaniu mimikatz. Administratorzy bezpieczeństwa informacji mają również więcej opcji zmniejszenia ryzyka związanego z atakami typu 'pass the hash' (PtH).
Co więc powinien zrobić inteligentny pracownik, aby zebrać dodatkowe dane logowania bez użycia mimikatz?

W zestawie Impacket znajduje się narzędzie o nazwie secretsdump, która wyciąga dane logowania z pamięci podręcznej danych uwierzytelniających domeny, w skrócie DCC. Z tego co rozumiem, jeśli użytkownik domeny loguje się na serwer, a kontroler domeny jest w tym czasie niedostępny, DCC pozwala serwerowi na uwierzytelnienie użytkownika. Tak czy inaczej, secretsdump pozwala na zrzut wszystkich tych hashy, jeśli są one dostępne.

Hashe DCC to nie hashe NTML i ich nie można używać do ataku PtH.

Cóż, możesz spróbować je złamać, aby uzyskać pierwotne hasło. Jednak Microsoft stał się mądrzejszy w pracy z DCC i złamanie hashy DCC stało się niezwykle trudne. Tak, istnieje hashcat, „najszybszy na świecie łamańce haseł”, ale wymaga GPU do efektywnej pracy.

Zamiast tego, spróbujmy myśleć jak Snowden. Pracownik może przeprowadzić osobistą inżynierię społeczną i być może uzyskać jakiekolwiek informacje o osobie, której hasło chce złamać. Na przykład, dowiedzieć się, czy kiedykolwiek włamywano się do konta online tej osoby i zbadać jej hasło w otwartej formie w poszukiwaniu jakichkolwiek wskazówek.

I to jest scenariusz, którym postanowiłem podążać. Załóżmy, że insajder dowiedział się, że jego przełożony, Cruella, była wielokrotnie włamywana na różnych serwisach. Po zanalizowaniu kilku z tych haseł zdaje sobie sprawę, że Cruella lubi używać formatu nazwy drużyny baseballowej „Yankees” i obecnego roku – „Yankees2015”.

Jeśli teraz próbujesz powtórzyć to w domu, możesz pobrać mały program „C”, kod, implementujący algorytm haszowania DCC, i skompilować go. John the Ripper, swoją drogą, dodał wsparcie dla DCC, więc można go również użyć. Załóżmy, że insajder nie chce bawić się w analizowanie Johna Rippera i lubi uruchamiać „gcc” na przestarzałym kodzie C.

Odgrywając rolę insajdera, uruchomiłem kilka różnych kombinacji i ostatecznie udało mi się odkryć, że hasło Cruelli to „Yankees2019” (patrz poniżej). Misja zakończona!

Ukryte łamanie haseł z użyciem Smbexec

Trochę inżynierii społecznej, odrobina zgadywania i szczypta Maltego – i już jesteś na drodze do złamania hasha DCC.

Proponuję na tym zakończyć. Jeszcze wrócimy do tego zagadnienia w innych publikacjach i omówimy więcej wolnych i ukrytych metod ataku, wciąż polegając na wspaniałym zestawie narzędzi od Impacket.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster