Przygody nieuchwytnych Malvarich, część I

Przygody nieuchwytnych Malvarich, część I

Tym artykułem rozpoczynamy serię publikacji na temat nieuchwytnego złośliwego oprogramowania. Programy do hakowania bezplikowego, znane również jako programy do hakowania bezplikowego, zazwyczaj używają programu PowerShell w systemach Windows do cichego uruchamiania poleceń w celu wyszukiwania i wyodrębniania cennej zawartości. Wykrywanie aktywności hakerów bez złośliwych plików jest trudnym zadaniem, ponieważ... programy antywirusowe i wiele innych systemów wykrywania działają w oparciu o analizę sygnatur. Ale dobra wiadomość jest taka, że ​​takie oprogramowanie istnieje. Na przykład, Systemy UBA, zdolny do wykrywania złośliwej aktywności w systemach plików.

Kiedy po raz pierwszy zacząłem zgłębiać temat niezłych hakerów, niestosowanie tradycyjnych metod infekcji, a jedynie narzędzia i oprogramowanie dostępne na komputerze ofiary, nie miałem pojęcia, że ​​wkrótce stanie się to popularną metodą ataku. Specjaliści ds. bezpieczeństwa mówiąże staje się to trendem, oraz przerażające nagłówki artykułów - potwierdzenie tego. Dlatego też zdecydowałem się na serię publikacji na ten temat.

Świetny i potężny PowerShell

O niektórych z tych pomysłów pisałem już wcześniej w Seria zaciemniania programu PowerShell, ale bardziej w oparciu o koncepcję teoretyczną. Później natknąłem się strona poświęcona analizie hybrydowej, gdzie można znaleźć próbki szkodliwego oprogramowania „złapanego” na wolności. Postanowiłem spróbować skorzystać z tej witryny, aby znaleźć próbki bezplikowego złośliwego oprogramowania. I udało mi się. Nawiasem mówiąc, jeśli chcesz wybrać się na własną wyprawę w poszukiwaniu złośliwego oprogramowania, musisz przejść weryfikację w tej witrynie, aby wiedzieli, że wykonujesz tę pracę jako specjalista w białym kapeluszu. Jako bloger zajmujący się bezpieczeństwem zdałem to bez dwóch zdań. Jestem pewien, że Ty też możesz.

Oprócz samych próbek, na stronie można zobaczyć, co robią te programy. Analiza hybrydowa uruchamia złośliwe oprogramowanie we własnym piaskownicy i monitoruje wywołania systemowe, uruchomione procesy i aktywność sieciową, a także wyodrębnia podejrzane ciągi tekstowe. W przypadku plików binarnych i innych plików wykonywalnych, tj. tam, gdzie nie można nawet spojrzeć na rzeczywisty kod wysokiego poziomu, analiza hybrydowa decyduje, czy oprogramowanie jest złośliwe, czy po prostu podejrzane, na podstawie jego aktywności w czasie wykonywania. A potem próbka jest już oceniana.

W przypadku PowerShella i innych przykładowych skryptów (Visual Basic, JavaScript itp.) udało mi się zobaczyć sam kod. Natknąłem się na przykład na tę instancję PowerShell:

Przygody nieuchwytnych Malvarich, część I

Aby uniknąć wykrycia, możesz także uruchomić program PowerShell w kodowaniu base64. Zwróć uwagę na użycie parametrów nieinteraktywnych i ukrytych.

Jeśli czytałeś moje posty na temat zaciemniania, wiesz, że opcja -e określa, że ​​treść jest zakodowana w standardzie Base64. Nawiasem mówiąc, pomaga w tym również analiza hybrydowa, dekodując wszystko z powrotem. Jeśli chcesz samodzielnie spróbować zdekodować Base64 PowerShell (zwany dalej PS), musisz uruchomić to polecenie:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Głębiej

Tą metodą zdekodowałem nasz skrypt PS, poniżej tekst programu, choć nieco zmodyfikowany przeze mnie:

Przygody nieuchwytnych Malvarich, część I

Należy pamiętać, że skrypt był powiązany z datą 4 września 2017 r. i przesyłał pliki cookie sesji.

