ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus

Katika chapisho hili tutakuambia jinsi kikundi cha mtandao cha OceanLotus (APT32 na APT-C-00) kilivyotumia hivi majuzi mojawapo ya ushujaa unaopatikana kwa umma kwa CVE-2017-11882, udhaifu wa uharibifu wa kumbukumbu katika Microsoft Office, na jinsi programu hasidi ya kikundi inavyofanikisha kuendelea kwa mifumo iliyoathiriwa bila kuacha alama yoyote. Ifuatayo, tutaelezea jinsi, tangu mwanzo wa 2019, kikundi kimekuwa kikitumia kumbukumbu za kujitolea kutekeleza nambari.

OceanLotus inajishughulisha na ujasusi wa mtandao, huku malengo ya kipaumbele yakiwa ni nchi za Kusini-mashariki mwa Asia. Wavamizi hughushi hati zinazovutia usikivu wa wahasiriwa wanaowezekana ili kuwashawishi kutekeleza mlango wa nyuma, na pia wanashughulikia kuunda zana. Mbinu zinazotumiwa kuunda vifuko vya asali hutofautiana katika mashambulizi, kutoka kwa faili za "viendelezi-mbili", kumbukumbu za kujitolea, hati zilizo na macros, hadi matumizi yanayojulikana.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus

Kutumia matumizi katika Mhariri wa Mlinganyo wa Microsoft

Katikati ya 2018, OceanLotus ilifanya kampeni ikitumia uwezekano wa CVE-2017-11882. Moja ya hati mbovu za kikundi cha cyber zilichambuliwa na wataalamu kutoka Kituo cha Ujasusi cha 360 Threat Intelligence Center (utafiti katika Kichina), pamoja na maelezo ya kina ya unyonyaji. Chapisho hapa chini lina muhtasari wa hati mbaya kama hiyo.

hatua ya kwanza

Hati hiyo FW Report on demonstration of former CNRP in Republic of Korea.doc (SHA-1: D1357B284C951470066AAA7A8228190B88A5C7C3) ni sawa na ile iliyotajwa katika utafiti hapo juu. Inafurahisha kwa sababu inalenga watumiaji wanaopenda siasa za Kambodia (CNRP - Chama cha Kitaifa cha Uokoaji cha Kambodia, kilichofutwa mwishoni mwa 2017). Licha ya ugani wa .doc, hati iko katika umbizo la RTF (tazama picha hapa chini), ina msimbo wa takataka, na pia imepotoshwa.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 1. "Takataka" katika RTF

Ingawa kuna vipengele vilivyoharibika, Word hufungua faili hii ya RTF kwa mafanikio. Kama unavyoona kwenye Mchoro wa 2, kuna muundo wa EQNOLEFILEHDR ulio na 0xC00, ukifuatwa na kichwa cha MTEF, na kisha ingizo la MTEF (Mchoro 3) kwa fonti.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 2. Maadili ya kuingia kwa FONT

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 3. FONT muundo wa kurekodi

Uwezekano wa kufurika katika shamba jina, kwa sababu ukubwa wake haujaangaliwa kabla ya kunakili. Jina ambalo ni refu sana husababisha athari. Kama unavyoona kutoka kwa yaliyomo kwenye faili ya RTF (kukabiliana na 0xC26 kwenye Kielelezo 2), buffer imejazwa na nambari ya ganda ikifuatiwa na amri ya dummy (0x90) na kurejesha anwani 0x402114. Anwani ni kipengele cha mazungumzo ndani EQNEDT32.exe, ikionyesha maagizo RET. Hii husababisha EIP kuelekeza mwanzo wa uga jinailiyo na msimbo wa ganda.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 4. Mwanzo wa msimbo wa kutumia shell

Anuani 0x45BD3C huhifadhi kigezo ambacho hakirejelewi hadi kifikie kielekezi kwa muundo uliopakiwa kwa sasa MTEFData. Misimbo iliyosalia iko hapa.

Madhumuni ya shellcode ni kutekeleza kipande cha pili cha shellcode iliyopachikwa kwenye hati iliyo wazi. Shellcode asili hujaribu kwanza kupata maelezo ya faili ya hati iliyo wazi kwa kurudia juu ya maelezo yote ya mfumo (NtQuerySystemInformation pamoja na hoja SystemExtendedHandleInformation) na kuangalia ikiwa zinalingana PID mfafanuzi na PID mchakato WinWord na ikiwa hati ilifunguliwa na kinyago cha ufikiaji - 0x12019F.

