OceanLotus: fanavaozana malware ho an'ny macOS

Tamin'ny volana martsa 2019, santionany vaovao amin'ny malware macOS avy amin'ny vondrona cyber OceanLotus no nampidirina tao amin'ny VirusTotal, serivisy fitiliana an-tserasera malaza. Ny rakitra azo tanterahana backdoor dia manana fahaiza-manao mitovy amin'ny dikan-teny teo aloha amin'ny malware macOS nodinihinay, saingy niova ny firafiny ary nanjary sarotra ny mamantatra azy. Indrisy anefa fa tsy afaka nahita fanapotehana mifandray amin'ity santionany ity izahay, noho izany dia tsy mbola fantatray ny veterin'ny otrikaretina.

Navoakanay vao haingana lahatsoratra momba ny OceanLotus ary ny fomba iezahan'ny mpandraharaha manome fikirizana, manafaingana ny famonoana kaody, ary manamaivana ny dian-tongotra amin'ny rafitra Windows. Fantatra ihany koa fa manana singa ho an'ny macOS ihany koa ity vondrona cyber ity. Ity lahatsoratra ity dia manazava ny fiovana amin'ny dikan-teny farany amin'ny malware ho an'ny macOS raha oharina amin'ny dikan-teny teo aloha (nofaritan'i Trend Micro), ary manoritsoritra ihany koa ny fomba ahafahanao manao automatique ny decryption ny tady mandritra ny famakafakana amin'ny fampiasana ny IDA Hex-Rays API.

OceanLotus: fanavaozana malware ho an'ny macOS

fanadihadiana ny

Ny fizarana telo manaraka dia mamaritra ny famakafakana santionany miaraka amin'ny hash SHA-1 E615632C9998E4D3E5ACD8851864ED09B02C77D2. Ny rakitra dia antsoina flashlightd, Ny vokatra antivirus ESET dia mahita azy ho OSX/OceanLotus.D.

Anti-debugging sy fiarovana sandbox

Tahaka ny binary macOS OceanLotus rehetra, ny santionany dia feno UPX, fa ny ankamaroan'ny fitaovana famantarana ny fonosana dia tsy mahafantatra izany. Izany angamba dia satria ny ankamaroany dia misy sonia miankina amin'ny fisian'ny tady "UPX", ankoatra izany, ny sonia Mach-O dia tsy dia mahazatra loatra ary tsy nohavaozina matetika. Ity endri-javatra ity dia manasarotra ny fitadiavana static. Mahaliana fa aorian'ny famoahana ny fonosana dia eo amin'ny fiandohan'ny fizarana ny teboka fidirana __cfstring amin'ny fizarana .TEXT. Ity fizarana ity dia manana toetra saina araka ny aseho amin'ny sary etsy ambany.

OceanLotus: fanavaozana malware ho an'ny macOS
Sary 1. MACH-O __cfstring section attributes

Araka ny aseho amin'ny sary 2, ny toerana misy ny code ao amin'ny fizarana __cfstring mamela anao hamitaka fitaovana famongorana ny sasany amin'ny fanehoana kaody ho tady.

OceanLotus: fanavaozana malware ho an'ny macOS
Sary 2. Kaody backdoor hitan'ny IDA ho angona

Rehefa vita, ny binary dia mamorona kofehy ho anti-debugger izay ny tanjona tokana dia ny hanamarina tsy tapaka ny fisian'ny debugger. Ho an'ity flow ity:

- Miezaka manaisotra izay rehetra debug, miantso ptrace с PT_DENY_ATTACH ho paramètre fangatahana
- Manamarina raha misy seranana manokana misokatra amin'ny fiantsoana fiasa task_get_exception_ports
- Manamarina raha mifandray ny debugger, araka ny aseho amin'ny sary etsy ambany, amin'ny fanamarinana ny fisian'ny saina P_TRACED amin'ny dingana ankehitriny

