środa, 22 kwietnia 2015

Malware w 5 rocznicę katastrofy samolotu

W ubiegłym tygodniu zaobserwowaliśmy próby ataku ukierunkowanego. Do wiadomości email załączany był dokument o nazwie „Nowe szczegóły katastrofy polskiego samolotu.docx” [1].

 

Dokument zawierał obiekt Flash SWF wykorzystujący podatność CVE-2014-0569. Na komputerach z podatną wersją Adobe Flash Player wykonywany był skrypt powershell instalujący malware [2]. Z naszej analizy wynika, że robocza nazwa złośliwego oprogramowania to CosmicDuke [3].
Malware wyszukuje na zainfekowanym komputerze pliki o poniższych rozszerzeniach:

*.doc;*.xps;*.xls;*.ppt;*.pps;*.wps;*.wpd;*.ods;*.odt;*.lwp;*.jtd;*.pdf;*.zip;*.rar;*.docx;*.xlsx;*.pptx;*.ppsx;*.pst;*.ost;*psw*;*pass*;*login*;*admin*;*sifr*;*sifer*;*vpn;*.jpg*;*.url;*.exe;*.dll;*.tmp;*.obj;*.ocx;*.js

Zidentyfikowane pliki trafiają za pomocą http oraz ftp na serwery w domenie *ihby.in oraz *kenny.info. W przypadku ftp wykorzystywane są dwa konta hqarvr oraz lyasqn.

Pliki przed przesłaniem są szyfrowane RC4. Klucz widoczny jest na poniższym zrzucie ekranu.


Malware jako mechanizmu autostart korzysta z usługi Task Scheduler (uruchamiany przy logowaniu użytkownika oraz co 1 minutę). Fragment pliku konfiguracyjnego:

<Actions>
 <Exec>
  <Command>C:\Users\<username>\AppData\Local\cfgms.exe</Command>
  <Arguments>l44</Arguments>
 </Exec>
</Actions>


W zależności od uprawnień pliki exe z malware tworzone są w C:\Users\<username>\appdata\local lub C:\Windows\System32\.

Złośliwe oprogramowanie korzysta z kilku mechanizmów utrudniających analizę i wykrywających obecność systemów AV. Ukrywanie wykorzystywanych funkcji API oraz nadpisywanie poszczególnych sekcji pliku w pamięci:


Wyszukiwane procesy (2 x CreateToolhelp32Snapshot): savadminservice.exe, scfservice.exe, savservice.exe, ekrn.exe, msseces.exe, MsMpEng.exe, dwengine.exe, ekern.exe, nod32.exe, nod32krn.exe, AvastUi.exe, AvastSvc.exe, kav.exe, navapsvc.exe, mcods.exe, mcvsescn.exe, outpost.exe, acs.exe, avp.exe.

Inne funkcje malware to keylogger, tworzenie screenshot-ów ekranu. Malware szczegółowo został opisany przez np. firmę F-Secure [3].

CVE-2014-0569


Należy dodać, że użyty exploit pojawił się publicznie niecałe dwa tygodnie temu [4]. Dołączony do pliku docx obiekt zawiera skrypt w języku Action Script 3. Ten sam szablon AS3 wykorzystywany jest w nowszych exploit-ach na Adobe Flash -  w tym tych opisywanych ostatnio [5][6].

Skrypt wykonuje całą pracę związaną z wykorzystaniem podatności i instalacją złośliwego oprogramowania (umieszczeniem i oznaczenie danych na stercie, zbudowaniem łańcucha ROP, przekierowaniem adresu stosu).

Na początku odczytywany jest parametr sh z pliku:

Parametr po odkodowaniu:
Uruchamiana komenda powershell.exe również odkodowuje zawartość właściwego skryptu ps:
Ta technika jest bardzo skuteczna do omijania systemów AV.

Zanim w/w kod zostanie uruchomiony, za pomocą skryptu AS3 wykorzystana zostanie podatność integer overflow w funkcji casi32():


Funkcja (avm2.intrinsics.memory.casi32  - compare and swap memory) niepoprawnie waliduje dane, co umożliwia nadpisanie rozmiaru tablicy ByteArray. Gdy mamy ustawiony nowy rozmiar budowany jest łańcuch ROP. Pierwszym krokiem jest wyliczenie adresu bazowego (ze względu na ASLR) poprzez odczytanie zawartości tablicy oraz wyliczenie przesunięcia (linie 121-125). Tworzona jest również tymczasowa virtual method table, która jest nadpisywana (150) i wywoływana (zrzut poniżej):




W efekcie po kolejnej wymuszonej modyfikacji adresu ESP (stack pivot) wywoływana jest funkcja WinExec():


Źródło:

[1] MD5: F81F858335B253D4708FBDFA6CA92EE9
[2] MD5: 5080BC705217C614B9CBF67A679979A8 (do plików wykonywalnych dodawane są „śmieci” aby za każdym razem hash był inny)
[3] https://www.f-secure.com/documents/996508/1030745/cosmicduke_whitepaper.pdf
[4] https://github.com/rapid7/metasploit-framework/tree/master/external/source/exploits/CVE-2014-0569
[5] http://blog.trendmicro.com/trendlabs-security-intelligence/analyzing-cve-2015-0313-the-new-flash-player-zero-day/
[6] https://www.fireeye.com/blog/threat-research/2015/04/angler_ek_exploiting.html