Ili kudhibitisha kuwa kipini sahihi kimepatikana (na sio kipini kwa hati nyingine wazi), yaliyomo kwenye faili yanaonyeshwa kwa kutumia kazi. CreateFileMapping, na shellcode huangalia ikiwa baiti nne za mwisho za hati zinalingana "yyyy"(Njia ya Uwindaji wa Mayai). Mara tu mechi inapopatikana, hati hiyo inakiliwa kwa folda ya muda (GetTempPath) Vipi ole.dll. Kisha byte 12 za mwisho za hati zinasomwa.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 5. Mwisho wa Alama za Hati

Thamani ya 32-bit kati ya alama AABBCCDD и yyyy ni suluhu ya shellcode inayofuata. Inaitwa kutumia kazi CreateThread. Ilitoa msimbo wa shell ambao ulitumiwa na kikundi cha OceanLotus hapo awali. Hati ya kuiga chatu, ambayo tulitoa mnamo Machi 2018, bado inafanya kazi kwa utupaji wa hatua ya pili.

hatua ya pili

Kuondoa Vipengele

Majina ya faili na saraka huchaguliwa kwa nguvu. Nambari huchagua kwa nasibu jina la faili inayoweza kutekelezwa au ya DLL ndani C:Windowssystem32. Kisha hufanya ombi kwa rasilimali zake na kupata uwanja FileDescription kutumia kama jina la folda. Ikiwa hii haifanyi kazi, nambari huchagua kwa nasibu jina la folda kutoka kwa saraka %ProgramFiles% au C:Windows (kutoka GetWindowsDirectoryW). Inaepuka kutumia jina ambalo linaweza kupingana na faili zilizopo na inahakikisha kuwa haina maneno yafuatayo: windows, Microsoft, desktop, system, system32 au syswow64. Ikiwa saraka tayari ipo, "NLS_{6 characters}" imeambatishwa kwa jina.

rasilimali 0x102 inachambuliwa na faili hutupwa ndani %ProgramFiles% au %AppData%, kwa folda iliyochaguliwa kwa nasibu. Ilibadilisha wakati wa uundaji kuwa na maadili sawa na kernel32.dll.

Kwa mfano, hapa kuna folda na orodha ya faili zilizoundwa kwa kuchagua zinazoweza kutekelezwa C:Windowssystem32TCPSVCS.exe kama chanzo cha data.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Mchoro 6. Kuchimba vipengele mbalimbali

Muundo wa rasilimali 0x102 katika dropper ni ngumu sana. Kwa kifupi, ina:
- Majina ya faili
- Saizi ya faili na yaliyomo
- Muundo wa compression (COMPRESSION_FORMAT_LZNT1, inayotumiwa na chaguo la kukokotoa RtlDecompressBuffer)

Faili ya kwanza imewekwa upya kama TCPSVCS.exe, ambayo ni halali AcroTranscoder.exe (kulingana na FileDescription, SHA-1: 2896738693A8F36CC7AD83EF1FA46F82F32BE5A3).

Labda umegundua kuwa faili zingine za DLL ni kubwa kuliko MB 11. Hii ni kwa sababu bafa kubwa ya data nasibu imewekwa ndani ya faili inayoweza kutekelezwa. Inawezekana kwamba hii ni njia ya kuzuia kutambuliwa na baadhi ya bidhaa za usalama.

Kuhakikisha kuendelea

rasilimali 0x101 katika dropper ina nambari mbili kamili za 32-bit ambazo zinabainisha jinsi ustahimilivu unapaswa kutolewa. Thamani ya ya kwanza inabainisha jinsi programu hasidi itaendelea bila haki za msimamizi.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Jedwali 1. Utaratibu wa kudumu bila haki za msimamizi

Thamani ya nambari kamili ya pili inabainisha jinsi programu hasidi inapaswa kufikia uendelevu inapoendeshwa na haki za msimamizi.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Jedwali 2. Utaratibu wa kudumu na haki za msimamizi

