Analiza złośliwego kodu dla amatorów na świeżym przykładzie – odcinek 2

dodał 18 stycznia 2020 o 19:27 w kategorii Info, Złośniki  z tagami:
Analiza złośliwego kodu dla amatorów na świeżym przykładzie – odcinek 2

Pierwsza analiza wzbudziła taki odzew, jaki rzadko spotykamy po naszych artykułach, więc czas na kolejną. Na szczęście przestępcy nie próżnują, więc zobaczmy, co przysłali nam tym razem. Zapraszamy do lektury.

Dzisiaj przyjrzymy się dwóm wiadomościom, z których każda ma zupełnie inny załącznik, ale coś je łączy i to nie tylko na pierwszy rzut oka. Ponownie użyjemy wyłącznie przeglądarkowych, darmowych narzędzi. Nie dokopiemy się bardzo głęboko – ale wystarczająco głęboko, by wiedzieć, co w e-mailu piszczy i że źle piszczy.

Niby różne, a podobne

Spójrzcie na te dwie wiadomości poniżej.

Wiadomość pierwsza
Wiadomość druga

Co ciekawe, każda z nich trafiła do innego odbiorcy, za to w niewielkim odstępie czasowym, tego samego dnia, w czwartek. Co nas przekonało, by bliżej się im przyjrzeć? Powodów jest kilka, od najważniejszych zaczynając:

  • są wysłane do odbiorcy w BCC (puste pole odbiorcy oznacza, że lista odbiorców jest ukryta), a treść wskazuje, że są kierowane do konkretnej firmy – to nie pasuje,
  • oba mają załączniki, w tym jeden to rzadko spotykany ARJ (lub na taki wyglądający),
  • obie pochodzą od firm logistycznych,
  • obie firmy używają nazw spółek pisanych dużymi literami w polu nadawcy,
  • oba e-maile używają podobnej struktury treści.

W nagłówkach można znaleźć drobne nieścisłości:

Return-Path: accounts@safetygloballog.com
Received: from host.webhostingz.in (host.webhostingz.in [67.222.18.82])
by XXX (Postfix) with ESMTPS id 47yp484TnTz1yjK
for ; Thu, 16 Jan 2020 03:27:04 +0100 (CET)
Received: from [::1] (port=50080 helo=webmail.gglobal.in)
by host.webhostingz.in with esmtpa (Exim 4.87)
(envelope-from accounts@safetygloballog.com)
id 1iruoR-0002sr-FT; Wed, 15 Jan 2020 21:23:11 -0500
Date: Wed, 15 Jan 2020 21:23:11 -0500
From: "SAFETY GLOBAL LOGISTICS (CAMBODIA) CO.,LTD"
accounts@safetygloballog.com
To: undisclosed-recipients:;
Subject: CAPE Payment; DD Quotation Dock/ Invoice
Reply-To: info@safetygloballog.com
Mail-Reply-To: info@safetygloballog.com
X-Sender: accounts@safetygloballog.com
User-Agent: Roundcube Webmail/1.1.4
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - host.webhostingz.in
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - safetygloballog.com
X-Get-Message-Sender-Via: host.webhostingz.in: authenticated_id: sales.chennai@gglobal.in
X-Authenticated-Sender: host.webhostingz.in: sales.chennai@gglobal.in
Return-Path: ojs@ojshipping.co.kr
Received: from server.ylp.co.in (server.ylp.co.in [115.124.114.12])
by XXX (Postfix) with ESMTPS id 47yvWQ4tZNz1w7K
for ; Thu, 16 Jan 2020 07:32:34 +0100 (CET)
DKIM-Signature: [wycięte]
Received: from [127.0.0.1] (port=34152 helo=server.ylp.co.in)
by server.ylp.co.in with esmtpa (Exim 4.92)
(envelope-from ojs@ojshipping.co.kr)
id 1irySI-0005mM-IK; Thu, 16 Jan 2020 11:46:34 +0530
Date: Thu, 16 Jan 2020 11:46:34 +0530
From: "OCEAN JADE SHIPPING CO., LTD." ojs@ojshipping.co.kr
To: undisclosed-recipients:;
Subject: RE: Additional BL[CArgo Arrival]
In-Reply-To: 50ae26334ff43693d76894c082ed4ed3@ojshipping.co.kr
X-Sender: ojs@ojshipping.co.kr
User-Agent: Roundcube Webmail/1.3.8
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.ylp.co.in
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - ojshipping.co.kr
X-Get-Message-Sender-Via: server.ylp.co.in: authenticated_id: inwardqc@starlitelighting.com
X-Authenticated-Sender: server.ylp.co.in: inwardqc@starlitelighting.com

Co prawda obie wiadomości wysłane są z różnych serwerów o różnej konfiguracji, ale serwery wysyłające wiadomości miały zupełnie inne domeny niż adresy e-mail nadawców. To nie musi oznaczać ataku, ale nie budzi też naszego zaufania. Zapewne analiza wieku i lokalizacji domen oraz porównanie zebranych informacji z rzekomymi lokalizacjami obu firm może przynieść dodatkowe wnioski, ale prościej (i chyba ciekawiej) będzie się zabrać za załączniki.

