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
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.
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.
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
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.
Ho fanampin'ity fanovana fanovana ity, ny santionany dia tsy mampiasa tranomboky ho an'ny sivana tambajotra 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
, 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 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
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).
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.
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.
Sary 6. Xrefs amin'ny f_decrypt asa
Ny script farany dia azo jerena ao amin'ny
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
Source: www.habr.com