OceanLotus: imudojuiwọn malware fun macOS

Ni Oṣu Kẹta ọdun 2019, apẹẹrẹ tuntun ti macOS malware lati ẹgbẹ cyber OceanLotus ti gbejade si VirusTotal, iṣẹ ọlọjẹ ori ayelujara olokiki kan. Faili ti o ṣee ṣe si ẹhin ni awọn agbara kanna bi ẹya iṣaaju ti macOS malware ti a ṣe iwadi, ṣugbọn eto rẹ ti yipada ati pe o ti nira sii lati rii. Laanu, a ko le rii dropper ti o ni nkan ṣe pẹlu ayẹwo yii, nitorinaa a ko tii mọ fekito akoran naa.

A laipe atejade ifiweranṣẹ nipa OceanLotus ati bii awọn oniṣẹ ṣe ngbiyanju lati pese itẹramọṣẹ, yiyara ipaniyan koodu, ati dinku ifẹsẹtẹ lori awọn eto Windows. O tun mọ pe ẹgbẹ cyber yii tun ni paati fun macOS. Ifiweranṣẹ yii ṣe alaye awọn ayipada ninu ẹya tuntun ti malware fun macOS ni afiwe pẹlu ẹya ti tẹlẹ (ṣàpèjúwe nipa Trend Micro), ati pe o tun ṣe apejuwe bi o ṣe le ṣe adaṣe idinku awọn okun lakoko itupalẹ nipa lilo IDA Hex-Rays API.

OceanLotus: imudojuiwọn malware fun macOS

Анализ

Awọn ẹya mẹta ti o tẹle ṣe apejuwe igbekale ayẹwo pẹlu hash SHA-1 E615632C9998E4D3E5ACD8851864ED09B02C77D2. A pe faili naa flashlighted, ESET antivirus awọn ọja rii bi OSX/OceanLotus.D.

Anti-n ṣatunṣe aṣiṣe ati aabo apoti iyanrin

Bii gbogbo awọn alakomeji MacOS OceanLotus, apẹẹrẹ jẹ akopọ pẹlu UPX, ṣugbọn ọpọlọpọ awọn irinṣẹ idanimọ package ko ṣe idanimọ rẹ bi iru bẹẹ. Eyi ṣee ṣe nitori wọn pupọ ni ibuwọlu ti o da lori wiwa okun “UPX”, ni afikun, awọn ibuwọlu Mach-O ko wọpọ ati pe wọn ko ni imudojuiwọn nigbagbogbo. Ẹya yii jẹ ki wiwa aimi nira. O yanilenu, lẹhin ṣiṣi silẹ, aaye titẹsi wa ni ibẹrẹ ti apakan __cfstring ni apa .TEXT. Abala yii ni awọn abuda asia bi a ṣe han ninu aworan ni isalẹ.

OceanLotus: imudojuiwọn malware fun macOS
olusin 1. MACH-O __cfstring apakan eroja

Bi o han ni Figure 2, awọn ipo koodu ni apakan __cfstring gba ọ laaye lati tan diẹ ninu awọn irinṣẹ itusilẹ nipa fifi koodu han bi awọn okun.

OceanLotus: imudojuiwọn malware fun macOS
olusin 2. Backdoor koodu ri nipa IDA bi data

Ni kete ti a ti ṣiṣẹ, alakomeji ṣẹda okun kan bi egboogi-atunṣe ti idi kanṣoṣo rẹ ni lati ṣayẹwo nigbagbogbo fun wiwa ti n ṣatunṣe aṣiṣe. Fun sisan yii:

— Gbiyanju lati unhook eyikeyi yokokoro, pipe ptrace с PT_DENY_ATTACH bi paramita ìbéèrè
- Ṣayẹwo boya diẹ ninu awọn ebute oko oju omi iyasọtọ wa ni sisi nipa pipe iṣẹ kan task_get_exception_ports
- Ṣayẹwo ti o ba ti wa ni ti sopọ yokokoro, bi o han ni awọn nọmba rẹ ni isalẹ, nipa yiyewo niwaju awọn Flag P_TRACED ninu ilana lọwọlọwọ

OceanLotus: imudojuiwọn malware fun macOS
Ṣe nọmba 3. Ṣiṣayẹwo asopọ ti n ṣatunṣe aṣiṣe nipa lilo iṣẹ sysctl

