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,
Kiedy po raz pierwszy zacząłem zgłębiać temat niezłych hakerów,
Świetny i potężny PowerShell
O niektórych z tych pomysłów pisałem już wcześniej w
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:
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:
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
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
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:
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
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.
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