Dina Maret 2019, conto anyar malware macOS ti grup cyber OceanLotus diunggah ka VirusTotal, layanan scanning online anu populer. File laksana backdoor gaduh kamampuan anu sami sareng versi sateuacana tina malware macOS anu kami pelajari, tapi strukturna parantos robih sareng janten langkung hese dideteksi. Hanjakalna, kami henteu tiasa mendakan dropper anu aya hubunganana sareng conto ieu, janten kami henteu acan terang vektor inféksi.
Simkuring nembe diterbitkeun
analisis
Tilu bagian salajengna ngajelaskeun analisa sampel sareng hash SHA-1 E615632C9998E4D3E5ACD8851864ED09B02C77D2
. file disebutna senter, produk antipirus ESET ngadeteksi eta salaku OSX/OceanLotus.D.
Anti debugging sareng panyalindungan sandbox
Sapertos sadaya binari macOS OceanLotus, sampelna dibungkus ku UPX, tapi kalolobaan alat idéntifikasi pakét henteu mikawanoh éta sapertos kitu. Ieu meureun sabab lolobana ngandung signature gumantung kana ayana "UPX" string, sajaba, tanda tangan Mach-O kirang umum tur teu diropéa sakumaha mindeng. Fitur ieu ngajadikeun deteksi statik hésé. Narikna, sanggeus ngabongkar, titik asupna aya di awal bagian __cfstring
dina ruas .TEXT
. Bagian ieu ngagaduhan atribut bandéra sapertos anu dipidangkeun dina gambar di handap ieu.
Gambar 1. atribut bagian MACH-O __cfstring
Ditémbongkeun saperti dina Gambar 2, lokasi kode dina bagian __cfstring
ngidinan Anjeun pikeun trik sababaraha parabot disassembly ku mintonkeun kode salaku string.
angka 2. Kodeu backdoor kauninga ku IDA salaku data
Sakali dieksekusi, binér nyiptakeun utas salaku anti-debugger anu tujuanna nyaéta pikeun terus-terusan mariksa ayana debugger. Pikeun aliran ieu:
- Nyobian unhook debugger wae, nelepon ptrace
с PT_DENY_ATTACH
salaku parameter pamundut
- Cék lamun sababaraha palabuhan ekslusif dibuka ku nelepon hiji fungsi task_get_exception_ports
- Cék lamun debugger disambungkeun, ditémbongkeun saperti dina gambar di handap, ku pariksa ayana bandéra P_TRACED
dina prosés ayeuna
Gambar 3. Mariksa sambungan debugger ngagunakeun fungsi sysctl
Mun watchdog nu ngadeteksi ayana debugger a, fungsi disebut exit
. Salaku tambahan, sampel teras pariksa lingkungan ku ngajalankeun dua paréntah:
ioreg -l | grep -e "Manufacturer" и sysctl hw.model
Sampel teras pariksa nilai uih deui kana daptar senar anu disandi tina sistem virtualisasi anu dipikanyaho: acle, vmware, kotak virtual atawa sajajar. Tungtungna, paréntah salajengna cek lamun mesin mangrupa salah sahiji "MBP", "MBA", "MB", "MM", "IM", "MP" jeung "XS". Ieu mangrupikeun kode modél sistem, contona, "MBP" hartosna MacBook Pro, "MBA" hartosna MacBook Air, jsb.
system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}
tambihan utama
Nalika paréntah backdoor henteu robih ti saprak panalungtikan Trend Micro, kami perhatikeun sababaraha modifikasi anu sanés. Server C&C anu dianggo dina conto ieu cukup énggal sareng didamel dina 22.10.2018/XNUMX/XNUMX.
- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com
URL sumberdaya geus robah jadi /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35
.
The pakét munggaran dikirim ka C & C server ngandung émbaran leuwih lengkep ngeunaan mesin host, kaasup sakabeh data dikumpulkeun ku paréntah dina tabel di handap ieu.
Salian parobahan konfigurasi ieu, sampel henteu ngagunakeun perpustakaan pikeun nyaring jaringan gFjMXBgyXWULmVVVzyxy
, padded kalawan nol. Unggal file didekripsi sareng disimpen salaku /tmp/store
, sarta usaha pikeun ngamuat eta salaku perpustakaan dijieun ngagunakeun fungsi dlopen
, backdoor extracts fungsi diékspor Boriry
и ChadylonV
, nu tétéla jawab komunikasi jaringan jeung server. Urang teu boga dropper atawa payil séjén ti lokasi aslina sampel urang, jadi urang teu bisa parse perpustakaan ieu. Sumawona, saprak komponénna énkripsi, aturan YARA dumasar kana senar ieu moal cocog sareng file anu aya dina disk.
Sakumaha anu dijelaskeun dina tulisan di luhur, éta nyiptakeun clientID. ID ieu mangrupikeun hash MD5 tina nilai mulang tina salah sahiji paréntah di handap ieu:
- ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { split($0, line, """); printf("%s", line[4]); }'
- ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, """); printf("%s", line[4]); }'
- ifconfig en0 | awk '/ether /{print $2}'
(meunang alamat MAC)
- tim teu dikenal ("x1ex72x0a
"), nu dipaké dina sampel saméméhna
Sateuacan hashing, a "0" atawa "1" ditambahkeun kana nilai balik pikeun nunjukkeun hak husus root. Ieu ID klien disimpen di /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex
, upami kodeu dijalankeun salaku root atanapi di ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML dina sagala kasus séjén. File biasana disumputkeun nganggo fungsi touch –t
kalawan nilai acak.
Decoding string
Sapertos pilihan sateuacana, senar énkripsi nganggo AES-256-CBC (konci héksadesimal: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92
padded kalawan nol, sarta IV ngeusi nol) ngaliwatan fungsi
Nyaho prototipe fungsi ngadekrip, naskah manggihan sakabeh cross-rujukan kana fungsi ieu, sadaya argumen, lajeng decrypts data sarta nempatkeun téks polos di jero komentar di alamat cross-rujukan. Pikeun skrip tiasa dianggo leres, kedah disetél kana alfabét khusus anu dianggo ku fungsi decoding base64, sareng variabel global kedah didefinisikeun ngandung panjang konci (dina hal ieu DWORD, tingali Gambar 4).
Gambar 4. Harti variabel global key_len
Dina jandela Fungsi, anjeun tiasa klik-katuhu kana fungsi dekripsi teras klik "Ekstrak sareng ngadekrip argumen." Skrip kedah nempatkeun garis anu didekripsi dina koméntar, sapertos anu dipidangkeun dina Gambar 5.
Gambar 5. Téks decrypted disimpen dina komentar
Ku cara ieu, senar anu didekripsi sacara gampang disimpen dina jandela IDA xrefs pikeun fungsi ieu ditémbongkeun saperti dina Gambar 6.
Angka 6. Xrefs kana fungsi f_decrypt
Aksara ahir bisa kapanggih di
kacindekan
Sakumaha anu parantos disebatkeun, OceanLotus terus-terusan ningkatkeun sareng ngamutahirkeun toolkit na. Waktos ieu, grup cyber parantos ningkatkeun malware pikeun dianggo sareng pangguna Mac. Kodena henteu seueur robih, tapi kumargi seueur pangguna Mac anu teu malire produk kaamanan, ngajagi malware tina deteksi pentingna sekundér.
Produk ESET parantos ngadeteksi file ieu dina waktos panalungtikan. Kusabab perpustakaan jaringan anu dianggo pikeun komunikasi C&C ayeuna énkripsi dina disk, protokol jaringan pasti anu dianggo ku panyerang henteu acan dipikanyaho.
Indikator tina kompromi
Indikator kompromi ogé atribut MITRE ATT&CK ogé sayogi dina
sumber: www.habr.com