ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak

Argitalpen honetan OceanLotus ziber-taldeak (APT32 eta APT-C-00) berriki publikoki eskuragarri dauden ustiapenetako bat nola erabili zuen kontatuko dizugu. CVE-2017-11882, Microsoft Office-n memoriaren ustelkeriaren ahultasunak eta taldearen malwareak nola irautea lortzen duen arriskuan dauden sistemetan arrastorik utzi gabe. Jarraian, deskribatuko dugu nola, 2019aren hasieratik, taldeak auto-erauzketako artxiboak erabiltzen dituen kodea exekutatzeko.

OceanLotus ziber-espioian espezializatuta dago, eta lehentasunezko helburuak Asiako hego-ekialdeko herrialdeak dira. Erasotzaileek biktimen potentzialen arreta erakartzen duten dokumentuak faltsutzen dituzte atzeko atea exekutatzeko konbentzitzeko, eta tresnak garatzen ere ari dira lanean. Honeypot-ak sortzeko erabiltzen diren metodoak erasoen arabera aldatzen dira, "luzapen bikoitzeko" fitxategietatik, auto-erauzten diren artxiboetatik, makroekin dokumentuekin eta ustiapen ezagunetaraino.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak

Microsoft Equation Editor-en exploit bat erabiliz

2018ko erdialdean, OceanLotusek CVE-2017-11882 ahultasuna ustiatzen duen kanpaina bat egin zuen. Ziber-taldearen dokumentu gaiztoetako bat 360 Threat Intelligence Center-eko espezialistek aztertu zuten (ikerketa txineraz), ustiapenaren deskribapen zehatza barne. Beheko argitalpenak horrelako dokumentu gaizto baten ikuspegi orokorra du.

Lehenengo etapa

Dokumentua FW Report on demonstration of former CNRP in Republic of Korea.doc (SHA-1: D1357B284C951470066AAA7A8228190B88A5C7C3) goiko azterketan aipatutakoaren antzekoa da. Interesgarria da, Kanbodiako politikan interesa duten erabiltzaileei zuzenduta dagoelako (CNRP - Cambodia National Rescue Party, 2017 amaieran desegin zen). .doc luzapena izan arren, dokumentua RTF formatuan dago (ikus beheko irudia), zabor-kodea dauka eta, gainera, desitxuratuta dago.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
1. Irudia "Zaborra" RTFn

Nahiz eta elementu nahasiak egon, Word-ek RTF fitxategi hau ongi irekitzen du. 2. Irudian ikus dezakezun bezala, EQNOLEFILEHDR egitura bat dago 0xC00 desplazamenduan, MTEF goiburua eta gero MTEF sarrera bat (3. Irudia) letra-tipoan.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
2. Irudia FONT sarrerako balioak

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
Figure 3. FONT grabazio formatua

Baliteke soroan gainezka egitea izena, bere tamaina ez delako egiaztatzen kopiatu aurretik. Luzeegia den izenak ahultasun bat eragiten du. RTF fitxategiaren edukian ikus dezakezunez (0. irudian 26xC2 desplazamendua), buffer-a shellcodez beteta dago eta jarraian dummy komando batekin (0x90) eta itzulera helbidea 0x402114. Helbidea elkarrizketa-elementu bat da EQNEDT32.exe, argibideak adieraziz RET. Honek EIP eremuaren hasiera seinalatzea eragiten du izenashellcode duena.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
4. irudia. Explotazioaren shellcodearen hasiera

Helbidea 0x45BD3C deserreferentziatutako aldagai bat gordetzen du, unean kargatutako egituraren erakusle batera iritsi arte MTEFData. Gainontzeko shellcode-a hemen dago.

Shellcode-ren helburua dokumentu irekian txertatutako bigarren shellcode zatia exekutatzen da. Jatorrizko shell-kodea lehenik dokumentu irekiaren fitxategi deskribatzailea bilatzen saiatzen da sistemaren deskribatzaile guztien gainean errepikatuz (NtQuerySystemInformation argudioarekin SystemExtendedHandleInformation) eta bat datozen egiaztatzea PID deskribatzailea eta PID prozesua WinWord eta dokumentua sarbide-maskara batekin ireki den ala ez - 0x12019F.

