Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Nowa aktywność kampanii cyberszpiegowskiej Blue Termite

Tagi:

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.*