Jina la huduma ni jina la faili bila ugani; jina la kuonyesha ni jina la folda, lakini ikiwa tayari iko, kamba " imeongezwa kwakeRevision 1” (idadi huongezeka hadi jina lisilotumika lipatikane). Waendeshaji walihakikisha kuwa uvumilivu kupitia huduma ulikuwa thabiti - ikiwa itashindwa, huduma inapaswa kuanza tena baada ya sekunde 1. Kisha thamani WOW64 Ufunguo mpya wa usajili wa huduma umewekwa kwa 4, ikionyesha kuwa ni huduma ya 32-bit.

Kazi iliyopangwa imeundwa kupitia miingiliano kadhaa ya COM: ITaskScheduler, ITask, ITaskTrigger, IPersistFile и ITaskScheduler. Kimsingi, programu hasidi huunda kazi iliyofichwa, huweka maelezo ya akaunti pamoja na maelezo ya mtumiaji au msimamizi wa sasa, na kisha kuweka kichochezi.

Hii ni kazi ya kila siku yenye muda wa saa 24 na vipindi kati ya utekelezaji mbili wa dakika 10, ambayo ina maana kwamba itaendelea mfululizo.

Kidogo hasidi

Katika mfano wetu, faili inayoweza kutekelezwa TCPSVCS.exe (AcroTranscoder.exe) ni programu halali inayopakia DLL ambazo zimewekwa upya pamoja nayo. Katika kesi hii, ni ya riba Flash Video Extension.dll.

Kazi yake DLLMain inaita tu kazi nyingine. Baadhi ya vihusishi visivyoeleweka vipo:

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 7. Vihusishi vya fuzzy

Baada ya ukaguzi huu wa kupotosha, nambari hupata sehemu .text faili TCPSVCS.exe, inabadilisha ulinzi wake kuwa PAGE_EXECUTE_READWRITE na kuiandika tena kwa kuongeza maagizo ya dummy:

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 8. Mlolongo wa maagizo

Mwishoni mwa anwani ya chaguo la kukokotoa FLVCore::Uninitialize(void), nje Flash Video Extension.dll, maagizo yanaongezwa CALL. Hii ina maana kwamba baada ya DLL mbaya ni kubeba, wakati Runtime wito WinMain в TCPSVCS.exe, kielekezi cha maagizo kitaelekeza kwa NOP, na kusababisha FLVCore::Uninitialize(void), hatua inayofuata.

Chaguo la kukokotoa huunda tu bubu kuanzia {181C8480-A975-411C-AB0A-630DB8B0A221}ikifuatiwa na jina la mtumiaji la sasa. Kisha inasoma faili ya *.db3 iliyotupwa, ambayo ina msimbo unaojitegemea, na matumizi CreateThread kutekeleza yaliyomo.

Yaliyomo kwenye faili ya *.db3 ni msimbo wa ganda ambao kundi la OceanLotus hutumia kwa kawaida. Tulifaulu tena kupakua mzigo wake kwa kutumia hati ya kiigaji tulichochapisha kwenye GitHub.

Hati hutoa hatua ya mwisho. Sehemu hii ni ya nyuma, ambayo tayari tumeichambua utafiti uliopita wa OceanLotus. Hii inaweza kuamuliwa na GUID {A96B020F-0000-466F-A96D-A91BBF8EAC96} faili ya binary. Usanidi wa programu hasidi bado umesimbwa kwa njia fiche katika rasilimali ya PE. Ina takriban usanidi sawa, lakini seva za C&C ni tofauti na zile zilizopita:

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

Timu ya OceanLotus inaonyesha tena mchanganyiko wa mbinu tofauti za kuzuia kugunduliwa. Walirudi na mchoro "uliosafishwa" wa mchakato wa maambukizi. Kwa kuchagua majina nasibu na kujaza vitekelezo kwa data nasibu, hupunguza idadi ya IoC zinazotegemeka (kulingana na heshi na majina ya faili). Zaidi ya hayo, shukrani kwa matumizi ya upakiaji wa DLL ya mtu wa tatu, washambuliaji wanahitaji tu kuondoa binary halali. AcroTranscoder.

Kumbukumbu za kujitolea

