18.01.2020 | 19:27

Adam Haertle

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: [email protected]
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 [email protected])
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"
[email protected]
To: undisclosed-recipients:;
Subject: CAPE Payment; DD Quotation Dock/ Invoice
Reply-To: [email protected]
Mail-Reply-To: [email protected]
X-Sender: [email protected]
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: [email protected]
X-Authenticated-Sender: host.webhostingz.in: [email protected]
Return-Path: [email protected]
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 [email protected])
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." [email protected]
To: undisclosed-recipients:;
Subject: RE: Additional BL[CArgo Arrival]
In-Reply-To: [email protected]
X-Sender: [email protected]
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: [email protected]
X-Authenticated-Sender: server.ylp.co.in: [email protected]

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.

Powrót

Komentarze

  • 2020.01.18 22:44 Miłosz

    Zajeb*ste są Wasze analizy! Na tyle, że sam się ćwiczę.

    Trafił do mnie przez przypadek taki mail:

    Od: xxx
    Do: xxx
    Wysłane: piątek, 17 stycznia, 2020 0:16:07
    Temat: INFORMACJA KONTROLI SKARBOWEJ

    Urzad Skarbowy doreczyl zawiadomienie o zamiarze wszczecia kontroli w dniu 19.01.2020r. Wobec braku mozliwosci nawiazania kontaktu telefonicznego w dniach 3-4.01.2020r. i nie zastania podatnika w jego siedzibie w dniu 2.01.2020r. w celu ustalenia terminu wszczecia kontroli. Urzad Skarbowy wyznacza termin wszczecia kontroli na 19.01.2020r. o godz. 9.00.

    Jednoczesnie Urzad Skarbowy informuje, ze zgodnie z art. 92a ustawy z dnia 13 pazdziernika 1998r. (Dz. U. z 2007 r., Nr 11, poz.74 z pуzn. zm.) w zwiazku art. 80 ust. 1 ustawy z 2 lipca 2004 r. o swobodzie dzialalnosci gospodarczej (Dz. U. z 2007 r., Nr 155, poz. 1095 z pуzn. zm.) czynnosci kontrolnych dokonuje sie w obecnosci kontrolowanego lub osoby przez niego upowaznionej. Oznacza to ze w wyzej wymienionym terminie jest Pani/Pan zobowiazana/y do obecnosci w siedzibie swojej Firmy i wspуlpracy z inspektorem kontroli. Ponadto zgodnie z art. 80 ust. 3 ustawy o swobodzie dzialalnosci gospodarczej jest Pani/Pan zobowiazany do pisemnego wskazania osoby upowaznionej do reprezentowania Pani/Pana w trakcie kontroli, w szczegуlnosci w czasie Pani/Pana nieobecnosci.

    Jest Pani/Pan zobowiazana/y do przygotowania wszystkich potrzebnych dokumentуw zwiazanych z prowadzona przez Pania/Pana Firma wymienionych w zalaczniku.

    Zalacznik do pobrania

    Nieobecnosc Pani/Pana moze zostac uznana za stan wyczerpujacy znamiona wykroczenia okreslonego w art. 98 ust. 1 pkt 3 ustawy z 13 pazdziernika 1998 r. (Dz. U. z 2007 r., Nr 11, poz. 74 z pуzn. zm.).

    ———————————–

    INSPEKTOR KONTROLI
    Urzad Skarbowy
    mgr Jach-Wrуbel Agnieszka

    Link prowadzi do https://drive.google.com/file/d/1GjgLmP4xUfPWc0tWqOysRYfE1w9vmb8m/view?usp=sharing

    W prezentacji jest link do strony yourtrustyouloa.info, a wejście na nią skutkuje pobraniem zipa, a w zipie jest plik vbe.

    Po wrzuceniu pliku do virustotal pokazuje mi, że to jakiś trojan. I tu utknąłem, co dalej z tym zrobić.

    Link do analizy: https://www.virustotal.com/gui/file/cb8d81838d46d188b25671024f0ac3e84da282aa8c4e5d42ea317ce1965e6f37/detection

    Odpowiedz
    • 2020.01.19 09:19 Ja

      Przygotuj się na kontrolę :D
      Dobrze że 19 stycznia (dzisiaj) to niedziela i urząd nie pracuje :D

      Odpowiedz
    • 2020.01.19 09:23 Adam Haertle

      Wrzucałeś VBE na app.any.run ?

      Odpowiedz
  • 2020.01.19 09:58 Dariusz

    Są jakieś fora czy inne miejsca gdzie można się dzielić czy ewentualnie w formie współpracy badać czy podpytać o takie rzeczy. Bo szczerze w ramach treningu chętnie bym od czasu do czasu się temu przyjrzał bliżej i przesłał gdzie trzeba. Zawsze to jakiś wkład aby wszystkiem nam surfowało się bezpieczniej.

    Odpowiedz
  • 2020.01.19 12:26 Awidzisz

    Pytanie na miare KSC RCB itp. Tylko jak na razie dla cywili komunikacja wybitnie jednostronna. By cos poprawic w tej kwestii bardzo przydalaby sie gwarancja zaufania do komunikatu wraz z gwarancja zachowania poufnosci/prywatnosci zglaszajacego. Co oznacza ze taka gwarancje winno dac panstwo. Tyle ze ono dzis widzi ratunek glownie w inicjarywach oddolnych i partnerstwie PP. Adam ta luke calkiem niezle wypelnia.

    Odpowiedz
  • 2020.01.19 20:57 Marianusz

    Wincyj

    Odpowiedz
  • 2020.01.20 12:03 Greg

    Przydatny artykul, dzieki

    Odpowiedz
  • 2020.01.22 12:17 Nism0

    Szkoda, że jak tylko wpadnie jakiś SPAM w moje skrzynki, to domena na której jest malware jest akurat już zdjęta. Nie bardzo mam na czym trenować.
    @Adam – czy są jakieś miejsca, gdzie można się pobawić malware’em?

    PS: Nie mam na myśli domów publicznych. :)

    Odpowiedz
    • 2020.01.23 07:27 adamh

      Szybciej klikać ;) Ale może uda się coś w najbliższej przyszłości zorganizować

      Odpowiedz

Zostaw odpowiedź do Awidzisz

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

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

Komentarze