OceanLotus: fa'afouga fa'aletonu mo macOS

Ia Mati 2019, o se faʻataʻitaʻiga fou o macOS malware mai le cyber group OceanLotus na tuʻuina atu i le VirusTotal, o se lauiloa i luga ole laiga auaunaga suʻesuʻe. O le backdoor executable file e tutusa le malosi e pei o le lomiga muamua o le macOS malware na matou suʻesuʻeina, ae ua suia lona fausaga ma ua sili atu ona faigata ona iloa. Ae paga lea, sa le mafai ona matou mauaina se dropper e fesoʻotaʻi ma lenei faʻataʻitaʻiga, o lea matou te leʻi iloa le faʻamaʻi pipisi.

Na matou lomia talu ai nei meli e uiga i OceanLotus ma le auala o loʻo taumafai ai le au faʻatautaia e tuʻuina atu le faʻamalosi, faʻavavevave le faʻatinoina o tulafono, ma faʻaitiitia tulagavae i luga o faiga Windows. Ua iloa foi o lenei vaega i luga ole laiga e iai foi se vaega mo macOS. O loʻo faʻamatalaina e lenei pou suiga i le lomiga fou o le malware mo macOS pe a faʻatusatusa i le lomiga muamua (faʻamatalaina e Trend Micro), ma fa'amatala mai fo'i pe fa'apefea ona e fa'autometi le decryption o manoa i le taimi o su'esu'ega e fa'aaoga ai le IDA Hex-Rays API.

OceanLotus: fa'afouga fa'aletonu mo macOS

Iloiloga

O isi vaega e tolu o loʻo faʻamatalaina le auiliiliga o se faʻataʻitaʻiga ma se SHA-1 hash E615632C9998E4D3E5ACD8851864ED09B02C77D2. Ua valaau le faila moliuila, ESET antivirus oloa iloa o OSX/OceanLotus.D.

Anti-debugging ma le sandbox puipuiga

E pei o macOS OceanLotus binaries uma, o le faʻataʻitaʻiga o loʻo faʻapipiʻiina i le UPX, ae o le tele o mea faʻapipiʻi e iloagofie ai e le o iloa e pei o lea. Atonu e mafua ona o le tele o loʻo i ai se saini e faʻalagolago i le i ai o le manoa "UPX", faʻaopoopo, o saini Mach-O e le masani ai ma e le faʻafouina i taimi uma. O lenei vaega e fa'afaigata ai le su'esu'eina. O le mea e malie ai, a uma ona tatala, o le mea e ulufale ai o loʻo i le amataga o le vaega __cfstring i le vaega .TEXT. O lenei vaega e iai uiga fu'a e pei ona fa'aalia i le ata i lalo.

OceanLotus: fa'afouga fa'aletonu mo macOS
Ata 1. MACH-O __cfstring vaega uiga

E pei ona faʻaalia i le Ata 2, o nofoaga faʻailoga i le vaega __cfstring fa'atagaina oe e fa'a'ole'ole nisi meafaigaluega fa'ate'aina e ala i le fa'aalia o le code e pei o manoa.

OceanLotus: fa'afouga fa'aletonu mo macOS
Ata 2. Fa'ailoga pito i tua ua iloa e le IDA o fa'amaumauga

O le taimi lava e faʻataunuʻu ai, o le binary e fatuina se filo e fai ma anti-debugger o lona faʻamoemoe e tasi o le siakiina pea mo le i ai o se debugger. Mo lenei tafe:

— Taumafai e tatala so'o se debugger, valaau ptrace с PT_DENY_ATTACH e fai ma parata'i talosaga
- Siaki pe o iai ni uafu fa'apitoa e matala e ala i le vala'au i se galuega task_get_exception_ports
- Siaki pe o fesoʻotaʻi le debugger, e pei ona faʻaalia i le ata o loʻo i lalo, e ala i le siakiina o le i ai o le fuʻa P_TRACED i le faagasologa o iai nei