OceanLotus: fanavaozana malware ho an'ny macOS
Figure 3. Fanamarinana ny fifandraisana debugger amin'ny fampiasana ny asa sysctl

Raha hitan'ny mpiambina ny fisian'ny debugger dia antsoina ny asa exit. Ankoatr'izay, ny santionany dia manamarina ny tontolo iainana amin'ny alàlan'ny baiko roa:

ioreg -l | grep -e "Manufacturer" и sysctl hw.model

Ny santionany dia manamarina ny sandan'ny fiverenana amin'ny lisitr'ireo tady misy kaody sarotra avy amin'ny rafitra virtoaly fantatra: acle, vmware, virtualbox na mifanitsy. Farany, ny baiko manaraka dia manamarina raha ny milina dia iray amin'ireto "MBP", "MBA", "MB", "MM", "IM", "MP" ary "XS". Ireo dia kaody modely rafitra, ohatra, "MBP" midika MacBook Pro, "MBA" midika MacBook Air, sns.

system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}

Fanampiny lehibe

Na dia tsy niova aza ny baiko backdoor hatramin'ny fikarohana nataon'i Trend Micro, dia nahatsikaritra fanovana vitsivitsy hafa izahay. Ireo mpizara C&C ampiasaina amin'ity santionany ity dia somary vaovao ary noforonina tamin'ny 22.10.2018/XNUMX/XNUMX.

- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com

Ny URL loharano dia niova ho /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35.
Ny fonosana voalohany nalefa tany amin'ny mpizara C&C dia ahitana fampahalalana bebe kokoa momba ny milina mpampiantrano, ao anatin'izany ny angona rehetra voaangona amin'ny baiko ao amin'ny tabilao etsy ambany.

OceanLotus: fanavaozana malware ho an'ny macOS

Ho fanampin'ity fanovana fanovana ity, ny santionany dia tsy mampiasa tranomboky ho an'ny sivana tambajotra libcurl, fa tranomboky ivelany. Mba hahitana izany, ny backdoor dia manandrana mamadika ny rakitra rehetra ao amin'ny lahatahiry ankehitriny mampiasa AES-256-CBC miaraka amin'ny fanalahidy gFjMXBgyXWULmVVVzyxy, feno aotra. Ny rakitra tsirairay dia decrypted ary voatahiry ho /tmp/store, ary ny fikasana hampiditra azy ho toy ny tranomboky dia atao amin'ny fampiasana ny fiasa dlopen. Rehefa misy andrana decryption miteraka antso mahomby dlopen, ny backdoor dia maka ny asa aondrana Boriry и ChadylonV, izay toa tompon'andraikitra amin'ny fifandraisana amin'ny tambajotra amin'ny mpizara. Tsy manana ny dropper na rakitra hafa avy amin'ny toerana niandohan'ny santionany izahay, noho izany dia tsy afaka mamaky ity tranomboky ity izahay. Ankoatr'izay, satria ny singa dia voarakotra, ny fitsipika YARA mifototra amin'ireo tady ireo dia tsy hifanaraka amin'ny rakitra hita ao amin'ny kapila.

Araka ny voalaza ao amin'ny lahatsoratra etsy ambony, dia mamorona clientID. Ity ID ity dia ny hash MD5 amin'ny sanda miverina amin'ny iray amin'ireto baiko manaraka ireto:

- 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}' (maka adiresy MAC)
- ekipa tsy fantatra ("x1ex72x0a"), izay ampiasaina amin'ny santionany teo aloha

Alohan'ny hashing dia ampiana "0" na "1" ny sanda miverina mba hanondroana ny tombontsoa fototra. izany clientID voatahiry ao /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex, raha toa ka mandeha toy ny faka na ao amin'ny ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML ny code amin'ny tranga hafa rehetra. Matetika ny rakitra dia miafina amin'ny fampiasana ny fiasa _chflags, ovaina amin'ny alalan'ny baiko ny famantaranandrony touch –t miaraka amin'ny sanda kisendrasendra.