Ti o ba jẹ pe ajafitafita ṣe iwari wiwa ti n ṣatunṣe aṣiṣe, iṣẹ naa ni a pe exit. Ni afikun, apẹẹrẹ lẹhinna ṣayẹwo agbegbe nipa ṣiṣe awọn aṣẹ meji:

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

Ayẹwo lẹhinna ṣayẹwo iye ipadabọ lodi si atokọ ti o ni koodu lile ti awọn okun lati awọn ọna ṣiṣe agbara ti a mọ: acle, vmware, foju apoti tabi awọn afiwera. Ni ipari, aṣẹ atẹle n ṣayẹwo boya ẹrọ naa jẹ ọkan ninu “MBP”, “MBA”, “MB”, “MM”, “IM”, “MP” ati “XS”. Iwọnyi jẹ awọn koodu awoṣe eto, fun apẹẹrẹ, “MBP” tumọ si MacBook Pro, “MBA” tumọ si MacBook Air, ati bẹbẹ lọ.

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

Awọn afikun akọkọ

Lakoko ti awọn ofin ẹhin ko ti yipada lati igba iwadii Trend Micro, a ṣe akiyesi awọn iyipada miiran diẹ. Awọn olupin C&C ti a lo ninu apẹẹrẹ yii jẹ tuntun ati pe wọn ṣẹda ni ọjọ 22.10.2018/XNUMX/XNUMX.

- daff.faybilodeau[.] pẹlu
- sarc.onteagleroad[.] pẹlu
- au.charlineopkesston [.] pẹlu

URL orisun ti yipada si /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35.
Pakẹti akọkọ ti a firanṣẹ si olupin C&C ni alaye diẹ sii nipa ẹrọ agbalejo, pẹlu gbogbo data ti a gba nipasẹ awọn aṣẹ ni tabili ni isalẹ.

OceanLotus: imudojuiwọn malware fun macOS

Ni afikun si iyipada iṣeto yii, apẹẹrẹ ko lo ile-ikawe fun sisẹ nẹtiwọọki libcurl, ṣugbọn ita ìkàwé. Lati wa, ẹhin ẹhin ngbiyanju lati kọ gbogbo faili inu ilana lọwọlọwọ nipa lilo AES-256-CBC pẹlu bọtini gFjMXBgyXWULmVVVzyxy, fifẹ pẹlu awọn odo. Faili kọọkan jẹ idinku ati fipamọ bi /tmp/store, ati igbiyanju lati ṣajọpọ rẹ bi ile-ikawe ti wa ni lilo iṣẹ naa dlopen. Nigbati igbiyanju idinkuro ba yọrisi ipe aṣeyọri dlopen, backdoor ayokuro okeere awọn iṣẹ Boriry и ChadylonV, eyi ti o han gbangba lodidi fun ibaraẹnisọrọ nẹtiwọki pẹlu olupin. A ko ni dropper tabi awọn faili miiran lati ipo atilẹba ti apẹẹrẹ, nitorinaa a ko le ṣe itupalẹ ile-ikawe yii. Pẹlupẹlu, niwọn igba ti paati naa ti jẹ fifipamọ, ofin YAR kan ti o da lori awọn okun wọnyi kii yoo baamu faili ti o rii lori disiki.

Gẹgẹbi a ti ṣalaye ninu nkan ti o wa loke, o ṣẹda clientID. ID yii jẹ hash MD5 ti iye ipadabọ ti ọkan ninu awọn aṣẹ wọnyi:

- 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}' (gba adirẹsi MAC)
- ẹgbẹ aimọ ("x1ex72x0a"), eyi ti o ti lo ni išaaju awọn ayẹwo

Ṣaaju ki o to hashing, "0" tabi "1" ni a ṣafikun si iye ipadabọ lati tọka awọn anfani gbongbo. Eyi clientID ti o ti fipamọ sinu /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex, ti koodu naa ba ṣiṣẹ bi gbongbo tabi ni ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML ni gbogbo awọn igba miiran. Faili ti wa ni ipamọ nigbagbogbo nipa lilo iṣẹ naa _chflags, awọn oniwe-timestamp ti wa ni yi pada nipa lilo awọn pipaṣẹ touch –t pẹlu kan ID iye.

Awọn gbolohun ọrọ iyipada

