Mense Martio anni 2019, novum exemplum programmatis maligni in VirusTotal, populare servitium scrutationis interretialis, immissum est. macOS Grex cyberneticus OceanLotus. Programma posticae portae easdem facultates habet ac versio prior programmatis maligni quod investigavimus. macOS, sed structura eius mutata est et difficilius detegere factum est. Infeliciter, guttatorem cum hoc exemplo coniunctum invenire non potuimus, itaque vectorem infectionis nondum scimus.
Nos nuper editis et quomodo operatores persistentiam curare, exsecutionem codicis accelerare, et vestigia praesentiae in systematibus minuere conantur. WindowsNotum est etiam hunc gregem cyberneticum etiam partem habere pro macOSHaec inscriptio mutationes in recentissima versione programmatis maligni (vel "malware") explicat. macOS comparatione cum versione priore () et etiam describit quomodo decryptionem chordarum in analysi utendo IDA Hex-radii API automate potes.

Анализ
Sequuntur tres partes analysi exempli cum SHA-1 Nullam describere E615632C9998E4D3E5ACD8851864ED09B02C77D2. Tabella dicitur flashlightd, ESET producta antivirus eam deprehendere ut OSX/OceanLotus.D.
Anti-debugging et sandbox praesidium
ut omnibus macOS- Binariis OceanLotus, exemplum UPX refertum est, sed pleraque instrumenta identificationis compositorum id ut tale non agnoscunt. Hoc probabiliter est quia plerumque signaturam continent quae a praesentia litterarum "UPX" dependet. Praeterea, signaturae Mach-O minus communes sunt et minus frequenter renovantur. Haec proprietas detectionem staticam difficilem reddit. Curiose, post explicationem, punctum ingressus est in initio sectionis. __cfstring in fegmento .TEXT. Hanc sectionem vexillum attributa habet ut infra in imagine monstratur.

Figure 1. MACH-O __cfstring sectionem attributorum
Ut patet in Figura II, in codice locis in sectione __cfstring sino te aliqua instrumenta disassemble fallere, ostendens codicem sicut chordas.

Figure 2. Backdoor codice deprehendit IDA ut notitia
Postquam exsecutioni mandatur, binarius linum efficit ut anti-debugger, cuius unicum propositum est ut continue praesentiam debugger reprimat. Hoc enim fluunt;
- Tries unhook aliquem debugger, vocantem ptrace с PT_DENY_ATTACH ut petitionem parametri
- SCUTULATUM si aliqui exclusivae portus aperiuntur vocando functionem task_get_exception_ports
- SCUTULATUM si debugger iungitur, ut in figura infra ostenditur, praesentiam vexillum annotando P_TRACED in current processus

Figure 3. Reprehendo debugger nexum utens ad sysctl munus
Si speculator praesentiam purgantis detegit, munus appellatur exit. Accedit, quod specimen deinde duo imperia currendo coercet:
ioreg -l | grep -e "Manufacturer" и sysctl hw.model
Sample tunc inhibet valorem reditus contra indicem chordarum duro-codedatum ex notis systematibus virtualisationum: acle, vmware, virtualbox aut parallelae. Denique proximum imperium inhibet si apparatus unus ex sequentibus "MBP", "MBA", "MB", "MM", "IM", "MP" et "XS". Hae sunt exemplar codicis systematis, exempli gratia, "MBP" MacBook Pro, "MBA" MacBook Air, etc.
system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}
Praecipua additamenta
Dum mandata postica non mutaverunt cum investigationis Microform Trend, paucas alias modificationes animadvertimus. Servientes C&C in hoc exemplo usi sunt satis nova et in die 22.10.2018/XNUMX/XNUMX creati sunt.
- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com
Subsidium URL mutata est /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35.
Prima fasciculus ad C&C servo missos plura habet de machinae exercitu, inclusis omnibus notitiis ex mandatorum in tabula infra collectis.

