Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Ten artykuł jest częścią serii Złośliwe oprogramowanie bez plików. Wszystkie pozostałe części serii:

Jestem fanem serwisu analiza hybrydowa (analiza hybrydowa, dalej HA). Jest to rodzaj złośliwego zoo, w którym można bezpiecznie obserwować dzikie „drapieżniki” z bezpiecznej odległości bez bycia atakowanym. HA uruchamia złośliwe oprogramowanie w bezpiecznych środowiskach, rejestruje wywołania systemowe, wygenerowane pliki i ruch internetowy oraz dostarcza wszystkie te wyniki dla każdej analizowanej próbki. Dlatego nie możesz tracić czasu i wysiłku na samodzielne rozwiązywanie zaciemnionego kodu, ale natychmiast zrozumieć wszystkie intencje hakerów.

Przykłady HA, które zwróciły moją uwagę, wykorzystują zakodowane skrypty JavaScript lub Visual Basic for Applications (VBA) osadzone jako makra w dokumentach Word lub Excel i dołączone do wiadomości phishingowych. Po otwarciu te makra uruchamiają sesję PowerShell na komputerze ofiary. Hakerzy zazwyczaj wysyłają strumień poleceń zakodowany w formacie Base64 do programu PowerShell. Wszystko to ma na celu utrudnienie wykrycia ataku przez filtry sieciowe i oprogramowanie antywirusowe reagujące na określone słowa kluczowe.
Na szczęście HA automatycznie dekoduje Base64 i od razu pokazuje wszystko w czytelnej formie. Zasadniczo nie musisz skupiać się na tym, jak działają te skrypty, ponieważ będziesz mógł zobaczyć pełne wyjście poleceń dla uruchomionych procesów w odpowiedniej sekcji HA. Zobacz przykład poniżej:

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Analiza hybrydowa przechwytuje polecenia zakodowane w Base64 wysyłane do PowerShell:

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

... a następnie dekoduje je dla Ciebie. #magicznie

В Poprzedni post Stworzyłem własny, nieco zaciemniony kontener JavaScript, aby uruchomić sesję PowerShell. Mój skrypt, podobnie jak wiele złośliwych programów opartych na PowerShell, pobiera następujący skrypt PowerShell ze zdalnej strony internetowej. Następnie jako przykład pobrałem nieszkodliwy PS, który wydrukował wiadomość na ekranie. Ale czasy się zmieniają i teraz proponuję skomplikować scenariusz.

PowerShell Empire i Reverse Shell

Jednym z celów tego ćwiczenia jest pokazanie, jak (względnie) łatwo jest hakerowi ominąć klasyczne zabezpieczenia obwodowe i programy antywirusowe. Jeśli bloger IT bez umiejętności programowania, tak jak ja, w kilka wieczorów może tworzyć niewykrywalne złośliwe oprogramowanie (całkowicie niewykryty, FUD), wyobraź sobie możliwości zainteresowanego młodego hakera!

A jeśli jesteś osobą zajmującą się bezpieczeństwem IT, ale Twój kierownik nie rozumie potencjalnych skutków tych zagrożeń, po prostu pokaż mu ten artykuł.

Hakerzy marzą o uzyskaniu bezpośredniego dostępu do laptopa lub serwera ofiary. Jest to bardzo proste: wszystko, czego potrzebuje haker, to zdobyć kilka poufnych plików na laptopie dyrektora generalnego.

Ja jakoś już pisałem o postprodukcyjnym środowisku wykonawczym PowerShell Empire. Przypomnijmy, co to jest.

Zasadniczo jest to narzędzie do testowania penetracji oparte na PowerShell, które oprócz wielu innych funkcji ułatwia uruchamianie odwrotnej powłoki. Więcej informacji można znaleźć pod adresem Strona domowa PSE.

Zróbmy mały eksperyment. Skonfigurowałem bezpieczne środowisko do testowania złośliwego oprogramowania w chmurze Amazon Web Services. Możesz pójść za moim przykładem, aby szybko i bezpiecznie pokazać działający przykład tej luki (i nie zostać zwolnionym za uruchamianie wirusów wewnątrz przedsiębiorstwa).