Gẹgẹbi pẹlu awọn aṣayan iṣaaju, awọn okun ti wa ni fifi ẹnọ kọ nkan nipa lilo AES-256-CBC (bọtini hexadecimal: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 fifẹ pẹlu awọn odo, ati IV ti o kun pẹlu awọn odo) nipasẹ iṣẹ naa CCCrypt. Bọtini naa ti yipada lati awọn ẹya iṣaaju, ṣugbọn niwọn igba ti ẹgbẹ naa tun nlo algorithm fifi ẹnọ kọ nkan kanna, decryption le jẹ adaṣe. Ni afikun si ifiweranṣẹ yii, a n ṣe idasilẹ iwe afọwọkọ IDA kan ti o nlo Hex-Rays API lati ṣe idinku awọn okun ti o wa ninu faili alakomeji. Iwe afọwọkọ yii le ṣe iranlọwọ pẹlu itupalẹ ọjọ iwaju ti OceanLotus ati itupalẹ awọn apẹẹrẹ ti o wa ti a ko tii ni anfani lati gba. Iwe afọwọkọ naa da lori ọna gbogbo agbaye fun gbigba awọn ariyanjiyan ti o kọja si iṣẹ kan. Ni afikun, o n wo awọn iṣẹ iyansilẹ paramita. Ọna naa le tun lo lati gba atokọ ti awọn ariyanjiyan iṣẹ ati lẹhinna gbe lọ si ipepada.

Mọ Afọwọkọ iṣẹ gbo gege, iwe afọwọkọ naa wa gbogbo awọn itọkasi-agbelebu si iṣẹ yii, gbogbo awọn ariyanjiyan, lẹhinna sọ data naa kuro ati gbe ọrọ itele sinu asọye ni adirẹsi itọkasi agbelebu. Fun iwe afọwọkọ lati ṣiṣẹ bi o ti tọ, o gbọdọ ṣeto si ahbidi aṣa ti a lo nipasẹ iṣẹ iyipada base64, ati pe oniyipada agbaye gbọdọ wa ni asọye ti o ni ipari ti bọtini (ninu ọran yii DWORD, wo Nọmba 4).

OceanLotus: imudojuiwọn malware fun macOS
olusin 4. Definition ti awọn agbaye ayípadà key_len

Ninu ferese iṣẹ, o le tẹ-ọtun iṣẹ decryption ki o tẹ “Fa jade ati decrypt awọn ariyanjiyan.” Iwe afọwọkọ yẹ ki o gbe awọn laini ti a sọ di mimọ sinu awọn asọye, bi o ṣe han ni Nọmba 5.

OceanLotus: imudojuiwọn malware fun macOS
olusin 5. Awọn decrypted ọrọ ti wa ni gbe ninu awọn comments

Ni ọna yii awọn okun ti a ti pa akoonu ti wa ni irọrun gbe papọ ni window IDA xrefs fun iṣẹ yii bi o ṣe han ni Nọmba 6.

OceanLotus: imudojuiwọn malware fun macOS
olusin 6. Xrefs to f_decrypt iṣẹ

Ik akosile le ri ni Ibi ipamọ Github.

ipari

Gẹgẹbi a ti sọ tẹlẹ, OceanLotus n ni ilọsiwaju nigbagbogbo ati mimu dojuiwọn ohun elo irinṣẹ rẹ. Ni akoko yii, ẹgbẹ cyber ti dara si malware lati ṣiṣẹ pẹlu awọn olumulo Mac. Koodu naa ko ti yipada pupọ, ṣugbọn niwọn igba ti ọpọlọpọ awọn olumulo Mac foju kọju awọn ọja aabo, aabo malware lati wiwa jẹ pataki pataki keji.

Awọn ọja ESET ti n ṣawari faili yii tẹlẹ ni akoko iwadii. Nitoripe ile ikawe nẹtiwọọki ti a lo fun ibaraẹnisọrọ C&C ti wa ni fifi ẹnọ kọ nkan lori disiki, ilana nẹtiwọọki gangan ti awọn ikọlu lo ko tii mọ.

Awọn afihan ti adehun

Awọn itọka ti adehun bi daradara bi awọn abuda MITER ATT&CK tun wa lori GitHub.

orisun: www.habr.com

Fi ọrọìwòye kun