Nowa aktywno艣膰 kampanii cyberszpiegowskiej Blue Termite

Wprowadzenie

W pa藕dzierniku 2014 r. Kaspersky Lab zacz膮艂 bada膰 "Blue Termite", zaawansowane d艂ugotrwa艂e zagro偶enie ukierunkowane (APT) atakuj膮ce cele w Japonii. Najstarsza pr贸bka, jak膮 dot膮d widzieli艣my, pochodzi z listopada 2013 r.

Nie jest to pierwszy raz, gdy Japonia sta艂a si臋 celem ataku APT. Jednak atak ten r贸偶ni si臋 od poprzednich z dw贸ch wzgl臋d贸w: w przeciwie艅stwie do innych kampanii APT g艂贸wnym celem Blue Termite s膮 organizacje japo艅skie; wi臋kszo艣膰 ich serwer贸w kontroli znajduje si臋 w Japonii. G艂贸wnym celem atak贸w s膮 agencje rz膮dowe, rz膮dy lokalne, grupy interesu publicznego, uniwersytety, banki, organizacje finansowe, przemys艂 energetyczny, komunikacyjny, ci臋偶ki, chemiczny, motoryzacyjny, elektryczny, bran偶a medi贸w, sektor us艂ug informacyjnych, s艂u偶ba zdrowia, nieruchomo艣ci, spo偶ywczy, p贸艂przewodnik贸w, robotyki, budowlany, ubezpieczeniowy, transportowy itd. Niestety, kampania ta wci膮偶 jest aktywna, a liczba ofiar zwi臋ksza si臋.     

Poni偶szy wykres pokazuje dzienny dost臋p do niekt贸rych znanych serwer贸w C2:

Blue_termite_1_auto.jpg

Znaczny wzrost mo偶na zauwa偶y膰 w po艂owie lipca (zaznaczony na pomara艅czowo). Nat臋偶enie to spowodowane by艂o wykorzystywaniem przez ugrupowanie Blue Termite nowych metod ataku, kt贸re Kaspersky Lab wykrywa. Niniejszy artyku艂 przedstawia nowe metody i szczeg贸艂y techniczne dotycz膮ce ich dzia艂ania.  

Nowa metoda pierwotnej infekcji

Pierwotnie, g艂贸wnym wektorem infekcji w atakach APT by艂y wiadomo艣ci e-mail typu spear-phishing. Kaspersky Lab wykry艂 now膮 metod臋 pierwszej infekcji, w kt贸rej wykorzystywany jest atak drive-by-download przy u偶yciu exploita Flasha (CVE-2015-5119, kt贸ry wyciek艂 w wyniku incydentu dotycz膮cego ugrupowania Hacking Team). 

Kilka japo艅skich stron internetowych zosta艂o zmodyfikowanych przy u偶yciu tej metody.

Przyk艂ad:

Blue_termite_2_auto.jpg


Szkodliwy kod umieszczony w zmodyfikowanej stronie wskazuje na "faq.html".

Kod 藕r贸d艂owy "faq.html":

Blue_termite_3_auto.jpg

"faq.html" 艂aduje "movie.swf", kt贸ry zawiera exploita. W ten spos贸b szkodliwe oprogramowanie infekuje maszyn臋 osoby odwiedzaj膮cej w momencie dost臋pu.   

Nag艂贸wek "movie.swf" to "ZWS", plik Flash skompresowany przy u偶yciu Lempel-Ziv-Markov chain-Algorithm (LZMA):  

Blue_termite_4_auto.jpg

Plik ten zawiera sekcj臋 Big Data zaznaczon膮 na niebiesko:

Blue_termite_5_auto.jpg