Jeśli uruchomisz konsolę PowerShell Empire, zobaczysz coś takiego:

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Najpierw uruchamiasz proces nasłuchiwania na swojej maszynie hakerskiej. Wpisz polecenie „listener” i podaj adres IP swojego systemu za pomocą „set Host”. Następnie uruchom proces nasłuchiwania za pomocą polecenia „execute” (poniżej). W ten sposób po swojej stronie zaczniesz czekać na połączenie sieciowe ze zdalnej powłoki:

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Po drugiej stronie będziesz musiał wygenerować kod agenta, wprowadzając polecenie „launcher” (patrz poniżej). Spowoduje to wygenerowanie kodu programu PowerShell dla agenta zdalnego. Zauważ, że jest zakodowany w Base64 i reprezentuje drugą fazę ładunku. Innymi słowy, mój kod JavaScript spowoduje teraz, że ten agent uruchomi PowerShell zamiast nieszkodliwego wyświetlania tekstu na ekranie i połączy się z naszym zdalnym serwerem PSE, aby uruchomić odwrotną powłokę.

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA
Odwrócona magia muszli. To zakodowane polecenie PowerShell połączy się z moim słuchaczem i uruchomi zdalną powłokę.

Aby pokazać wam ten eksperyment, przyjąłem rolę niewinnej ofiary i otworzyłem Evil.doc, uruchamiając w ten sposób nasz JavaScript. Pamiętacie pierwszą część? PowerShell został skonfigurowany tak, aby nie wyskakiwał, więc ofiara nie zauważy niczego niezwykłego. Jeśli jednak otworzysz Menedżera zadań systemu Windows, zobaczysz proces PowerShell w tle, który nadal nie spowoduje żadnego alarmu dla większości. Bo to zwykły PowerShell, prawda?

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Teraz, gdy uruchomisz Evil.doc, ukryty proces działający w tle połączy się z serwerem, na którym działa PowerShell Empire. Zakładając biały kapelusz hakera pentester, wróciłem do konsoli PowerShell Empire i teraz widzę komunikat, że mój zdalny agent jest aktywny.

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

Następnie wpisałem polecenie „interakcja”, aby otworzyć powłokę w PSE - i oto jestem! Krótko mówiąc, włamałem się na serwer Taco, który sam założyłem jakiś czas temu.

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA

To, co właśnie pokazałem, nie wymaga od ciebie tak wiele pracy. Możesz łatwo zrobić to wszystko w przerwie obiadowej przez jedną do dwóch godzin, aby poprawić swoją wiedzę na temat bezpieczeństwa informacji. To także świetny sposób, aby zrozumieć, w jaki sposób hakerzy omijają zewnętrzne zabezpieczenia obwodowe i wkradają się do systemów.

Menedżerowie IT, którzy sądzą, że zbudowali niezniszczalną obronę przed wszelkiego rodzaju włamaniami, prawdopodobnie uznają to również za pouczające - oczywiście jeśli uda ci się ich przekonać, by siedzieli obok ciebie wystarczająco długo.

Powrót do rzeczywistości

Tak jak się spodziewałem, prawdziwy hack, niewidoczny dla przeciętnego użytkownika, jest tylko odmianą tego, co właśnie opisałem. W celu zebrania materiału do kolejnej publikacji zacząłem szukać próbki na HA, która działa tak samo jak mój wymyślony przykład. I nie musiałem go długo szukać - na stronie jest wiele opcji takiej techniki ataku.

Złośliwe oprogramowanie, które znalazłem w HA, to skrypt VBA osadzony w dokumencie programu Word. Oznacza to, że nie muszę nawet fałszować rozszerzenia doc, to złośliwe oprogramowanie jest tak naprawdę najzwyczajniej wyglądającym dokumentem Microsoft Word. Jeśli się zastanawiasz, wybrałam ten wzór tzw RFQ.doc.

Szybko nauczyłem się, że często nie można wyciągnąć złośliwych skryptów VBA bezpośrednio z dokumentu. Hakerzy kompresują je i ukrywają, przez co nie są one widoczne we wbudowanych narzędziach makr programu Word. Aby go wydobyć, będziesz potrzebować specjalnego narzędzia. Na szczęście trafiłem na skaner Office MalScanner Franka Baldwina. Dziękuję Franku.

Za pomocą tego narzędzia udało mi się wyciągnąć bardzo zaciemniony kod VBA. Wyglądało to mniej więcej tak:

Nieuchwytne przygody ze złośliwym oprogramowaniem, część II: ukryte skrypty VBA
Zaciemnianie zostało wykonane przez profesjonalistów w swojej dziedzinie. Byłem pod wrażeniem!

Atakujący są naprawdę dobrzy w zaciemnianiu kodu, w przeciwieństwie do moich wysiłków przy tworzeniu Evil.doc. Dobra, w następnej części weźmiemy nasze debuggery VBA, zagłębimy się trochę w ten kod i porównamy naszą analizę z wynikami HA.

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

Dodaj komentarz