OceanLotus: fa'afouga fa'aletonu mo macOS
Ata 3. Siakiina le feso'ota'iga debugger e fa'aaoga ai le galuega sysctl

Afai e iloa e le leoleo leoleo le i ai o se debugger, e taʻua le galuega exit. E le gata i lea, o le faʻataʻitaʻiga e siaki le siosiomaga e ala i le faʻatinoina o tulafono e lua:

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

Ona siaki lea e le faʻataʻitaʻiga le tau faʻafoʻi e faasaga i se lisi faʻamaufaʻailogaina o manoa mai faiga faʻapitoa faʻapitoa: acle, vmware, fofo poʻo e tutusa. Mulimuli ane, o le isi poloaiga e siaki pe o le masini o se tasi o le "MBP", "MBA", "MB", "MM", "IM", "MP" ma le "XS". O tulafono fa'atusa ia, mo se fa'ata'ita'iga, "MBP" o lona uiga o MacBook Pro, "MBA" o lona uiga o MacBook Air, ma isi.

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

Fa'aopoopoga autu

E ui e leʻi suia tulafono pito i tua talu mai le suʻesuʻega a Trend Micro, na matou matauina nisi o suiga. O 'au'aunaga a le C&C o lo'o fa'aaogaina i lenei fa'ata'ita'iga e matua fou lava ma na faia i le 22.10.2018/XNUMX/XNUMX.

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

Ua suia le URL punaoa i /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35.
O le pepa muamua na lafoina i le C&C server o loʻo i ai nisi faʻamatalaga e uiga i le masini talimalo, e aofia ai faʻamatalaga uma na aoina e poloaiga i le laulau o loʻo i lalo.

OceanLotus: fa'afouga fa'aletonu mo macOS

I le faʻaopoopoga i lenei suiga faʻatulagaina, e le faʻaogaina e le faʻataʻitaʻiga se faletusi mo le faʻaogaina o fesoʻotaʻiga libcurl, ae o se faletusi i fafo. Ina ia maua, e taumafai le pito i tua e faʻamalo faila uma i le lisi o loʻo iai nei e faʻaaoga ai le AES-256-CBC ma le ki. gFjMXBgyXWULmVVVzyxy, fa'apipi'i i ni 'ai. O faila taitasi e decrypted ma sefe e pei /tmp/store, ma o se taumafaiga e utaina o se faletusi e faia e faʻaaoga ai le galuega tatala. Pe a oʻo mai se taumafaiga decryption i se valaau manuia dlopen, o le backdoor si'i mai galuega tauave auina atu i fafo Boriry и ChadylonV, lea e foliga mai e nafa ma fesoʻotaʻiga fesoʻotaʻiga ma le server. E leai se matou pa'u po'o isi faila mai le nofoaga muamua o le fa'ata'ita'iga, o lea e le mafai ai ona matou fa'avasegaina lenei faletusi. E le gata i lea, talu ai o le vaega o loʻo faʻailogaina, o le tulafono a le YARA e faʻavae i luga o nei manoa o le a le fetaui ma le faila o loʻo maua i luga o le disk.

E pei ona faamatalaina i le tusiga i luga, e fatuina clientID. O lenei ID o le MD5 hash o le toe foʻi mai o se tasi o tulafono nei:

- 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}' (maua le tuatusi MAC)
- 'au le iloa ("x1ex72x0a"), lea e faʻaaogaina i faʻataʻitaʻiga muamua

A'o le'i fa'asalaina, o le "0" po'o le "1" e fa'aopoopo i le tau fa'afo'i e fa'ailoa ai fa'amanuiaga a'a. Lenei clientID teuina i totonu /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex, pe afai o le code o loʻo faʻatautaia e pei o aʻa poʻo i totonu ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML i isi mataupu uma. O le faila e masani ona natia e faʻaaoga ai le galuega _chflags, ua suia lona faailoga taimi e faʻaaoga ai le poloaiga touch –t fa'atasi ai ma se tau fa'afuase'i.

Filifilia o manoa