Uruchamiamy załącznik, a tam (prawie) nic się nie dzieje

Mamy do dyspozycji dwa pliki:

payment+details.xlsx
Cargo receipt [PO2738 S1 SBK) _Doc.arj

Pierwszy wygląda na gotowy do analizy, drugi musimy dopiero rozpakować. Co prawda, nazwa sugeruje, że to popularne w zeszłym wieku archiwum ARJ, ale plik możemy otworzyć w dowolnym edytorze heksadecymalnym (np. hexed.it), by przekonać się, że to tak naprawdę plik RAR o zmienionej nazwie (większość programów otworzy go bez problemu, a zmodyfikowana nazwa ma zapewne zmylić niektóre filtry bezpieczeństwa).

Początek nie pozostawia wątpliwości – to plik RAR

Gdy wrzucamy plik XLSX do serwisu any.run, niestety nie dostajemy zbyt wielu szczegółów. Widzimy głównie informację o jakimś błędzie Excela, a na samym dole ekranu znajdziemy dodatkową wskazówkę o treści:

WARNING[2280] EQNEDT32.EXE: Executed via COM

Hm, edytor równań? Co robi edytor równań w Excelu? No nic, udajmy się do serwisu VirusTotal. Wrzucamy tam ten sam plik i dostajemy trochę więcej informacji.

Zrzut ekranu wyników VirusTotal

W zakładce DETECTION otrzymujemy od razu informację, że plik wykorzystuje dość stary błąd CVE-2017-11882, czyli możliwość wykonania kodu w oparciu o błędy w edytorze równań. Uruchomienie złośliwego pliku w niezaktualizowanym MS Office powoduje wykonanie poleceń atakującego, bez konieczności interakcji ze strony użytkownika. W sieci znaleźć można gotowe generatory takich ataków, więc nie jest to nic z kategorii sensacji.

W zakładce BEHAVIOR znajdziemy zarówno link do szczegółowego raportu z sandboxa DrWeb, jak i jego podsumowanie. Mamy ponad wszelką wątpliwość do czynienia z czymś dość złośliwym. Plik wykonuje następujące operacje:

  • pobiera plik wykonywalny z http://nationafourlindustrialandgooglednsline.duckdns.org/secure/vbc.exe,
  • wstrzykuje go do procesu cmd.exe,
  • kradnie dane m.in. z profili Opery i Thunderbirda,
  • wysyła je na adres http://107.175.150.73/~giftioz/.golob/fre.php.

Mamy zatem do czynienia z klasycznym narzędziem do kradzieży danych. Gdy przyjrzymy się historii adresu IP 107.175.150.73, to zobaczymy, że od wielu tygodni służy jako centrum przyjmowania danych z wielu, wielu innych ataków.

Przykładowe pliki łączące się z tym adresem

Zauważyliście na liście znajomą nazwę pliku? Tak, nie przez przypadek opisujemy oba e-maile w tej samej analizie.

Drugi plik poprosimy

Weźmy się zatem za plik EXE, wypakowany z archiwum ARJ. Od any.run dowiemy się jedynie, że

DANGER[2660] Cargo receipt [PO2738 S1 SBK) _Doc.exe: Actions looks like stealing of personal data

VirusTotal z kolei mówi, że plik jest dość zły. Co więcej, wskazuje na ten sam serwer, który widzieliśmy w poprzedniej próbce. Ten plik wysyła zebrane dane na ten sam adres IP – zatem nie przez przypadek obie próbki wiadomości wydały się nam podobne. Zakładka BEHAVIOR doda do listy wykradanych danych także informacje z Google Chrome i z Firefoksa. Wyniki tej analizy możemy potwierdzić w serwisie Hybrid Analysis.

Upewnić się co do skuteczności naszych obserwacji możemy w jednym z najlepszych dostępnych na rynku narzędzi, czyli MWDB. To platforma opracowana przez zespół CERT Polska i udostępniana za darmo badaczom złośliwego oprogramowania (członkom zespołów CERT, pracowników działów bezpieczeństwa czy naukowcom zajmujących się tą tematyką). MWDB nie tylko identyfikuje złośliwe oprogramowanie, ale także dla wielu rodzin potrafi odczytać plik konfiguracyjny.

Analiza MWDB

Dzięki MWDB dowiadujemy się, że mamy do czynienia z Lokibotem (tu dość obszerny opis tego narzędzia). Możemy także poznać jego konfigurację.

Konfiguracja Lokibota

Widzimy, że faktycznie korzysta z adresów zidentyfikowanych przez inne sandboxy. Otrzymujemy także informację o domenach, których sandboxy nie wykryły. MWDB jest naprawdę bardzo przydatnym narzędziem.

Podsumowanie

Jak zatem widzicie, w naszym amatorskim laboratorium online nie możemy opierać się wyłącznie o jedno rozwiązanie. Na szczęście mamy do dyspozycji różne narzędzia, które pozwalają wyciągnąć z potencjalnie podejrzanego pliku sporo informacji. Polecamy ćwiczenie i eksperymentowanie – pamiętajcie tylko, że wrzucacie pliki do serwisów, gdzie mogą one być dostępne dla publiczności.