OceanLotus: Ùrachadh malware airson macOS

Anns a’ Mhàrt 2019, chaidh sampall ùr de malware macOS bhon bhuidheann saidhbear OceanLotus a luchdachadh suas gu VirusTotal, seirbheis sganaidh air-loidhne mòr-chòrdte. Tha na h-aon chomasan aig an fhaidhle so-ghnìomhaichte backdoor ris an dreach roimhe den malware macOS a rannsaich sinn, ach tha an structar aige air atharrachadh agus tha e air fàs nas duilghe a lorg. Gu mì-fhortanach, cha b’ urrainn dhuinn dropper a lorg co-cheangailte ris an sampall seo, agus mar sin chan eil fios againn fhathast air vectar gabhaltachd.

Dh'fhoillsich sinn o chionn ghoirid post mu OceanLotus agus mar a tha gnìomhaichean a’ feuchainn ri seasmhachd a thoirt seachad, cur an gnìomh còd a luathachadh, agus lorg-coise air siostaman Windows a lughdachadh. Tha fios cuideachd gu bheil pàirt aig a’ bhuidheann saidhbear seo airson macOS. Tha an dreuchd seo a’ toirt cunntas mionaideach air na h-atharrachaidhean anns an dreach as ùire den malware airson macOS an taca ris an dreach roimhe (air a mhìneachadh le Trend Micro), agus cuideachd ag innse mar as urrainn dhut dì-chrioptachadh sreangan a dhèanamh fèin-ghluasadach rè mion-sgrùdadh a’ cleachdadh an IDA Hex-Rays API.

OceanLotus: Ùrachadh malware airson macOS

Mion-sgrùdadh

Tha na trì pàirtean a leanas a’ toirt cunntas air mion-sgrùdadh sampall le hash SHA-1 E615632C9998E4D3E5ACD8851864ED09B02C77D2. Canar am faidhle flashlight, bidh toraidhean antivirus ESET ga lorg mar OSX/OceanLotus.D.

Anti-debugging agus dìon bogsa gainmhich

Coltach ris a h-uile binaries macOS OceanLotus, tha an sampall air a phacaigeadh le UPX, ach chan eil a ’mhòr-chuid de dh’ innealan aithneachaidh pacaidh ga aithneachadh mar sin. Is dòcha gu bheil seo air sgàth gu bheil ainm-sgrìobhte aca sa mhòr-chuid a rèir làthaireachd an t-sreang “UPX”, a bharrachd air an sin, chan eil ainmean-sgrìobhte Mach-O cho cumanta agus chan eil iad air an ùrachadh cho tric. Tha am feart seo ga dhèanamh duilich lorg statach. Gu inntinneach, às deidh dì-phapadh, tha an t-àite inntrigidh aig toiseach na h-earrainn __cfstring anns an roinn .TEXT. Tha buadhan bratach aig an roinn seo mar a chithear san ìomhaigh gu h-ìosal.

OceanLotus: Ùrachadh malware airson macOS
Figear 1. MACH-O __cfstring buadhan earrann

Mar a chithear ann am Figear 2, na h-àiteachan còd anns an earrann __cfstring a’ leigeil leat cuid de dh’ innealan disassembly a mhealladh le bhith a’ taisbeanadh còd mar shreathan.

OceanLotus: Ùrachadh malware airson macOS
Figear 2. Còd cùl-cùil air a lorg le IDA mar dhàta

Aon uair ‘s gu bheil e air a chuir gu bàs, bidh am binary a’ cruthachadh snàithlean mar anti-debugger aig a bheil an aon adhbhar a bhith a ’sgrùdadh gu cunbhalach airson làthaireachd debugger. Airson an t-sruth seo:

- A’ feuchainn ri dì-bhugadair sam bith a thoirt air falbh, a’ gairm ptrace с PT_DENY_ATTACH mar paramadair iarrtas
- Dèan sgrùdadh a bheil cuid de phuirt toirmeasgach fosgailte le bhith a’ gairm gnìomh task_get_exception_ports
- Dèan sgrùdadh a bheil an debugger ceangailte, mar a chithear san fhigear gu h-ìosal, le bhith a’ sgrùdadh làthaireachd a ’bhratach P_TRACED anns a’ phròiseas làithreach

