Złośliwe oprogramowanie zostało umieszczone na kilka godzin na stronie organizacji powiązanej z Unią Europejską (www.EuropeanIssuers.eu). Do odbiorców został rozesłany email z linkiem do dokumentu Invitation1541.pdf. Intruzi podszyli się pod adres w domenie @europarl.europa.eu.
Z w/w strony do pobrania było archiwum 1541.zip zawierające plik wykonywalny exe. Plik exe zawierał dwa kolejne pliki: 1541.pdf oraz reader_sl.exe. Plik pdf wyświetlany jest na ekranie a w tle instalowane jest docelowe złośliwe oprogramowanie.
- amd_opencl32.dll
- amdhwdecoder_32.dll
- atiglpxx.dll
- amdocl_as32.exe
- racss.dat
Gdy konto w systemie z którego uruchamiany jest reader_sl.exe ma uprawnienia administracyjne (weryfikacja za pomocą funkcji AllocateAndInitializeSid(), CheckTokenMembership(), FreeSid()) to dodawane są wpisy do:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Amdocl_as32.exe to plik systemowy rundll32.exe. ADL2_DFP_HDMISupport_Get to funkcja eksportowana przez bibliotekę amdhwdecoder_32.dll.
Do serwera C&C przesyłany jest raport dotyczący instalacji. Fragment odszyfrowanej zawartości poniżej:
Plik racss.dat jest zaszyfrowanym plikiem konfiguracyjnym (w formacie XML). Jest tam między innymi adres serwera C&C, hasła do szyfrowania danych, hasło dostępu do serwera czy informacje o statusie ostatnich zadań odebranych z serwera.
Plik szyfrowany i odszyfrowywany jest za pomocą API CryptDecrypt() i CryptEncrypt() z ADVAPI32.dll.
Większość wywoływanych API, nazw bibliotek, nazwy rejestrów czy nawet parametry przesyłane do serwera są przez malware odkodowywana przed użyciem. Fragment funkcji odkodowującej API i nazwy parametrów z pliku konfiguracyjnego:
seg000:0000A5E3 loc_A5E3: ; CODE XREF: sub_A5D0+33
seg000:0000A5E3 mov esi, [ecx]
seg000:0000A5E5 movsx esi, byte ptr [esi+eax]
seg000:0000A5E9 movzx edi, byte ptr [ecx+8]
seg000:0000A5ED xor si, di
seg000:0000A5F0 xor si, ax
seg000:0000A5F3 mov edi, 0FFh
seg000:0000A5F8 and si, di
seg000:0000A5FB mov [edx+eax*2], si
seg000:0000A5FF inc eax
seg000:0000A600 cmp eax, [ecx+4]
seg000:0000A603 jb short loc_A5E3
seg000:0000A605 pop edi
seg000:0000A606 pop esi
Fragment funkcji wykorzystującej różne klucze dla operacji XOR:
Malware korzysta z WMI aby sprawdzić zainstalowane aplikacje na zainfekowanej stacji roboczej:
- SELECT * FROM AntiVirusProduct
- SELECT * FROM FireWallProduct
- Bitdefender
- SOPHOS
- Dr. Web
- KASPERSKY CRYSTAL
- AVG
Poniżej wysyłane do serwera zapytanie (komunikacja jest dodatkowo szyfrowana za pomocą SSL):
Dla przykładu wartość parametru as_rq to zakodowana powyższym algorytmem ciąg znaków: version150212=ranoekjx1wyxy
Lista odszyfrowanych parametrów: aff_id, as_dt, as_epq, as_eq, as_ft, as_lq, as_occt, as_oq, as_q, as_qdr, as_rq, curid, direct, file, filter, from, mode, name, oldid, option, page, page_id, popup, print, safe, search, sess_id, site, thread, title, topic, type, uselang, user, userid, variant, window.
Przykład zwracanej odpowiedzi. Wartość z komentarza (rodzaj ID sesji) jest używana do przygotowania i zakodowana kolejnego zapytania do serwera C&C.
Malware ma możliwość pobierania i uruchamiana funkcji zaimplementowanych w zewnętrznych modułach. Jeden z modułów tworzy zrzut ekranu i wynik przesyła do serwera. Moduł po wykonaniu zadania jest kasowany z zainfekowanego komputera. Fragment kodu modułu Reg_ativvsvl_Subsystem_.max odpowiedzialnego za wykonanie zrzutu ekranu na zainfekowanym komputerze.
Status wykonanych zadań również zapisywany jest w pliku konfiguracyjnym:
Lista funkcji skrótu MD5:
File: 1541.exe
MD5: 5EABC9C54B73FFFB5F3FDDB37A653D7B
File: 1541.pdf
MD5: 93176DF76E351B3EA829E0E6C6832BDF
File: reader_sl.exe
MD5: 43C012086C1AE0A67C38B0926D6CBA3F
File: amd_opencl32.dll
MD5: 4DF44CE045D2F4572B3B68B1EF0F9151
File: amdhwdecoder_32.dll
MD5: 029568AE421E50EC62C4FA24535E0455
File: amdocl_as32.exe (rundll32.exe)
MD5: 51138BEEA3E2C21EC44D0932C71762A8
File: atiglpxx.dll
MD5: D2D6093F0BD1FFDBC01EA7F1390A84B3
File: Reg_ativvsvl_Subsystem_.max
MD5: E0B6F0D368C81A0FB197774D0072F759
Brak komentarzy:
Prześlij komentarz