Dane te zawieraj膮 12 bajt贸w nag艂贸wka. Zakodowane dane rozpoczynaj膮 si臋 w 0x5dca ("\x78\x9c\xec\xb7".") i s膮 skompresowane przy u偶yciu zlib. Po dekompresji znajdujemy plik wykonywalny (z "MZ header").  

Blue_termite_6_auto.jpg

Opr贸cz powy偶szych danych plik swf posiada r贸wnie偶 kod pow艂oki w ActionScript (AS):  

Blue_termite_7_auto.jpg

Funkcja tego kodu pow艂oki jest do艣膰 prosta: zapisuje wypakowany plik wykonywalny jako "rdws.exe" w bie偶膮cym folderze tymczasowym, a nast臋pnie wykonuje go przy u偶yciu WinExec().   

Blue_termite_8_auto.jpg

 

Wypakowany plik wykonywalny to "emdivi t17", nowy wektor infekcji stosowany przez osoby atakuj膮ce. Zidentyfikowali艣my kilka rodzaj贸w szkodliwego oprogramowania, kt贸re jest wykonywane jako rdws.exe i emdivi t17 do nich nale偶y.

Kaspersky Lab zidentyfikowa艂 r贸wnie偶 kilka atak贸w "przy wodopoju" (ang. watering hole), w tym jeden na stron臋 internetow膮 nale偶膮c膮 do znanego cz艂onka rz膮du japo艅skiego. Wys艂ali艣my powiadomienie do jej administratora oraz dostawcy us艂ug internetowych za po艣rednictwem poczty elektronicznej, ale nie otrzymali艣my 偶adnej odpowiedzi. Jednak po oko艂o godzinie szkodliwy kod zosta艂 usuni臋ty. Poni偶szy kod odfiltrowuje wszystkie adresy IP z wyj膮tkiem jednego nale偶膮cego do okre艣lonej japo艅skiej organizacji rz膮dowej.   

Blue_termite_9_auto.jpg

Co ciekawe, skrypt ten zawiera informacje dotycz膮ce IP z nazw膮 zmiennej "TEST". Przypuszczamy, 偶e jest to IP testowe os贸b atakuj膮cych, zlokalizowane w Szanghaju.  

Szkodliwe oprogramowanie dostosowane do celu

Kaspersky Lab wykry艂 szkodliwe oprogramowanie o nazwie "emdivi t20" dostosowane do konkretnego celu. Szkodnik ten jest zasadniczo wykorzystywany po infekcji przy u偶yciu emdivi t17, kt贸ry pe艂ni funkcj臋 backdoora. Chocia偶 wersje emdivi t17 i emdivi t20 pochodz膮 z tej samej rodziny emdivi, druga z nich odznacza si臋 wi臋kszym wyrafinowaniem. Przyjrzyjmy si臋 wykorzystywanym poleceniom backdoora. emdivi t17 posiada 9 polece艅, podczas gdy niekt贸re pr贸bki emdivi t20 posiadaj膮 nawet 40.        

Polecenia obs艂ugiwane przez emdivi t17:

polecenie

md5

DOABORT

d895d96bc3ae51944b29d53d599a2341

DOWNBG

39cd12d51b236befc5f939a552181d73

GETFILE

74a9d3a81b79eec0aa2f849cbc8a7efb

GOTO

4b8bb3c94a9676b5f34ace4d7102e5b9

LOADDLL

67ca07ecb95c4055d2687815d0c0f8b9

SETCMD

48bb700b80557ee2e5cf06c90ba6698c

SUSPEND

ee93a0b023cef18b34ebfee347881c14

UPLOAD

8dff5f89b87ebf91a1ecc1dbed3a6fbb

VERSION

021321e8c168ba3ae39ce3a2e7b3ec87

Polecenia obs艂ugiwane przez emdivi t20:

polecenie

md5

abort

5bb94a1c12413a2e5d14deabab29f2aa

cd

6865aeb3a9ed28f9a79ec454b259e5d0

copy

12cba3ee81cf4a793796a51b6327c678

dir

736007832d2167baaae763fd3a3f3cf1

diskls

e120a254f254978fc265354a4e79d1d6

doabort

1f6dcc1149b2eef63f6dd4833d5ef0d3

downbg

1e04875a872812e1f431283244b180d2

downbg2

7f3e982a0d9b4aa5303332aaf414d457

download

fd456406745d816a45cae554c788e754

download2

b5a4000c99977ce512052d4e8bf737f8

execute

ec0cd3cb91fe82b9501f62a528eb07a9

exhide

fc236c4ddd3414cee8bd3cbd937461c0

exit

f24f62eeb789199b9b2e467df3b1876b

exuser

0b5396d6bd0867485ff63067ad9363e7

get

b5eda0a74558a342cf659187f06f746f

getfile

b24ba6d783f2aa471b9472109a5ec0ee

getlnk

71574cf393bf901effa0cbc6c37e4ce2

goto

de94e676c0358eefea4794f03d6bda4f

hash

0800fc577294c34e0b28ad2839435945

head

96e89a298e0a9f469b9ae458d6afae9f

hjlnk

ebb0149209e008e3f87e26659aa9b173

loaddll

0340b5e3f0d0ea71eeef6ab890270fc0

md

793914c9c583d9d86d0f4ed8c521b0c1

mklnk

a3bb50704b87da1858a46455dfb5e470

move

3734a903022249b3010be1897042568e

post

42b90196b487c54069097a68fe98ab6f

postfile

316713cb9f82ff9ade53712ab1cbf92c

postfile2

f15ae485061a10adead43d7f5d5a9889

rd

eeec033a2c4d56d7ba16b69358779091

runas

d88f585460839dd14ad3354bb0d5353b

screen

599eba19aa93a929cb8589f148b8a6c4

setcmd

27dc2525548f8ab10a2532037a9657e0

setlen

846a44d63b02c23bcfee5b4ccaa89d54

suspend

497927fb538c4a1572d3b3a98313cab1

tasklist

6e0ad8e44cff1b5d2901e1c7d166a2a4

type

599dcce2998a6b40b1e38e8c6006cb0a

unzip

0a342b59ecdcede0571340b9ed11633f

upload

76ee3de97a1b8b903319b7c013d8c877

version

2af72f100c356273d46284f6fd1dfc08

zip

adcdbd79a8d84175c229b192aadc02f2

Obie wersje przechowuj膮 sumy kontrolne md5 polece艅 backdoora.

Podczas analizy pr贸bek emdivi t20 odkryli艣my, 偶e szkodnik ten jest wysoce ukierunkowany z dw贸ch wzgl臋d贸w.

Po pierwsze, pr贸bka emdivi t20 zawiera zakodowane na sztywno informacje dotycz膮ce wewn臋trznego proxy, zakodowane w 0x44e79c:  

Blue_termite_10_auto.jpg

Odszyfrowany kod to ?proxy.??????????.co.jp:8080?:

Blue_termite_11_auto.jpg

Sztuczka ta nie jest niczym nowym, jednak nie jest powszechnie stosowana. Wynika to z tego, 偶e mo偶e ujawni膰 swoje cele, a tak偶e nie jest metod膮 generyczn膮 i sprawdza si臋 tylko w okre艣lonej organizacji. Jednak podobne przypadki obserwowane by艂y niekiedy w innych atakach APT.  

Do艣膰 interesuj膮cy jest drugi aspekt. Rodzina emdivi przechowuje istotne dane o sobie, w tym nazw臋 C2, API, ci膮gi utrudniaj膮ce analiz臋 (strings for anti-analysis), warto艣膰 muteks贸w, jak r贸wnie偶 sum臋 kontroln膮 md5 polece艅 bakdoora oraz informacje dotycz膮ce wewn臋trznego proxy. S膮 one przechowywane w formie zaszyfrowanej i w razie konieczno艣ci zostaj膮 odszyfrowane. Dlatego, aby przeprowadzi膰 szczeg贸艂ow膮 analiz臋 pr贸bki emdivi, musimy ustali膰, kt贸re kody szesnastkowe s膮 zaszyfrowane i jak je odszyfrowa膰. W procesie deszyfrowania dla ka偶dej pr贸bki wymagany jest unikatowy klucz deszyfrowania.       

emdivi t20 posiada funkcj臋 generowania klucza deszyfrowania przy u偶yciu Salt1 i Salt2. Salt1 jest generowany z magicznego ci膮gu (kt贸ry prawdopodobnie stanowi wersj臋 emdivi) przy u偶yciu okre艣lonych czterech cyfr (prawdopodobnie ID serwera C2).

Przyk艂ad magicznego ci膮gu:

Blue_termite_12_auto.jpg

Cz臋艣膰 nazwy emdivi ("t17" oraz "t20") pochodzi z tego zakodowanego na sztywno magicznego ci膮gu.

Salt2 jest generowany z du偶膮 ilo艣ci膮 danych, kt贸re s膮 zakodowane na sztywno:

Blue_termite_13_auto.jpg

W wi臋kszo艣ci przypadk贸w, rodzina emdivi generuje klucz szyfrowania przy u偶yciu Salt1 i Salt2. 

Jednak na pocz膮tku lipca 2015 r. Kaspersky Lab zidentyfikowa艂 pr贸bk臋, kt贸ra tworzy klucz deszyfrowania przy u偶yciu Salt1, Salt2, oraz Salt3. Salt3 to identyfikator bezpiecze艅stwa (SID) z zainfekowanego komputera PC. 

Ci膮g generowania klucza deszyfrowania (z dodatkowym Salt3):

Blue_termite_14_auto.jpg

Innymi s艂owy, pr贸bka ta dzia艂a tylko na okre艣lonym komputerze PC. Nie znaj膮c identyfikatora SID ofiary, nie mo偶na poprawnie wygenerowa膰 klucza deszyfrowania, co utrudnia odszyfrowanie istotnych danych. To oznacza, 偶e nie mo偶na przeprowadzi膰 szczeg贸艂owej analizy szkodliwego oprogramowania.

Na szcz臋艣cie, zdo艂ali艣my przeanalizowa膰 te pr贸bki. Uda艂o nam si臋 z艂ama膰 klucze deszyfracji przy u偶yciu metody brute-force z kilku pr贸bek bez identyfikator贸w SID.

Podsumowanie

Od pocz膮tku czerwca, kiedy zacz臋to szeroko nag艂a艣nia膰 cyberatak na Japo艅ski fundusz emerytalny, r贸偶ne organizacje japo艅skie zacz臋艂y stosowa膰 艣rodki ochrony. Jednak osoby atakuj膮ce stoj膮ce za kampani膮 Blue Termite, kt贸re prawdopodobnie mia艂y je na oku, zacz臋艂y stosowa膰 nowe metody atak贸w i rozszerzy艂y zasi臋g swojej dzia艂alno艣ci. W momencie tworzenia tego artyku艂u wykryto kolejn膮 pr贸bk臋 emdivi t20. Wykorzystuje ona AES, utrudniaj膮c odszyfrowanie poufnych danych. Kaspersky Lab b臋dzie kontynuowa艂 swoje badanie w celu przeciwdzia艂ania tej kampanii cyberszpiegowskiej.     

Produkty firmy Kaspersky Lab wykrywaj膮 emdivi t17, emdivi t20 oraz exploity flasha przy pomocy poni偶szych werdykt贸w:

l  Backdoor.Win32.Emdivi.*

l  Backdoor.Win64.Agent.*

l  Exploit.SWF.Agent.*

l  HEUR:Backdoor.Win32.Generic

l  HEUR:Exploit.SWF.Agent.gen

l  HEUR:Trojan.Win32.Generic

l  Trojan-Downloader.Win32.Agent.*

l  Trojan-Dropper.Win32.Agent.*

殴ród艂o: Kaspersky Lab