Helduleku egokia aurkitu dela berresteko (eta ez beste dokumentu ireki baten heldulekua), fitxategiaren edukia bistaratzen da funtzioa erabiliz. CreateFileMapping, eta shellcode-ak dokumentuaren azken lau byteak bat datozen egiaztatzen du "yyyy"(Arrautza Ehizaren metodoa). Bat-etortze bat aurkitu ondoren, dokumentua behin-behineko karpeta batera kopiatzen da (GetTempPath) Nola ole.dll. Ondoren, dokumentuaren azken 12 byteak irakurtzen dira.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
5. Irudia. Dokumentuen amaierako markatzaileak

Markatzaileen arteko 32 biteko balioa AABBCCDD и yyyy hurrengo shellcodearen desplazamendua da. Funtzioa erabiliz deitzen zaio CreateThread. Lehenago OceanLotus taldeak erabilitako shellcode bera atera da. Python emulazio gidoia2018ko martxoan kaleratu genuena, bigarren etapako zabortegirako funtzionatzen du oraindik.

Bigarren etapa

Osagaiak kentzea

Fitxategi eta direktorioen izenak dinamikoki hautatzen dira. Kodeak ausaz hautatzen du fitxategi exekutagarriaren edo DLL fitxategiaren izena C:Windowssystem32. Ondoren, bere baliabideei eskaera bat egiten die eta eremua berreskuratzen du FileDescription karpeta-izen gisa erabiltzeko. Honek funtzionatzen ez badu, kodeak ausaz aukeratzen du karpeta-izen bat direktorioetatik %ProgramFiles% edo C:Windows (GetWindowsDirectoryW-tik). Lehendik dauden fitxategiekin gatazka izan dezakeen izen bat erabiltzea saihesten du eta hitz hauek ez dituela ziurtatzen du: windows, Microsoft, desktop, system, system32 edo syswow64. Direktorioa dagoeneko badago, "NLS_{6 karaktere}" eransten zaio izenari.

baliabidea 0x102 aztertu eta fitxategiak botatzen dira %ProgramFiles% edo %AppData%, ausaz hautatutako karpeta batera. Sorkuntza-denbora aldatu da balio berdinak izateko kernel32.dll.

Adibidez, hona hemen exekutagarria hautatuta sortutako karpeta eta fitxategien zerrenda C:Windowssystem32TCPSVCS.exe datu-iturri gisa.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
6. Irudia. Hainbat osagai ateratzea

Baliabideen egitura 0x102 tanta batean nahiko konplexua da. Laburbilduz, honako hauek ditu:
— Fitxategien izenak
— Fitxategiaren tamaina eta edukia
— Konpresioaren formatua (COMPRESSION_FORMAT_LZNT1, funtzioak erabiltzen du RtlDecompressBuffer)

Lehen fitxategia honela berrezarri da TCPSVCS.exe, zilegi dena AcroTranscoder.exe (ren arabera FileDescription, SHA-1: 2896738693A8F36CC7AD83EF1FA46F82F32BE5A3).

Baliteke DLL fitxategi batzuk 11 MB baino handiagoak direla konturatu izana. Fitxategi exekutagarriaren barruan ausazko datuen ondoko buffer handi bat jartzen delako gertatzen da. Baliteke segurtasun-produktu batzuek detektatzea ekiditeko modu bat izatea.

Iraunkortasuna bermatzea

baliabidea 0x101 dropper-ek 32 biteko bi zenbaki oso ditu, iraunkortasuna nola eman behar den zehazten dutenak. Lehenengoaren balioak malwareak administratzaile eskubiderik gabe nola iraungo duen zehazten du.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
1. taula. Administratzaile eskubiderik gabeko iraunkortasun mekanismoa

Bigarren zenbaki osoaren balioak malwareak nola iraun behar duen zehazten du administratzaile eskubideekin exekutatzen denean.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
2. taula. Administratzaile-eskubideekin iraunkortasun-mekanismoa

