Ym mis Mawrth 2019, uwchlwythwyd sampl newydd o faleiswedd macOS o'r grŵp seiber OceanLotus i VirusTotal, gwasanaeth sganio ar-lein poblogaidd. Mae gan y ffeil gweithredadwy backdoor yr un galluoedd â'r fersiwn flaenorol o'r malware macOS a astudiwyd gennym, ond mae ei strwythur wedi newid ac mae wedi dod yn anoddach ei ganfod. Yn anffodus, nid oeddem yn gallu dod o hyd i dropper yn gysylltiedig â'r sampl hwn, felly nid ydym yn gwybod fector yr haint eto.
Cyhoeddasom yn ddiweddar
Dadansoddi
Mae'r tair rhan nesaf yn disgrifio dadansoddiad sampl gyda hash SHA-1 E615632C9998E4D3E5ACD8851864ED09B02C77D2
. Gelwir y ffeil fflachlyd, Mae cynhyrchion gwrthfeirws ESET yn ei ganfod fel OSX/OceanLotus.D.
Gwrth-debugio a diogelu blychau tywod
Fel pob binaries OceanLotus macOS, mae'r sampl wedi'i becynnu â UPX, ond nid yw'r rhan fwyaf o offer adnabod pecynwyr yn ei adnabod felly. Mae'n debyg bod hyn oherwydd eu bod yn bennaf yn cynnwys llofnod sy'n dibynnu ar bresenoldeb y llinyn “UPX”, yn ogystal, mae llofnodion Mach-O yn llai cyffredin ac nid ydynt yn cael eu diweddaru mor aml. Mae'r nodwedd hon yn ei gwneud hi'n anodd canfod statig. Yn ddiddorol, ar ôl dadbacio, mae'r pwynt mynediad ar ddechrau'r adran __cfstring
yn y segment .TEXT
. Mae gan yr adran hon briodweddau baner fel y dangosir yn y ddelwedd isod.
Ffigur 1. MACH-O __cfstring adran priodoleddau
Fel y dangosir yn Ffigur 2, mae'r lleoliadau cod yn yr adran __cfstring
yn eich galluogi i dwyllo rhai offer dadosod trwy arddangos cod fel llinynnau.
Ffigur 2. Cod drws cefn wedi'i ganfod gan yr IDA fel data
Ar ôl ei weithredu, mae'r deuaidd yn creu edefyn fel gwrth-debygwr a'i unig bwrpas yw gwirio'n barhaus am bresenoldeb dadfygiwr. Ar gyfer y llif hwn:
— Yn ceisio dadfachu unrhyw ddadfygiwr, gan alw ptrace
с PT_DENY_ATTACH
fel paramedr cais
- Gwirio a yw rhai porthladdoedd unigryw ar agor trwy alw swyddogaeth task_get_exception_ports
- Gwirio a yw'r dadfygiwr wedi'i gysylltu, fel y dangosir yn y ffigur isod, trwy wirio presenoldeb y faner P_TRACED
yn y broses bresennol
Ffigur 3. Gwirio'r cysylltiad dadfygiwr gan ddefnyddio'r swyddogaeth sysctl
Os yw'r corff gwarchod yn canfod presenoldeb dadfygiwr, gelwir y swyddogaeth exit
. Yn ogystal, mae'r sampl wedyn yn gwirio'r amgylchedd trwy redeg dau orchymyn:
ioreg -l | grep -e "Manufacturer" и sysctl hw.model
Yna mae'r sampl yn gwirio'r gwerth dychwelyd yn erbyn rhestr o linynnau cod caled o systemau rhithwiroli hysbys: acw, VMware, virtualbox neu tebygrwydd. Yn olaf, mae'r gorchymyn nesaf yn gwirio a yw'r peiriant yn un o'r “MBP”, “MBA”, “MB”, “MM”, “IM”, “MP” ac “XS” canlynol. Mae'r rhain yn godau model system, er enghraifft, mae "MBP" yn golygu MacBook Pro, "MBA" yn golygu MacBook Air, ac ati.
system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}
Prif ychwanegiadau
Er nad yw'r gorchmynion drws cefn wedi newid ers ymchwil Trend Micro, fe wnaethom sylwi ar ychydig o addasiadau eraill. Mae'r gweinyddwyr C&C a ddefnyddir yn y sampl hwn yn weddol newydd ac fe'u crëwyd ar 22.10.2018/XNUMX/XNUMX.
- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com
Mae'r URL adnodd wedi newid i /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35
.
Mae'r pecyn cyntaf a anfonwyd at y gweinydd C&C yn cynnwys mwy o wybodaeth am y peiriant gwesteiwr, gan gynnwys yr holl ddata a gasglwyd gan y gorchmynion yn y tabl isod.
Yn ogystal â'r newid cyfluniad hwn, nid yw'r sampl yn defnyddio llyfrgell ar gyfer hidlo rhwydwaith gFjMXBgyXWULmVVVzyxy
, padio â sero. Mae pob ffeil yn cael ei dadgryptio a'i chadw fel /tmp/store
, a gwneir ymgais i'w lwytho fel llyfrgell gan ddefnyddio'r ffwythiant dlopen
, y backdoor darnau allforio swyddogaethau Boriry
и ChadylonV
, sydd yn ôl pob golwg yn gyfrifol am gyfathrebu rhwydwaith gyda'r gweinydd. Nid oes gennym y dropiwr na ffeiliau eraill o leoliad gwreiddiol y sampl, felly ni allwn ddosrannu'r llyfrgell hon. Ar ben hynny, gan fod y gydran wedi'i hamgryptio, ni fydd rheol YARA sy'n seiliedig ar y llinynnau hyn yn cyfateb i'r ffeil a geir ar ddisg.
Fel y disgrifir yn yr erthygl uchod, mae'n creu ID cleient. Yr ID hwn yw'r stwnsh MD5 o werth dychwelyd un o'r gorchmynion canlynol:
- 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}'
(cael cyfeiriad MAC)
- tîm anhysbys ("x1ex72x0a
"), a ddefnyddir mewn samplau blaenorol
Cyn stwnsio, mae "0" neu "1" yn cael ei ychwanegu at y gwerth dychwelyd i nodi breintiau gwraidd. hwn ID cleient storio mewn /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex
, os yw'r cod yn cael ei redeg fel gwraidd neu mewn ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML ym mhob achos arall. Mae'r ffeil fel arfer yn cael ei guddio gan ddefnyddio'r swyddogaeth touch –t
gyda gwerth ar hap.
Llinynnau dadgodio
Yn yr un modd ag opsiynau blaenorol, mae'r llinynnau'n cael eu hamgryptio gan ddefnyddio AES-256-CBC (allwedd hecsadegol: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92
eu padio â sero, a IV llenwi â sero) drwy'r swyddogaeth
Gwybod y prototeip swyddogaeth datgryptio, mae'r sgript yn canfod pob croesgyfeiriad i'r swyddogaeth hon, pob dadl, yna'n dadgryptio'r data ac yn gosod testun plaen y tu mewn i sylw yn y cyfeiriad croesgyfeirio. Er mwyn i'r sgript weithio'n gywir, rhaid ei gosod i'r wyddor arferiad a ddefnyddir gan y swyddogaeth datgodio base64, a rhaid diffinio newidyn byd-eang sy'n cynnwys hyd yr allwedd (DWORD yn yr achos hwn, gweler Ffigur 4).
Ffigur 4. Diffiniad o'r newidyn byd-eang key_len
Yn y ffenestr Swyddogaeth, gallwch dde-glicio ar y swyddogaeth dadgryptio a chlicio ar “Echdynnu a dadgryptio dadleuon.” Dylai'r sgript osod y llinellau dadgryptio mewn sylwadau, fel y dangosir yn Ffigur 5.
Ffigur 5. Rhoddir y testun dadgryptio yn y sylwadau
Fel hyn mae'r tannau dadgryptio wedi'u gosod yn gyfleus gyda'i gilydd yn ffenestr yr IDA xrefs ar gyfer y swyddogaeth hon fel y dangosir yn Ffigur 6.
Ffigur 6. Xrefs to f_decrypt function
Mae'r sgript derfynol i'w gweld yn
Allbwn
Fel y soniwyd eisoes, mae OceanLotus yn gwella ac yn diweddaru ei becyn cymorth yn gyson. Y tro hwn, mae'r grŵp seiber wedi gwella'r malware i weithio gyda defnyddwyr Mac. Nid yw'r cod wedi newid llawer, ond gan fod llawer o ddefnyddwyr Mac yn anwybyddu cynhyrchion diogelwch, mae amddiffyn malware rhag cael ei ganfod o bwysigrwydd eilaidd.
Roedd cynhyrchion ESET eisoes yn canfod y ffeil hon ar adeg yr ymchwil. Oherwydd bod y llyfrgell rhwydwaith a ddefnyddir ar gyfer cyfathrebu C&C bellach wedi'i hamgryptio ar ddisg, nid yw'r union brotocol rhwydwaith a ddefnyddir gan yr ymosodwyr yn hysbys eto.
Dangosyddion cyfaddawd
Mae dangosyddion cyfaddawdu yn ogystal â phriodoleddau MITER ATT&CK hefyd ar gael ar
Ffynhonnell: hab.com