Decoding tady

Toy ny tamin'ny safidy teo aloha, ny tady dia apetraka amin'ny AES-256-CBC (hexadecimal key: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 feno aotra, ary IV feno aotra) amin'ny alàlan'ny fiasa CCCrypt. Niova ny lakile tamin'ny dikan-teny teo aloha, fa satria mbola mampiasa ny algorithm fanafenana tady mitovy ny vondrona, dia azo atao ho azy ny decryption. Ho fanampin'ity lahatsoratra ity, dia mamoaka script IDA izahay izay mampiasa ny Hex-Rays API hanesorana ireo tady misy ao amin'ny rakitra binary. Ity script ity dia mety hanampy amin'ny famakafakana ho avy momba ny OceanLotus sy ny famakafakana ireo santionany efa misy izay tsy mbola azonay. Ny script dia mifototra amin'ny fomba iraisan'ny rehetra amin'ny fandraisana ny tohan-kevitra alefa amin'ny asa iray. Fanampin'izany, mijery ny andraikitry ny parameter. Ny fomba dia azo ampiasaina indray mba hahazoana lisitr'ireo tohan-kevitra momba ny asa ary avy eo ampita izany amin'ny antso miverina.

Fahafantarana ny prototype asa decrypt, ny script dia mahita ny references rehetra amin'ity asa ity, ny tohan-kevitra rehetra, avy eo dia mamadika ny angona ary mametraka lahatsoratra tsotra ao anaty fanehoan-kevitra amin'ny adiresy cross-reference. Mba hiasa tsara ny script, dia tsy maintsy apetraka amin'ny abidia mahazatra ampiasain'ny asa decoding base64 izy io, ary tsy maintsy faritana misy ny halavan'ny lakile (amin'ity tranga ity dia DWORD, jereo ny sary 4).

OceanLotus: fanavaozana malware ho an'ny macOS
Sary 4. Famaritana ny key_len miovaova manerantany

Ao amin'ny varavarankely Function, azonao atao ny manindry havanana ny asa decryption ary tsindrio ny "Extract and decrypt arguments." Ny script dia tokony hametraka ireo andalana voavaha ao anaty fanehoan-kevitra, araka ny aseho amin'ny sary 5.

OceanLotus: fanavaozana malware ho an'ny macOS
Sary 5. Ny lahatsoratra decrypted dia napetraka ao amin'ny fanehoan-kevitra

Amin'izany fomba izany dia apetraka tsara ao amin'ny varavarankelin'ny IDA ireo tady voahidy xrefs ho an'ity asa ity araka ny aseho amin'ny sary 6.

OceanLotus: fanavaozana malware ho an'ny macOS
Sary 6. Xrefs amin'ny f_decrypt asa

Ny script farany dia azo jerena ao amin'ny Github fitehirizana.

famaranana

Araka ny efa voalaza, OceanLotus dia manatsara sy manavao ny fitaovana fitaovany. Tamin'ity indray mitoraka ity, ny vondrona cyber dia nanatsara ny malware mba hiara-miasa amin'ireo mpampiasa Mac. Tsy niova firy ny kaody, fa satria maro ny mpampiasa Mac tsy miraharaha ny vokatra fiarovana, ny fiarovana ny malware amin'ny fisavana dia zava-dehibe faharoa.

Ny vokatra ESET dia efa nahita ity rakitra ity tamin'ny fotoana nanaovana fikarohana. Satria ny tranombokim-tambajotra ampiasaina amin'ny fifandraisana C&C dia voarakotra amin'ny kapila ankehitriny, tsy mbola fantatra ny tena protocole tambajotra ampiasain'ireo mpanafika.

Famantarana ny marimaritra iraisana

Ireo famantarana ny marimaritra iraisana ary koa ny toetra MITRE ATT&CK dia hita ao amin'ny GitHub.

Source: www.habr.com

Add a comment