Zerbitzuaren izena luzapenik gabeko fitxategiaren izena da; bistaratzeko izena karpetaren izena da, baina dagoeneko badago, " katea erantsiko zaioRevision 1” (zenbakia handitzen da erabili gabeko izen bat aurkitu arte). Operadoreek zerbitzuaren iraupena sendoa zela ziurtatu zuten - hutsegite kasuan, zerbitzua segundo 1 igaro ondoren berrabiarazi beharko litzateke. Gero balioa WOW64 Zerbitzu berriaren erregistro-gakoa 4-n ezarrita dago, 32 biteko zerbitzua dela adieraziz.

Programatutako zeregin bat COM interfaze batzuen bidez sortzen da: ITaskScheduler, ITask, ITaskTrigger, IPersistFile и ITaskScheduler. Funtsean, malwareak ezkutuko zeregin bat sortzen du, kontuaren informazioa ezartzen du uneko erabiltzailearen edo administratzailearen informazioarekin batera eta, ondoren, abiarazlea ezartzen du.

24 orduko iraupena eta 10 minutuko bi exekuzioen arteko tarteak dituen eguneroko zeregina da, hau da, etengabe exekutatzen da.

Bit gaiztoa

Gure adibidean, fitxategi exekutagarria TCPSVCS.exe (AcroTranscoder.exe) harekin batera berrezartzen diren DLLak kargatzen dituen software legitimoa da. Kasu honetan, interesgarria da Flash Video Extension.dll.

Bere funtzioa DLLMain beste funtzio bat deitzen du. Predikatu lauso batzuk daude:

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
7. Irudia. Predikatu lausoak

Egiaztapen engainagarri horien ondoren, kodeak atal bat lortzen du .text fitxategia TCPSVCS.exe, bere defentsa aldatzen du PAGE_EXECUTE_READWRITE eta berridazten du argibide finak gehituz:

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
8. Irudia Argibideen sekuentzia

Amaieran funtzioaren helbidea FLVCore::Uninitialize(void), esportatu Flash Video Extension.dll, instrukzioa gehitzen da CALL. Horrek esan nahi du DLL gaiztoa kargatu ondoren, exekuzio-denborak deitzen duenean WinMain в TCPSVCS.exe, instrukzio-erakusleak NOP-ra adieraziko du, eraginez FLVCore::Uninitialize(void), hurrengo etapa.

Funtzioak, besterik gabe, mutex bat sortzen du {181C8480-A975-411C-AB0A-630DB8B0A221}ondoren uneko erabiltzaile-izena. Ondoren, iraultzen den *.db3 fitxategia irakurtzen du, posizioaren araberako kodea duena, eta erabiltzen du CreateThread edukia exekutatzeko.

*.db3 fitxategiaren edukia OceanLotus taldeak normalean erabiltzen duen shell-kodea da. Berriro ere arrakastaz deskonprimitu genuen bere karga karga argitaratu genuen emulatzaile-scripta erabiliz GitHub-en.

Gidoiak azken etapa ateratzen du. Osagai hau atzeko ate bat da, dagoeneko aztertu duguna OceanLotus aurreko ikerketa. Hau GUID-ek zehaztu dezake {A96B020F-0000-466F-A96D-A91BBF8EAC96} fitxategi bitarra. Malwarearen konfigurazioa PE baliabidean zifratuta dago oraindik. Gutxi gorabehera konfigurazio bera du, baina C&C zerbitzariak aurrekoetatik desberdinak dira:

- andreagahuvrauvin[.]com
- byronorenstein[.]com
- stienollmache[.]xyz

OceanLotus taldeak berriro ere teknika ezberdinen konbinazioa erakusten du detekzioa saihesteko. Infekzio-prozesuaren diagrama "findu" batekin itzuli ziren. Ausazko izenak aukeratuz eta ausazko datuekin exekutagarriak betez, IoC fidagarrien kopurua murrizten dute (hash eta fitxategi-izenetan oinarrituta). Gainera, hirugarrenen DLL karga erabiltzeari esker, erasotzaileek legezko binarioa bakarrik kendu behar dute. AcroTranscoder.

Norberak erauzten diren artxiboak