O tym stylu ataku pisałem w Seria zaciemniania PS, w którym ładowany jest sam skrypt zakodowany w formacie Base64 zaginiony złośliwego oprogramowania z innej witryny, wykorzystując do tego obiekt WebClient biblioteki .Net Framework.

Co on robi?

W przypadku oprogramowania zabezpieczającego skanującego dzienniki zdarzeń systemu Windows lub zapory sieciowe, kodowanie Base64 zapobiega wykryciu ciągu „WebClient” za pomocą zwykłego wzorca tekstowego w celu ochrony przed wykonaniem takiego żądania internetowego. A ponieważ całe „zło” złośliwego oprogramowania jest następnie pobierane i przekazywane do naszego programu PowerShell, takie podejście pozwala nam całkowicie uniknąć wykrycia. A raczej tak na początku myślałem.

Okazuje się, że po włączeniu zaawansowanego rejestrowania programu Windows PowerShell (zobacz mój artykuł) będziesz mógł zobaczyć załadowaną linię w dzienniku zdarzeń. jestem jak inny ) Myślę, że Microsoft powinien domyślnie włączyć ten poziom rejestrowania. Dlatego po włączeniu rozszerzonego logowania w dzienniku zdarzeń systemu Windows zobaczymy zakończone żądanie pobrania ze skryptu PS zgodnie z przykładem omówionym powyżej. Dlatego warto go aktywować, prawda?

Dodajmy dodatkowe scenariusze

Hakerzy sprytnie ukrywają ataki PowerShell w makrach pakietu Microsoft Office napisanych w Visual Basic i innych językach skryptowych. Pomysł jest taki, że ofiara otrzymuje wiadomość, na przykład od firmy kurierskiej, z załączonym raportem w formacie .doc. Otwierasz ten dokument zawierający makro, co kończy się uruchomieniem samego złośliwego programu PowerShell.

Często sam skrypt Visual Basic jest zaciemniany, dzięki czemu swobodnie omija programy antywirusowe i inne skanery złośliwego oprogramowania. W duchu powyższego postanowiłem w ramach ćwiczenia zakodować powyższy PowerShell w JavaScript. Poniżej efekty mojej pracy:

Przygody nieuchwytnych Malvarich, część I

Zaciemniony JavaScript ukrywający nasz PowerShell. Prawdziwi hakerzy robią to raz lub dwa razy.

To kolejna technika, którą widziałem krążącą po Internecie: użycie Wscript.Shell do uruchomienia zakodowanego programu PowerShell. Nawiasem mówiąc, sam JavaScript jest znaczy dostarczanie złośliwego oprogramowania. Wiele wersji systemu Windows ma wbudowane funkcje Windows Script Host, który sam może uruchomić JS.
W naszym przypadku złośliwy skrypt JS jest osadzony w postaci pliku z rozszerzeniem .doc.js. System Windows zazwyczaj wyświetla tylko pierwszy przyrostek, więc ofiara widzi go jako dokument programu Word.

Przygody nieuchwytnych Malvarich, część I

Ikona JS pojawia się tylko na ikonie przewijania. Nic dziwnego, że wiele osób otworzy ten załącznik, myśląc, że jest to dokument programu Word.

W moim przykładzie zmodyfikowałem powyższy PowerShell, aby pobrać skrypt z mojej witryny. Zdalny skrypt PS po prostu wypisuje „Złe złośliwe oprogramowanie”. Jak widać, wcale nie jest zły. Oczywiście prawdziwi hakerzy są zainteresowani uzyskaniem dostępu do laptopa lub serwera, powiedzmy, za pośrednictwem powłoki poleceń. W następnym artykule pokażę, jak to zrobić za pomocą PowerShell Empire.

Mam nadzieję, że w pierwszym artykule wprowadzającym nie zagłębiliśmy się w temat. Teraz pozwolę wam odetchnąć, a następnym razem zaczniemy przyglądać się prawdziwym przykładom ataków z wykorzystaniem bezplikowego szkodliwego oprogramowania, bez zbędnych wstępów i przygotowań.

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

Dodaj komentarz