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
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.
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 (
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.
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.
Kielelezo 2. Maadili ya kuingia kwa FONT
Kielelezo 3.
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.
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.
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.
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.
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.
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.
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:
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:
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
Hati hutoa hatua ya mwisho. Sehemu hii ni ya nyuma, ambayo tayari tumeichambua {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 ({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:
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:
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.
Kielelezo 11. Msimbo uliofichwa
Baada ya kuchuja msimbo wa taka, safirisha DllRegisterServer
, kuitwa regsvr32.exe
, kama ifuatavyo:
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 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.
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].job
Ambapo [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.
Kielelezo 14. Muundo wa usanidi wa mlango wa nyuma (KaitaiStruct Visualizer)
Ingawa muundo unafanana, thamani nyingi za uwanja zimesasishwa kutoka kwa zile zilizoonyeshwa kwenye
Kipengele cha kwanza cha safu ya binary kina DLL (HttpProv.dll
MD5: 2559738D1BD4A999126F900C7357B759
),
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
Chanzo: mapenzi.com