OceanLotus: Ùrachadh malware airson macOS
Figear 3. A 'sgrùdadh a' cheangail debugger a 'cleachdadh an sysctl gnìomh

Ma lorgas am buidheann faire gu bheil dì-bhugadair ann, canar an gnìomh ris exit. A bharrachd air an sin, bidh an sampall an uairsin a’ sgrùdadh na h-àrainneachd le bhith a’ ruith dà àithne:

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

Bidh an sampall an uairsin a’ sgrùdadh an luach tilleadh an aghaidh liosta le còd cruaidh de shreathan bho shiostaman virtualization aithnichte: acair, vmware, bocsa-lìn no co-shìnte. Mu dheireadh, bidh an ath àithne a’ sgrùdadh a bheil an inneal mar aon de na “MBP”, “MBA”, “MB”, “MM”, “IM”, “MP” agus “XS”. Is iad sin còdan modail siostam, mar eisimpleir, tha “MBP” a’ ciallachadh MacBook Pro, “MBA” a’ ciallachadh MacBook Air, msaa.

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

Prìomh chur-ris

Ged nach eil na h-òrdughan backdoor air atharrachadh bho rannsachadh Trend Micro, mhothaich sinn beagan atharrachaidhean eile. Tha na frithealaichean C&C a thathas a’ cleachdadh san sampall seo gu math ùr agus chaidh an cruthachadh air 22.10.2018/XNUMX/XNUMX.

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

Tha URL an stòrais air atharrachadh gu /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35.
Anns a ’chiad phacaid a chaidh a chuir chun t-seirbheisiche C&C tha barrachd fiosrachaidh mun inneal aoigheachd, a’ toirt a-steach an dàta gu lèir a chruinnich na h-òrdughan sa chlàr gu h-ìosal.

OceanLotus: Ùrachadh malware airson macOS

A bharrachd air an atharrachadh rèiteachaidh seo, chan eil an sampall a’ cleachdadh leabharlann airson sìoladh lìonra libcurl, ach leabharlann a-muigh. Gus a lorg, bidh an backdoor a ’feuchainn ri gach faidhle san eòlaire gnàthach a dhì-chrioptachadh a’ cleachdadh AES-256-CBC leis an iuchair gFjMXBgyXWULmVVVzyxy, air a phasgadh le neoni. Tha gach faidhle air a dhì-chrioptachadh agus air a shàbhaladh mar /tmp/store, agus thathas a’ feuchainn ri a luchdachadh mar leabharlann leis a’ ghnìomh dlope. Nuair a thig oidhirp dì-chrioptachaidh gu gairm soirbheachail dlopen, an backdoor earrainnean às-mhalairt gnìomhan Boriry и ChadylonV, a tha a rèir coltais an urra ri conaltradh lìonra leis an fhrithealaiche. Chan eil an dropper no faidhlichean eile againn bho àite tùsail an t-sampall, agus mar sin chan urrainn dhuinn an leabharlann seo a pharsadh. A bharrachd air an sin, leis gu bheil am pàirt air a chrioptachadh, cha bhith riaghailt YARA stèidhichte air na sreangan sin a rèir an fhaidhle a lorgar air diosc.

Mar a chaidh a mhìneachadh san artaigil gu h-àrd, tha e a 'cruthachadh ID cliant. Is e an ID seo an hash MD5 de luach tilleadh aon de na h-òrdughan a leanas:

- 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}' (faigh seòladh MAC)
- sgioba neo-aithnichte ("x1ex72x0a"), a tha air a chleachdadh ann an sampallan roimhe

Mus dèan thu hash, thèid "0" no "1" a chur ris an luach tilleadh gus sochairean freumha a chomharrachadh. Seo ID cliant air a stòradh ann /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex, ma tha an còd air a ruith mar fhreumh no ann an ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML anns a h-uile cùis eile. Mar as trice bidh am faidhle falaichte leis a’ ghnìomh _chflags, tha an clàr-ama aige air atharrachadh leis an àithne touch –t le luach air thuaiream.

Sreathan dì-chòdachadh

