Tamin'ny faran'ny volana Mey, nahita fanentanana izahay hizarana ny malware Remote Access Trojan (RAT) — programa ahafahan'ny mpanafika hifehy avy lavitra ny rafitra voan'ny aretina.
Ny vondrona nodinihinay dia niavaka tamin'ny hoe tsy nisafidy fianakaviana RAT manokana ho an'ny aretina. Trojans maromaro no tsikaritra tamin'ny fanafihana tao anatin'ny fampielezan-kevitra (izay hita be dia be). Miaraka amin'io endri-javatra io, ny vondrona dia nampahatsiahy anay ny mpanjaka voalavo - biby angano izay misy biby mpikiky miaraka amin'ny rambony mifamatotra.
Ny tany am-boalohany dia nalaina avy amin'ny monographie nataon'i K. N. Rossikov "Mice and mouse-like rodents, the most economical important" (1908)
Ho fanomezam-boninahitra an'ity zavaboary ity dia nomena anarana hoe RATKing ny vondrona izay heverinay. Ato amin'ity lahatsoratra ity, hiresaka amin'ny antsipiriany momba ny fomba nanaovan'ireo mpanafika ny fanafihana, inona ny fitaovana nampiasainy, ary koa hizara ny eritreritsika momba ny fanomezana an'ity fanentanana ity.
Fandrosoan'ny fanafihana
Ny fanafihana rehetra tamin'ity fanentanana ity dia natao araka ny algorithm manaraka:
Nahazo mailaka phishing misy rohy mankany amin'ny Google Drive ny mpampiasa.
Tamin'ny alalan'ny rohy, ilay niharam-boina dia nandefa script VBS ratsy izay nanondro tranomboky DLL hampiditra ny entana farany ao amin'ny rejisitra Windows ary nandefa PowerShell hanatanteraka izany.
Ny tranomboky DLL dia nanindrona ny karama farany - raha ny marina, iray amin'ireo RAT ampiasain'ny mpanafika - ao amin'ny fizotry ny rafitra ary nanoratra script VBS amin'ny autorun mba hahazoana toerana eo amin'ny milina voan'ny aretina.
Ny enta-mavesatra farany dia notanterahina tamin'ny fizotry ny rafitra ary nanome ny mpanafika ny fahafahana hifehy ny solosaina voan'ny aretina.
Schematically dia azo aseho toy izao:
Manaraka, hifantoka amin'ny dingana telo voalohany isika, satria liana amin'ny mekanika fandefasana malware isika. Tsy hamariparitra amin'ny antsipiriany ny fomba fiasan'ny malware mihitsy izahay. Misy be dia be izy ireo - na amidy amin'ny forum manokana, na zaraina ho tetikasa loharano misokatra - ary noho izany dia tsy miavaka amin'ny vondrona RATKing.
Famakafakana ny dingana fanafihana
Dingana 1. mailaka phishing
Ny fanafihana dia nanomboka tamin'ny nahazoan'ilay niharam-boina taratasy ratsy (nampiasa môdely samihafa miaraka amin'ny lahatsoratra ireo mpanafika; ohatra iray ny pikantsary etsy ambany). Ny hafatra dia misy rohy mankany amin'ny tahiry ara-dalàna drive.google.com, izay heverina fa nitarika pejy fampidinana antontan-taratasy PDF.
Ohatra amin'ny mailaka phishing
Na izany aza, raha ny marina, tsy antontan-taratasy PDF no napetaka mihitsy, fa script VBS.
Rehefa manindry ny rohy avy amin'ny mailaka eo amin'ny pikantsary etsy ambony ianao dia misy rakitra iray antsoina hoe Cargo Flight Details.vbs. Amin'ity tranga ity, tsy nanandrana nanafina ny rakitra ho antontan-taratasy ara-dalàna ireo mpanafika.
Nandritra izany fotoana izany, tao anatin'ity fanentanana ity, dia nahita script antsoina hoe Cargo Trip Detail.pdf.vbs. Mety efa handalo PDF ara-dalàna izy io satria manafina ny fanitarana rakitra amin'ny alàlan'ny default ny Windows. Na izany aza, amin'ity tranga ity, dia mbola mety hiteraka ahiahy ny kisary, izay mifanaraka amin'ny script VBS.
Amin'ity dingana ity dia afaka mahafantatra ny fitaka ilay niharam-boina: jereo kely fotsiny ireo rakitra alaina ao anatin'ny segondra vitsy. Na izany aza, amin'ny fanentanana phishing toy izany, matetika ny mpanafika dia miantehitra amin'ny mpampiasa iray tsy miraharaha na maimaika.
Dingana 2. Hetsika script VBS
Ny script VBS, izay azon'ny mpampiasa misokatra tsy nahy, dia nanoratra tranomboky DLL tao amin'ny rejisitra Windows. Nosamborina ny script: nosoratana ho bytes ny tsipika ao anatiny, nosarahan'ny tarehin-tsoratra tsy misy dikany.
Ohatra amin'ny script obfuscated
Tsotra ny algorithm deobfuscation: nesorina tao amin'ny tady voasakantsakana ny tarehintsoratra fahatelo rehetra, ary avy eo dia nesorina avy amin'ny base16 ho amin'ny tady tany am-boalohany ny valiny. Ohatra, avy amin'ny sanda 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (nasongadina tamin'ny pikantsary etsy ambony) ny tsipika vokatr'izany WScript.Shell.
Mba hanesorana ny tady dia nampiasa ny fiasa Python izahay:
def decode_str(data_enc):
return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))
Eto ambany, amin'ny andalana 9-10, dia asongadintsika ny sanda izay nahatonga ny rakitra DLL ny deobfuscation. Izy no natomboka tamin'ny dingana manaraka tamin'ny fampiasana PowerShell.
Tady miaraka amin'ny DLL voasarona
Ny asa tsirairay ao amin'ny script VBS dia novonoina rehefa nesorina ny tady.
Taorian'ny fampandehanana ny script dia nantsoina ny fiasa wscript.sleep - nampiasaina hanaovana famonoana nahemotra.
Avy eo, ny script dia niasa tamin'ny rejisitra Windows. Nampiasa ny teknolojia WMI izy tamin'izany. Noho ny fanampiany dia nisy fanalahidy tokana noforonina, ary ny vatan'ny rakitra azo tanterahana dia nosoratana tamin'ny paramètre azy. Ny rejisitra dia nidirana tamin'ny WMI tamin'ny fampiasana ity baiko manaraka ity:
Fidirana natao tao amin'ny rejisitra tamin'ny script VBS
Dingana 3. Fampandehanana ny tranomboky DLL
Tamin'ny dingana fahatelo, ny DLL ratsy dia nampiditra ny enta-mavesatra farany, nampiditra izany tao amin'ny fizotry ny rafitra, ary niantoka fa ny script VBS dia manomboka mandeha ho azy rehefa niditra ny mpampiasa.
Mihazakazaka amin'ny PowerShell
Ny DLL dia novonoina tamin'ny alàlan'ny baiko manaraka ao amin'ny PowerShell:
nampiditra ny mody .Net ho ao anatin'ny fitadidiana dingana powershell.exe mampiasa ny asa [System.Threading.Thread]::GetDomain().Load()(famaritana amin'ny antsipiriany momba ny fiasa Load(). azo jerena ao amin'ny tranokala Microsoft);
nanao ny asa GUyyvmzVhebFCw]::EhwwK() - nanomboka tamin'izany ny famonoana ny tranomboky DLL - miaraka amin'ny paramètre vbsScriptPath, xorKey, vbsScriptName. fikirana xorKey nitahiry ny fanalahidin'ny decrypting ny entana farany, sy ny masontsivana vbsScriptPath и vbsScriptName dia nafindra mba hisoratra anarana script VBS amin'ny autorun.
Famaritana ny tranomboky DLL
Amin'ny endrika decompiled, ny bootloader dia toy izao:
Loader amin'ny endrika decompiled (ny asa izay nanombohan'ny fampandehanana ny tranomboky DLL dia tsipiho mena)
Ny bootloader dia arovan'ny .Net Reactor protector. Ny fampiasa de4dot dia manao asa tsara amin'ny fanesorana ity mpiaro ity.
Ity loader ity:
nampiditra ny karama tao amin'ny fizotry ny rafitra (amin'ity ohatra ity dia svchost.exe);
Nanampy script VBS ho an'ny autorun aho.
Tsindrona entana
Andeha hojerentsika ny asa nantsoin'ny script PowerShell.
Fampiasa antsoina amin'ny script PowerShell
Ity asa ity dia nanao ireto hetsika manaraka ireto:
decrypted angon-drakitra roa (array и array2 ao amin'ny pikantsary). Izy ireo tamin'ny voalohany dia nopotehina tamin'ny fampiasana gzip ary nofonosina tamin'ny algorithm XOR miaraka amin'ny fanalahidy xorKey;
nandika ny angona ho any amin'ny faritra fitadidiana nomena. Data avy amin'ny array - amin'ny faritra fitadidiana tondroina intPtr (payload pointer ao amin'ny pikantsary); data avy amin'ny array2 - amin'ny faritra fitadidiana tondroina intPtr2 (shellcode pointer ao amin'ny pikantsary);
antsoina hoe ny asa CallWindowProcA(описание Ity fiasa ity dia hita ao amin'ny tranokala Microsoft) miaraka amin'ireto mari-pamantarana manaraka ireto (ny anaran'ireo masontsivana dia voatanisa etsy ambany, ao amin'ny pikantsary dia mitovy filaharana izy ireo, fa miaraka amin'ny soatoavina miasa):
Mba hahatakarana ny fomba nanaovana ny tsindrona, dia nofafanay ny angon-drakitra array и array2. Mba hanaovana izany dia nampiasa ity Python ity izahay:
def decrypt(data, key):
return gzip.decompress(
bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
Vokatr'izany dia fantatray fa:
array dia rakitra PE - ity no entana farany;
array2 dia ny shellcode ilaina hanatanterahana ny tsindrona.
Shellcode avy amin'ny array array2 nandalo ho sandan'ny asa lpPrevWndFunc amin'ny asa iray CallWindowProcA. lpPrevWndFunc - ny fiasan'ny callback, toa izao ny prototype azy:
Ka rehefa mihazakazaka ny asa CallWindowProcA miaraka amin'ny paramètre hWnd, Msg, wParam, lParam shellcode avy amin'ny array dia tanterahina array2 miaraka amin'ny hevitra hWnd и Msg. hWnd dia tondro mankany amin'ny tady misy ny lalana mankany amin'ny rakitra azo tanterahana svchost.exeary Msg - tondro mankany amin'ny entana farany.
Ny shellcode dia nahazo adiresy fiasana avy amin'ny kernel32.dll и ntdll32.dll mifototra amin'ny hash soatoavina avy amin'ny anarany ary nanindrona ny karama farany ao amin'ny fahatsiarovana ny dingana svchost.exemampiasa ny teknika Process Hollowing (afaka mamaky bebe kokoa momba izany ianao ato amin'ity lahatsoratra). Rehefa manindrona ny shellcode:
namorona dingana svchost.exe amin'ny fanjakana mihantona mampiasa ny fiasa CreateProcessW;
dia nafenina tao amin'ny habaka adiresin'ilay dingana ny seho an'ilay fizarana svchost.exe mampiasa ny asa NtUnmapViewOfSection. Noho izany, ny programa dia nanafaka ny fahatsiarovana ny dingana tany am-boalohany svchost.exemba hanokana fahatsiarovana ho an'ny enta-mavesatra amin'ity adiresy ity;
fahatsiarovana natokana ho an'ny enta-mavesatra ao amin'ny habaka adiresin'ny dingana svchost.exe mampiasa ny asa VirtualAllocEx;
Manomboka ny dingana tsindrona
nanoratra ny votoatin'ny entana ho any amin'ny habaka adiresin'ny dingana svchost.exe mampiasa ny asa WriteProcessMemory (toy ny amin'ny pikantsary etsy ambany);
nanohy ny dingana svchost.exe mampiasa ny asa ResumeThread.
Famitana ny dingana tsindrona
Malware azo alaina
Vokatry ny hetsika voalaza dia napetraka tao amin'ny rafitra voan'ny aretina ny iray amin'ireo malware kilasy RAT maromaro. Ny tabilao etsy ambany dia mitanisa ny malware ampiasaina amin'ny fanafihana, izay azontsika ambara am-pahatokiana amin'ny vondrona mpanafika iray, satria ny santionany dia niditra tao amin'ny lohamilina baiko sy fanaraha-maso mitovy.
Mariho fa ny mpanafika dia nampiasa fitaovana hafa avy amin'ny NYAN-x-CAT ho iray amin'ireo entana - LimeRAT.
Ny adiresin'ny mpizara C&C dia manondro endri-javatra miavaka iray hafa amin'ny RATKing: aleon'ny vondrona ny serivisy DNS mavitrika (jereo ny lisitry ny C&C ao amin'ny latabatra IoC).
CIO
Ny tabilao etsy ambany dia manome lisitra feno amin'ny script VBS izay azo inoana fa azo lazaina amin'ny fanentanana voalaza. Mitovy avokoa ireo script rehetra ireo ary mitovy ny filaharan'ny hetsika. Izy rehetra dia manindrona malware kilasy RAT amin'ny dingana Windows azo itokisana. Izy rehetra dia manana adiresy C&C voasoratra amin'ny serivisy Dynamic DNS.
Na izany aza, tsy afaka milaza izahay fa ireo script rehetra ireo dia nozarain'ny mpanafika iray ihany, afa-tsy ireo santionany manana adiresy C&C mitovy (ohatra, kimjoy007.dyndns.org).