Praeter hanc configurationem mutationem, exemplum bibliothecae retis eliquandi non utitur sed bibliotheca externa. Invenire, posticum singulas tabellas minuere conatur in directorio currenti utendo cum clave AES-256-CBC. gFjMXBgyXWULmVVVzyxyadditamenta cyphris. Quisque file decrypted et servata est /tmp/storeet conatum onerare ut bibliotheca fit functione utens . Cum decryption conatum consequitur feliciter vocatus dlopen, posticum extracta munera exportata Boriry и ChadylonVquae videntur responsabiles esse communicationis retis cum calculonis servi. Dropperam vel alias tabulas non habemus ex loco originalis exempli, ideo hanc bibliothecam parse non possumus. Praeterea, cum pars encryptatur, regula YARA his chordis nititur, tabellae in orbe inventae non congruit.
Sicut in superiori articulo descriptus est, creat clientID. Id est MD5 Nullam reditus valorem unius ex his praeceptis:
- 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}' (Ut MAC oratio)
- turma ignota ("x1ex72x0a"), quae in praecedentibus exemplis adhibetur
Priusquam hashing, "0" vel "I" additur ad valorem reditus ad indicandas privilegia radicis. Hoc clientID conditur /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex, si signum pro radice vel in ~/Library/SmartCardsServices/Technology/PlugIns/auriga/snippets.ecgML in omnibus aliis casibus currat. Tabella plerumque munus occultatum est , eius indicatione mutatur utens imperio touch –t cum temere pretii.
Decoding chordis
Ut cum optionibus superioribus, chordae AES-256-CBC utentes chordae encryptae (clavem hexadecimalem; 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92 addita cum cyphris, et IV cyphris referta) per functionem . Clavis e prioribus versionibus mutata est, sed cum globus adhuc eodem algorithmo encryption filo utitur, decryption automari potest. Praeter hanc stationem, scripturam IDA dimittimus quae Hex-Rayrum API utitur ad decryptas chordarum quae in tabella binaria habentur. Hoc scriptum adiuvare potest cum futura analysi OceanLotus et analysi exemplorum exsistentium quae nondum obtinere potuimus. Scriptum est de methodo universali recipiendi rationes ad functionem latas. Accedit, quod parametri destinationes spectat. Methodus reddi potest ut rationes functionis indicem accipias et ad callback transeas.
Sciens munus exemplar decrypt, scriptum invenit omnes cruces ad hoc munus, omnes argumentationes, dein decryptas notas et textum planum locat intra commentarium in crucem-referentem electronicam. Scriptum ad recte operandum, consuetudini alphabeti a basi64 decoctionis functionis apponi debet, et variabilis globalis variabilis longitudo clavium (in hoc casu DWORD vide figura 4) definiri debet.

Figura 4. Definitio globalis variabilis key_len
In fenestra Function, munus decryption recte click ac deprime "Extract et decrypta argumenta". Scriptum lineas in commentationes decryptas collocare debet, ut in Figura 5 ostenditur.

Figure 5. Textus decrypted in commentaria positus est
Hoc modo chordae decryptae in fenestra idae convenienter collocantur xrefs ad hoc munus ut in Figura VI.

Figure 6. Xrefs ad f_decrypt munus
Ultima scriptum inveniri potest at .
conclusio,
Ut iam dictum est, OceanLotus constanter auget et adaequat suum toolkit. Hoc tempore, coetus cyber malware emendavit ad operandum cum Mac usoribus. Codex non multum mutavit, sed cum multi Mac users ignari fructus securitatis ignorent, malware e deprehensio protegens secundae momenti est.
Producta ESET iam tempore investigationis hanc limam detexerunt. Quia bibliotheca retis adhibita communicationis C&C nunc in disco encrypta est, protocollum retis accurata ab oppugnatoribus adhibitum nondum notum est.
Indicatores compromissum
Indicatores compromissi necnon MATER ATT&CK attributa etiam in promptu sunt .
Source: www.habr.com