Coltach ri roghainnean roimhe seo, tha na sreangan air an crioptachadh le bhith a’ cleachdadh AES-256-CBC (iuchair heicsidheach: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 air a lìonadh le neamhan, agus IV air a lìonadh le neamhan) tron ​​​​ghnìomh CCCrypt. Tha an iuchair air atharrachadh bho dhreachan roimhe, ach leis gu bheil a’ bhuidheann fhathast a’ cleachdadh an aon algairim crioptachaidh sreang, faodar dì-chrioptachadh a dhèanamh fèin-ghluasadach. A bharrachd air an dreuchd seo, tha sinn a’ cur a-mach sgriobt IDA a bhios a’ cleachdadh an Hex-Rays API gus na sreangan a tha anns an fhaidhle binary a dhì-chrioptachadh. Dh’ fhaodadh an sgriobt seo cuideachadh le mion-sgrùdadh air OceanLotus san àm ri teachd agus mion-sgrùdadh air sampallan a th’ ann mar-thà nach d’ fhuair sinn fhathast. Tha an sgriobt stèidhichte air dòigh uile-choitcheann airson argamaidean fhaighinn a chaidh a chuir gu gnìomh. A bharrachd air an sin, bidh e a’ coimhead suas sònrachaidhean paramadair. Faodar an dòigh ath-chleachdadh gus liosta de argamaidean gnìomh fhaighinn agus an uairsin a chuir chun ath-ghairm.

A bhith eòlach air an prototype gnìomh cheileadh, bidh an sgriobt a’ lorg a h-uile tar-iomradh air a’ ghnìomh seo, a h-uile argamaid, an uairsin a’ dì-chrioptachadh an dàta agus a’ cur teacsa shìmplidh am broinn beachd aig an t-seòladh tar-iomraidh. Gus an obraich an sgriobt gu ceart, feumaidh e a bhith air a shuidheachadh chun na h-aibideil àbhaisteach a chleachdas an gnìomh còdaidh base64, agus feumar caochladair cruinne a mhìneachadh anns a bheil fad na h-iuchrach (anns a’ chùis seo DWORD, faic Figear 4).

OceanLotus: Ùrachadh malware airson macOS
Figear 4. Mìneachadh air an caochladair cruinne key_len

Anns an uinneag gnìomh, faodaidh tu briogadh deas air a ’ghnìomh dì-chrioptachaidh agus cliog air“ Thoir a-mach agus dì-chrioptaich argamaidean. ” Bu chòir don sgriobt na loidhnichean dì-chrioptaichte a chuir ann am beachdan, mar a chithear ann am Figear 5.

OceanLotus: Ùrachadh malware airson macOS
Figear 5. Tha an teacsa dì-chrioptaichte air a chuir anns na beachdan

San dòigh seo tha na sreangan dì-chrioptaichte air an suidheachadh gu h-iomchaidh còmhla ann an uinneag an IDA xrefs airson a’ ghnìomh seo mar a chithear ann am Figear 6.

OceanLotus: Ùrachadh malware airson macOS
Figear 6. Gnìomh xrefs gu f_decrypt

Gheibhear an sgriobt mu dheireadh aig Ath-reic Github.

co-dhùnadh

Mar a chaidh ainmeachadh roimhe, tha OceanLotus an-còmhnaidh ag adhartachadh agus ag ùrachadh a ghoireas innealan. An turas seo, tha am buidheann saidhbear air an malware a leasachadh gus cuimseachadh air luchd-cleachdaidh Mac. Chan eil an còd air atharrachadh mòran, ach leis gu bheil mòran de luchd-cleachdaidh Mac a’ seachnadh toraidhean tèarainteachd, tha dìon malware bho lorg fìor chudromach.

Bha toraidhean ESET mu thràth a’ lorg am faidhle seo aig àm an rannsachaidh. Leis gu bheil an leabharlann lìonra a chleachdar airson conaltradh C&C a-nis air a chrioptachadh air diosc, chan eil fios fhathast air an dearbh phròtacal lìonra a chleachd an luchd-ionnsaigh.

Comharran co-rèiteachaidh

Tha comharran co-rèiteachaidh a bharrachd air buadhan MITER ATT&CK rim faighinn cuideachd air GitHub.

Source: www.habr.com

Cuir beachd ann