E pei o filifiliga muamua, o manoa o loʻo faʻapipiʻiina e faʻaaoga ai le AES-256-CBC (hexadecimal key: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 fa'atumu i zeros, ma IV fa'atumu i zeros) e ala i le galuega CCCcrypt. O le ki ua suia mai lomiga muamua, ae talu ai o loʻo faʻaaogaina pea e le vaega le algorithm encryption string tutusa, e mafai ona faʻaogaina le decryption. I le faaopoopo atu i lenei pou, o loʻo matou tuʻuina atu se tusitusiga IDA e faʻaogaina ai le Hex-Rays API e faʻamalo ai manoa o loʻo i totonu o le faila binary. E mafai ona fesoasoani lenei tusitusiga i le suʻesuʻeina o le OceanLotus i le lumanaʻi ma le auiliiliga o faʻataʻitaʻiga o loʻo i ai nei e leʻi mafai ona matou mauaina. O le tusitusiga e faʻavae i luga o se auala lautele mo le mauaina o finauga na pasia i se galuega. E le gata i lea, o loʻo vaʻavaʻai i tofitofiga parameter. E mafai ona toe fa'aoga le metotia e maua ai se lisi o finauga o galuega ona pasi atu lea i le toe fo'i.

O le iloaina o le galuega faataitai decrypt, o le tusitusiga e maua uma fa'asinomaga i lenei galuega, finauga uma, ona fa'apalapala lea o fa'amaumauga ma tu'u fa'amatalaga manino i totonu o se fa'amatalaga i le tuatusi fa'asinomaga. Mo le tusitusiga e galue saʻo, e tatau ona seti i le alafapeta masani e faʻaaogaina e le base64 decoding function, ma e tatau ona faʻamalamalamaina se fesuiaiga o le lalolagi e aofia ai le umi o le ki (i lenei tulaga o le DWORD, vaʻai Ata 4).

OceanLotus: fa'afouga fa'aletonu mo macOS
Ata 4. Fa'amatalaga ole ki_len ole lalolagi

I totonu o le Function window, e mafai ona e kiliki-saʻo i le galuega decryption ma kiliki "Aveese ma faʻamalo finauga." E tatau i le tusitusiga ona tuʻu laina faʻamalo i faʻamatalaga, e pei ona faʻaalia i le Ata 5.

OceanLotus: fa'afouga fa'aletonu mo macOS
Ata 5. O lo'o tu'uina le fa'amatalaga fa'alilolilo i fa'amatalaga

O le auala lea e faʻapipiʻi faʻatasi ai manoa faʻapipiʻi i le faamalama IDA xrefs mo lenei galuega e pei ona faʻaalia i le Ata 6.

OceanLotus: fa'afouga fa'aletonu mo macOS
Ata 6. Xrefs i le f_decrypt galuega

E mafai ona maua le tusitusiga mulimuli i Faletupe Github.

iʻuga

E pei ona taʻua muamua, OceanLotus o loʻo faʻaleleia pea ma faʻafouina lana meafaigaluega. O le taimi lenei, ua faʻaleleia e le vaega i luga ole laiga le malware e galulue ai ma tagata faʻaoga Mac. E leʻi tele se suiga o le code, ae talu ai e le amanaʻia e le tele o Mac tagata faʻaoga oloa saogalemu, o le puipuia o malware mai le suʻeina o se mea lona lua lona taua.

O oloa ESET ua uma ona iloa lenei faila i le taimi o suʻesuʻega. Talu ai ona o le faletusi fesoʻotaʻiga na faʻaaogaina mo le C&C fesoʻotaʻiga ua faʻapipiʻiina nei i luga o le disk, o le fesoʻotaʻiga tonu o fesoʻotaʻiga na faʻaogaina e le au osofaʻi e leʻi iloa.

Faʻailoga o le fetuʻunaʻiga

O lo'o avanoa fo'i fa'ailoga o le fetuutuuna'i fa'apea uiga MITER ATT&CK GitHub.

puna: www.habr.com

Faaopoopo i ai se faamatalaga