2019ko martxoan, OceanLotus ziber taldeko macOS malware lagin berri bat VirusTotal-era kargatu zen, lineako eskaneaketa zerbitzu ezagun batean. Backdoor fitxategi exekutagarriak aztertu genuen macOS malwarearen aurreko bertsioaren gaitasun berberak ditu, baina bere egitura aldatu egin da eta detektatzeko zailagoa bihurtu da. Zoritxarrez, ezin izan dugu lagin honekin lotutako tantarik aurkitu, beraz, oraindik ez dugu ezagutzen infekzio-bektorea.
Duela gutxi argitaratu dugu
Analisia
Hurrengo hiru zatiek SHA-1 hash batekin lagin baten analisia deskribatzen dute E615632C9998E4D3E5ACD8851864ED09B02C77D2
. Fitxategia deitzen da linternaz, ESET antibirus produktuek OSX/OceanLotus.D gisa detektatzen dute.
Arazketaren aurkako eta sandbox babesa
MacOS OceanLotus bitar guztiak bezala, lagina UPX-rekin paketatuta dago, baina paketatzaileen identifikazio-tresna gehienek ez dute horrela ezagutzen. Hau da ziurrenik "UPX" katearen presentziaren menpeko sinadura bat dutelako, gainera, Mach-O sinadurak ez dira hain ohikoak eta ez dira maiz eguneratzen. Ezaugarri honek detekzio estatikoa zailtzen du. Interesgarria da, deskargatu ondoren, sarrera-puntua atalaren hasieran dago __cfstring
segmentuan .TEXT
. Atal honek bandera-atributuak ditu beheko irudian erakusten den moduan.
1. irudia. MACH-O __cfstring atalaren atributuak
2. irudian ikusten den bezala, ataleko kode-kokapenak __cfstring
desmuntatzeko tresna batzuk engainatzeko aukera ematen du kodea kate gisa erakutsiz.
2. irudia. IDAk datu gisa detektatu duen atzeko atearen kodea
Behin exekutatuta, bitarrak hari bat sortzen du araztearen aurkako arazte gisa eta helburu bakarra arazte baten presentzia etengabe egiaztatzea den. Fluxu honetarako:
— Edozein araztaile kentzen saiatzen da, deituz ptrace
с PT_DENY_ATTACH
eskaera-parametro gisa
- Funtzio bati deituz ataka esklusibo batzuk irekita dauden egiaztatzen du task_get_exception_ports
- Arazgailua konektatuta dagoen egiaztatzen du, beheko irudian ikusten den moduan, banderaren presentzia egiaztatuz P_TRACED
egungo prozesuan
3. Irudia. Araztearen konexioa egiaztatzea sysctl funtzioa erabiliz
Watchdog-ak arazte baten presentzia detektatzen badu, funtzioari deitzen zaio exit
. Gainera, laginak ingurunea egiaztatzen du bi komando exekutatuz:
ioreg -l | grep -e "Manufacturer" и sysctl hw.model
Ondoren, laginak itzulera-balioa birtualizazio-sistema ezagunetako kate zerrenda gogor kode batekin egiaztatzen du: akle, vmware, VirtualBox edo paralelismo. Azkenik, hurrengo komandoak makina "MBP", "MBA", "MB", "MM", "IM", "MP" eta "XS" hauetako bat den egiaztatzen du. Hauek sistema-ereduen kodeak dira, adibidez, "MBP" MacBook Pro esan nahi du, "MBA" MacBook Air esan nahi du, etab.
system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}
Gehigarri nagusiak
Trend Micro-ren ikerketatik atzeko atzeko komandoak aldatu ez diren arren, beste aldaketa batzuk nabaritu genituen. Lagin honetan erabilitako C&C zerbitzariak nahiko berriak dira eta 22.10.2018/XNUMX/XNUMXan sortu ziren.
- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com
Baliabidearen URLa hona aldatu da /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35
.
C&C zerbitzariari bidalitako lehen paketeak ostalari makinari buruzko informazio gehiago dauka, beheko taulako komandoek bildutako datu guztiak barne.
Konfigurazio aldaketa honetaz gain, laginak ez du liburutegirik erabiltzen sareko iragazketarako gFjMXBgyXWULmVVVzyxy
, zeroz beteta. Fitxategi bakoitza deszifratu eta honela gordetzen da /tmp/store
, eta liburutegi gisa kargatzeko saiakera egiten da funtzioa erabiliz dlopen
, atzeko ateak esportatutako funtzioak ateratzen ditu Boriry
и ChadylonV
, itxuraz zerbitzariarekin sareko komunikazioaz arduratzen direnak. Ez dugu tantarik edo laginaren jatorrizko kokapeneko beste fitxategirik, beraz, ezin dugu liburutegi hau analizatu. Gainera, osagaia zifratuta dagoenez, kate horietan oinarritutako YARA arau bat ez da diskoan aurkitutako fitxategiarekin bat egingo.
Goiko artikuluan azaltzen den bezala, sortzen du bezeroaren ID. ID hau komando hauetako baten itzuleraren balioaren MD5 hash da:
- 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}'
(lortu MAC helbidea)
- talde ezezaguna ("x1ex72x0a
"), aurreko laginetan erabiltzen dena
Hashing aurretik, "0" edo "1" bat gehitzen zaio itzulera-balioari erro-pribilegioak adierazteko. Hau bezero-ID barruan gordeta /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex
, kodea root gisa exekutatzen bada edo ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML-en gainerako kasuetan. Fitxategia funtzioa erabiliz ezkutatu ohi da touch –t
ausazko balio batekin.
Kateak deskodetzea
Aurreko aukeretan bezala, kateak AES-256-CBC (gako hamaseitarra) erabiliz enkriptatzen dira: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92
zeroz beteta, eta IV zeroz beteta) funtzioaren bidez
Funtzioaren prototipoa ezagutzea desenkriptatu, scriptak funtzio honen erreferentzia gurutzatuak aurkitzen ditu, argumentu guztiak, gero datuak deszifratzen ditu eta testu arrunta iruzkin baten barruan jartzen du erreferentzia gurutzatuaren helbidean. Scriptak behar bezala funtziona dezan, base64 deskodetze funtzioak erabiltzen duen alfabeto pertsonalizatua ezarri behar da, eta gakoaren luzera duen aldagai global bat definitu behar da (kasu honetan DWORD bat, ikus 4. irudia).
4. Irudia. Aldagai globalaren definizioa key_len
Funtzioa leihoan, egin klik eskuineko botoiarekin deszifratzeko funtzioan eta egin klik "Atera eta deszifratu argumentuak". Scriptak deszifratutako lerroak iruzkinetan jarri behar ditu, 5. irudian ikusten den moduan.
5. Irudia. Deszifratutako testua iruzkinetan jartzen da
Modu honetan, deszifratutako kateak eroso jartzen dira elkarrekin IDA leihoan xerreferentziak 6. irudian ikusten den funtzio honetarako.
6. Irudia. f_decrypt funtziorako xrefs
Azken gidoia helbidean aurki daiteke
Irteera
Esan bezala, OceanLotus etengabe hobetzen eta eguneratzen ari da bere tresneria. Oraingoan, ziber-taldeak malwarea hobetu du Mac erabiltzaileekin lan egiteko. Kodea ez da asko aldatu, baina Mac erabiltzaile askok segurtasun produktuak alde batera uzten dituztenez, malwarea detektatzeko babesa bigarren mailako garrantzia du.
ESET produktuak fitxategi hau detektatzen ari ziren ikerketaren unean. C&C komunikaziorako erabiltzen den sare-liburutegia diskoan zifratuta dagoenez, oraindik ez da ezagutzen erasotzaileek erabilitako sare-protokolo zehatza.
Konpromisoaren adierazleak
Konpromisoaren adierazleak eta MITRE ATT&CK atributuak ere eskuragarri daude
Iturria: www.habr.com