RTF fitxategien ondoren, taldea auto-erauzketa (SFX) artxiboetara joan zen dokumentuaren ikono arruntekin, erabiltzailea gehiago nahasteko. Threatbook-ek honi buruz idatzi zuen (esteka txineraz). Abiaraztean, auto-erauzten diren RAR fitxategiak botatzen dira eta .ocx luzapena duten DLLak exekutatzen dira, zeinen azken karga aldez aurretik dokumentatuta dagoen. {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll. 2019ko urtarrilaren erdialdetik, OceanLotus teknika hau berrerabiltzen ari da, baina denborarekin konfigurazio batzuk aldatuz. Atal honetan teknikaz eta aldaketez hitz egingo dugu.

Lure bat sortzea

Dokumentua THICH-THONG-LAC-HANH-THAP-THIEN-VIET-NAM (1).EXE (SHA-1: AC10F5B1D5ECAB22B7B418D6E98FA18E32BBDEAB) 2018an aurkitu zen lehen aldiz. SFX fitxategi hau zentzuz sortu da - deskribapenean (Bertsioaren informazioa) hau JPEG irudi bat dela dio. SFX script-ak honela dauka:

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
9. Irudia SFX komandoak

Malwarea berrezarri {9ec60ada-a200-4159-b310-8071892ed0c3}.ocx (SHA-1: EFAC23B0E6395B1178BCF7086F72344B24C04DCC), baita argazki bat ere 2018 thich thong lac.jpg.

Decoy irudiak itxura hau du:

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
10. Irudia Dekoituaren irudia

Baliteke SFX script-eko lehen bi lerroek OCX fitxategiari bi aldiz deitzen diotela ohartu izana, baina hau ez da errore bat.

{9ec60ada-a200-4159-b310-8071892ed0c3}.ocx (ShLd.dll)

OCX fitxategi baten kontrol-fluxua OceanLotusen beste osagai batzuen oso antzekoa da - komando-sekuentzia asko JZ/JNZ и PUSH/RET, zabor kodearekin txandakatuz.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
11. Irudia Kode lausotua

Zabor kodea iragazi ondoren, esportatu DllRegisterServer, deitua regsvr32.exe, horrela:

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
12. Irudia Oinarrizko instalatzailearen kodea

Funtsean, lehen deialdian DllRegisterServer esportatu erregistro-balioa ezartzen du HKCUSOFTWAREClassesCLSID{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}Model DLL-n enkriptatutako desplazamendurako (0x10001DE0).

Funtzioa bigarren aldiz deitzen denean, balio bera irakurtzen du eta helbide horretan exekutatzen du. Hemendik RAM baliabidea eta ekintza asko irakurtzen eta exekutatzen dira.

Shellcode aurreko OceanLotus kanpainetan erabilitako PE kargatzaile bera da. Erabiliz emulatu daiteke gure gidoia. Azkenean berrezarri egiten du db293b825dcc419ba7dc2c49fa2757ee.dll, memorian kargatu eta exekutatzen du DllEntry.

DLL-k bere baliabidearen edukia ateratzen du, deszifratu (AES-256-CBC) eta deskonprimitu (LZMA). Baliabideak formatu zehatz bat du, deskonpilatzeko erraza dena.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
13. Irudia. Instalatzailearen konfigurazio-egitura (KaitaiStruct Visualizer)

Konfigurazioa esplizituki zehazten da - pribilegio-mailaren arabera, datu bitarrak idatziko dira %appdata%IntellogsBackgroundUploadTask.cpl edo %windir%System32BackgroundUploadTask.cpl (Edo SysWOW64 64 biteko sistemetarako).

Iraunkortasun handiagoa bermatzen da izena duen zeregin bat sortuz BackgroundUploadTask[junk].jobNon [junk] byte multzo bat adierazten du 0x9D и 0xA0.

Ataza-aplikazioaren izena %windir%System32control.exe, eta parametroaren balioa deskargatutako fitxategi bitarrerako bidea da. Ezkutuko zeregina egunero exekutatzen da.

Egitura aldetik, CPL fitxategi bat barne-izena duen DLL bat da ac8e06de0a6c4483af9837d96504127e.dll, funtzio bat esportatzen duena CPlApplet. Fitxategi honek bere baliabide bakarra deszifratzen du {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll, ondoren DLL hau kargatzen du eta bere esportazio bakarrari deitzen dio DllEntry.

Backdoor konfigurazio fitxategia

Atzeko atearen konfigurazioa enkriptatuta dago eta bere baliabideetan txertatuta dago. Konfigurazio fitxategiaren egitura aurrekoaren oso antzekoa da.

ESET: OceanLotus ziber-taldearentzat backdoor entrega eskema berriak
14. Irudia. Backdoor konfigurazio-egitura (KaitaiStruct Visualizer)

Egitura antzekoa den arren, eremuen balio asko eguneratu egin dira agertzen direnetatik gure txosten zaharra.

Array bitarraren lehen elementuak DLL bat dauka (HttpProv.dll MD5: 2559738D1BD4A999126F900C7357B759), Tencent-ek identifikatu zuen. Baina esportazio izena bitarretik kendu zenez, hashak ez datoz bat.

Ikerketa osagarriak

Laginak biltzean, ezaugarri batzuk nabaritu ditugu. Deskribatu berri den alea 2018ko uztaila inguruan agertu zen, eta antzeko beste batzuk 2019ko urtarrilaren erdialdetik otsailaren hasierara arte agertu ziren duela gutxi. SFX artxiboa infekzio-bektore gisa erabili zen, legezko decoy dokumentu bat eta OSX fitxategi maltzur bat jareginez.

OceanLotusek denbora-zigilu faltsuak erabiltzen baditu ere, SFX eta OCX fitxategien denbora-zigiluak beti berdinak direla ohartu gara (0x57B0C36A (08/14/2016 @ 7:15 UTC) eta 0x498BE80F (02/06/2009 @ 7:34 UTC) hurrenez hurren). Horrek ziurrenik adierazten du egileek txantiloi berberak erabiltzen dituzten eta ezaugarri batzuk besterik gabe aldatzen dituen "diseinatzaile" mota bat dutela.

2018 hasieratik aztertu ditugun dokumentuen artean, erasotzaileen intereseko herrialdeak adierazten dituzten hainbat izen daude:

— Kanbodiako komunikabideen harremanetarako informazio berria (Berria).xls.exe
— 李建香 (个人简历).exe (CV baten pdf dokumentu faltsua)
— iritzia, 28ko uztailaren 29tik 2018ra AEBetako rallya.exe

Atzeko atea aurkitu zenetik {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll eta hainbat ikertzailek bere analisia argitaratuta, aldaketa batzuk ikusi genituen malwarearen konfigurazio datuetan.

Lehenik eta behin, egileak DLL laguntzaileetatik izenak kentzen hasi ziren (DNSprov.dll eta bi bertsio HttpProv.dll). Orduan operadoreek hirugarren DLLa (bigarren bertsioa) ontziratzeari utzi zioten HttpProv.dll), bakarra txertatzea aukeratuz.

Bigarrenik, atzeko atearen konfigurazio-eremu asko aldatu ziren, litekeena da detekzioa saihestea IoC asko eskuragarri zeuden heinean. Egileek aldatutako eremu garrantzitsuak hauek dira:

  • AppX erregistroko gakoa aldatu da (ikus IoCs)
  • mutex kodetze katea ("def", "abc", "ghi")
  • ataka zenbakia

Azkenik, aztertutako bertsio berri guztiek C&C berriak dituzte IoCs atalean zerrendatuta.

Findings

OceanLotusek garatzen jarraitzen du. Ziber-taldea tresnak eta dekoiak fintzen eta zabaltzen zentratuta dago. Egileek karga gaiztoak mozorrotzen dituzte arreta erakartzen duten dokumentuak erabiliz, zeinen gaia aurreikusitako biktimentzat garrantzitsua den. Eskema berriak garatzen dituzte eta publikoki eskuragarri dauden tresnak ere erabiltzen dituzte, hala nola Equation Editor ustiapena. Gainera, biktimen makinetan geratzen diren artefaktu kopurua murrizteko tresnak hobetzen ari dira, eta horrela birusen aurkako softwareak detektatzeko aukera murrizten du.

Konpromisoaren adierazleak

Konpromisoaren adierazleak eta baita MITRE ATT&CK atributuak eskuragarri daude Welivesecurity-n и GitHub-en.

Iturria: www.habr.com

Gehitu iruzkin berria