Baada ya faili za RTF, kikundi kilihamia kwenye kumbukumbu za kujitolea (SFX) zenye aikoni za hati za kawaida ili kumkanganya mtumiaji zaidi. Kitabu cha vitisho kiliandika juu ya hii (kiungo kwa Kichina) Baada ya kuzinduliwa, faili za RAR zinazojitoa hudondoshwa na DLL zilizo na kiendelezi cha .ocx hutekelezwa, malipo ya mwisho ambayo yamerekodiwa hapo awali. {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll. Tangu katikati ya Januari 2019, OceanLotus imekuwa ikitumia tena mbinu hii, lakini ikibadilisha baadhi ya usanidi kwa wakati. Katika sehemu hii tutazungumzia kuhusu mbinu na mabadiliko.

Kutengeneza Lure

Hati hiyo THICH-THONG-LAC-HANH-THAP-THIEN-VIET-NAM (1).EXE (SHA-1: AC10F5B1D5ECAB22B7B418D6E98FA18E32BBDEAB) ilipatikana kwa mara ya kwanza mnamo 2018. Faili hii ya SFX iliundwa kwa busara - katika maelezo (Maelezo ya Toleo) inasema hii ni picha ya JPEG. Nakala ya SFX inaonekana kama hii:

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 9. Amri za SFX

Programu hasidi imewekwa upya {9ec60ada-a200-4159-b310-8071892ed0c3}.ocx (SHA-1: EFAC23B0E6395B1178BCF7086F72344B24C04DCC), pamoja na picha 2018 thich thong lac.jpg.

Picha ya decoy inaonekana kama hii:

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 10. Picha ya decoy

Huenda umegundua kuwa mistari miwili ya kwanza kwenye hati ya SFX huita faili ya OCX mara mbili, lakini hili si kosa.

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

Mtiririko wa udhibiti wa faili ya OCX ni sawa na vipengele vingine vya OceanLotus - mlolongo wa amri nyingi JZ/JNZ и PUSH/RET, ikibadilishana na msimbo wa taka.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 11. Msimbo uliofichwa

Baada ya kuchuja msimbo wa taka, safirisha DllRegisterServer, kuitwa regsvr32.exe, kama ifuatavyo:

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 12. Kanuni ya msingi ya kisakinishi

Kimsingi, kwenye simu ya kwanza DllRegisterServer usafirishaji huweka thamani ya usajili HKCUSOFTWAREClassesCLSID{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}Model kwa kukabiliana kwa njia fiche katika DLL (0x10001DE0).

Chaguo la kukokotoa linapoitwa mara ya pili, husoma thamani sawa na kutekeleza katika anwani hiyo. Kutoka hapa rasilimali na vitendo vingi katika RAM vinasomwa na kutekelezwa.

Msimbo wa ganda ni kipakiaji sawa cha PE kilichotumiwa katika kampeni zilizopita za OceanLotus. Inaweza kuigwa kwa kutumia hati yetu. Mwishoni anaweka upya db293b825dcc419ba7dc2c49fa2757ee.dll, hupakia kwenye kumbukumbu na kutekeleza DllEntry.

DLL hutoa yaliyomo kwenye rasilimali yake, huiondoa (AES-256-CBC) na kuipunguza (LZMA). Rasilimali ina muundo maalum ambao ni rahisi kutengana.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 13. Muundo wa usanidi wa kisakinishi (KaitaiStruct Visualizer)

Usanidi umebainishwa kwa uwazi - kulingana na kiwango cha upendeleo, data ya binary itaandikwa kwa %appdata%IntellogsBackgroundUploadTask.cpl au %windir%System32BackgroundUploadTask.cpl (Au SysWOW64 kwa mifumo ya 64-bit).

Uvumilivu zaidi unahakikishwa kwa kuunda kazi na jina BackgroundUploadTask[junk].jobAmbapo [junk] inawakilisha seti ya baiti 0x9D и 0xA0.

Jina la Maombi ya Kazi %windir%System32control.exe, na thamani ya parameta ni njia ya faili ya binary iliyopakuliwa. Kazi iliyofichwa inaendeshwa kila siku.

Kimuundo, faili ya CPL ni DLL yenye jina la ndani ac8e06de0a6c4483af9837d96504127e.dll, ambayo husafirisha chaguo za kukokotoa CPlApplet. Faili hii inasimbua rasilimali yake pekee {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll, kisha hupakia DLL hii na huita usafirishaji wake pekee DllEntry.

Faili ya usanidi wa mlango wa nyuma

Usanidi wa mlango wa nyuma umesimbwa kwa njia fiche na kupachikwa katika rasilimali zake. Muundo wa faili ya usanidi ni sawa na uliopita.

ESET: mipango mipya ya uwasilishaji ya mlango wa nyuma kwa kikundi cha mtandao cha OceanLotus
Kielelezo 14. Muundo wa usanidi wa mlango wa nyuma (KaitaiStruct Visualizer)

Ingawa muundo unafanana, thamani nyingi za uwanja zimesasishwa kutoka kwa zile zilizoonyeshwa kwenye ripoti yetu ya zamani.

Kipengele cha kwanza cha safu ya binary kina DLL (HttpProv.dll MD5: 2559738D1BD4A999126F900C7357B759), kutambuliwa na Tencent. Lakini kwa kuwa jina la uhamishaji liliondolewa kwenye mfumo wa jozi, heshi hazilingani.

Utafiti wa Ziada

Wakati wa kukusanya sampuli, tuligundua sifa fulani. Kielelezo kilichoelezwa hivi punde kilionekana Julai 2018, na vingine kama hivyo vilionekana hivi majuzi katikati ya Januari hadi mapema Februari 2019. Kumbukumbu ya SFX ilitumika kama kisambazaji cha maambukizi, ikidondosha hati halali ya udanganyifu na faili hasidi ya OSX.

Ingawa OceanLotus hutumia mihuri ya muda bandia, tuligundua kuwa mihuri ya muda ya faili za SFX na OCX huwa sawa kila wakati (0x57B0C36A (08/14/2016 @ 7:15pm UTC) na 0x498BE80F (02/06/2009 @ 7:34am UTC) mtawalia). Labda hii inaonyesha kuwa waandishi wana aina fulani ya "mbuni" anayetumia violezo sawa na kubadilisha tabia fulani.

Kati ya hati ambazo tumesoma tangu mwanzo wa 2018, kuna majina anuwai yanayoonyesha nchi zinazovutia washambuliaji:

— Taarifa Mpya ya Mawasiliano ya Cambodia Media(Mpya).xls.exe
— 李建香 (个人简历).exe (hati bandia ya pdf ya CV)
- maoni, Rally nchini Marekani kuanzia Julai 28-29, 2018.exe

Tangu backdoor iligunduliwa {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll na uchapishaji wa uchanganuzi wake na watafiti kadhaa, tuliona mabadiliko fulani katika data ya usanidi wa programu hasidi.

Kwanza, waandishi walianza kuondoa majina kutoka kwa wasaidizi wa DLL (DNSprov.dll na matoleo mawili HttpProv.dll) Waendeshaji basi waliacha kufunga DLL ya tatu (toleo la pili HttpProv.dll), kuchagua kupachika moja tu.

Pili, sehemu nyingi za usanidi wa milango ya nyuma zilibadilishwa, na uwezekano wa kukwepa kutambuliwa kadiri IoC nyingi zinavyopatikana. Sehemu muhimu zilizorekebishwa na waandishi ni pamoja na:

  • Kitufe cha usajili cha AppX kimebadilishwa (tazama IoCs)
  • kamba ya usimbaji ya mutex ("def", "abc", "ghi")
  • nambari ya bandari

Hatimaye, matoleo yote mapya yaliyochanganuliwa yana C&Cs mpya zilizoorodheshwa katika sehemu ya IoCs.

Matokeo

OceanLotus inaendelea kukuza. Kikundi cha mtandao kinalenga katika kuboresha na kupanua zana na udanganyifu. Waandishi huficha mizigo mbovu kwa kutumia hati zinazovutia watu ambao mada yao ni muhimu kwa waathiriwa waliokusudiwa. Wanatengeneza mipango mipya na pia kutumia zana zinazopatikana kwa umma, kama vile Equation Editor exploit. Zaidi ya hayo, wanaboresha zana ili kupunguza idadi ya vizalia vilivyosalia kwenye mashine za waathiriwa, na hivyo kupunguza uwezekano wa kugunduliwa na programu ya kingavirusi.

Viashiria vya maelewano

Viashiria vya maelewano na vile vile sifa za MITER ATT&CK zinapatikana juu ya Welivesecurity и kwenye GitHub.

Chanzo: mapenzi.com

Kuongeza maoni