I ka pau ʻana o Mei, ua ʻike mākou i kahi hoʻolaha e puʻunaue i ka Remote Access Trojan (RAT) malware—nā papahana e hiki ai i nā mea hoʻouka ke hoʻomalu mamao i kahi ʻōnaehana maʻi.
Ua ʻokoʻa ka hui a mākou i nānā ai ma ka ʻoiaʻiʻo ʻaʻole ia i koho i kahi ʻohana RAT kikoʻī no ka maʻi. Ua ʻike ʻia kekahi mau Trojans i ka hoʻouka ʻana ma ke ʻano he ʻāpana o ka hoʻolaha (ua loaʻa nui nā mea āpau). Me kēia hiʻohiʻona, ua hoʻomanaʻo mai ka hui iā mākou i ke aliʻi ʻiole - he holoholona moʻolelo i loaʻa i nā rodents me nā huelo hui ʻia.
Lawe ʻia ke kumu mai ka monograph e K. N. Rossikov "ʻO nā ʻiole a me nā ʻiole e like me ka ʻiole, ka mea nui loa i ka waiwai" (1908)
No ka hanohano o kēia mea, ua kapa mākou i ka hui a mākou e noʻonoʻo nei i ka RATKing. Ma kēia pou, e hele mākou i nā kikoʻī e pili ana i ka hoʻokō ʻana o ka poʻe hoʻouka i ka hoʻouka ʻana, he aha nā mea hana a lākou i hoʻohana ai, a kaʻana like pū i ko mākou mau manaʻo e pili ana i ka hoʻoili ʻana no kēia hoʻolaha.
Ka holomua o ka hoouka
ʻO nā hoʻouka ʻana a pau i kēia hoʻolaha i hana ʻia e like me kēia algorithm:
Ua loaʻa i ka mea hoʻohana ka leka uila phishing me kahi loulou i Google Drive.
I ka hoʻohana ʻana i ka loulou, ua hoʻoiho ka mea i hoʻopaʻa ʻia i kahi palapala VBS maikaʻi ʻole i kuhikuhi i kahi waihona DLL e hoʻouka i ka uku hope loa i loko o ka papa inoa Windows a hoʻokuʻu iā PowerShell e hoʻokō.
Ua hoʻokomo ka waihona DLL i ka uku hope loa - ʻoiaʻiʻo, kekahi o nā RAT i hoʻohana ʻia e nā mea hoʻouka - i loko o ke kaʻina ʻōnaehana a hoʻopaʻa inoa i kahi palapala VBS ma autorun i mea e loaʻa ai kahi paʻa i ka mīkini maʻi.
Ua hoʻokō ʻia ka uku hope loa ma kahi kaʻina hana a hāʻawi i ka mea hoʻouka i ka mana e hoʻokele i ka kamepiula i hoʻopilikia ʻia.
Schematically hiki ke hōʻike ʻia e like me kēia:
Ma hope aʻe, e nānā mākou i nā pae mua ʻekolu, no ka mea makemake mākou i ka mīkini hoʻopuka malware. ʻAʻole mākou e wehewehe kikoʻī i ke ʻano o ka hana o ka malware ponoʻī. Loaʻa ʻia lākou - kūʻai ʻia paha ma nā ʻaha kūkā kūikawā, a i ʻole i puʻunaue ʻia ma ke ʻano he papahana open source - a no laila ʻaʻole kūʻokoʻa i ka hui RATKing.
Ka nānā 'ana i nā pae ho'ouka
Ka Papa 1. Ka leka uila phishing
Ua hoʻomaka ka hoʻouka ʻana me ka loaʻa ʻana o kahi leka maikaʻi ʻole (ua hoʻohana ka poʻe hoʻouka i nā mamana like ʻole me nā kikokikona; hōʻike ka kiʻi kiʻi ma lalo i hoʻokahi hiʻohiʻona). Aia ka memo i kahi loulou i kahi waihona pono drive.google.com, i manaʻo ʻia ua alakaʻi i kahi palapala hoʻoiho palapala PDF.
Laʻana leka uila phishing
Eia naʻe, ʻoiaʻiʻo, ʻaʻole ia he palapala PDF i hoʻouka ʻia, akā he palapala VBS.
Ke kaomi nei ʻoe i ka loulou mai ka leka uila ma ka kiʻi ma luna, kahi faila i kapa ʻia Cargo Flight Details.vbs. I kēia hihia, ʻaʻole i hoʻāʻo nā mea hoʻouka e hoʻokaʻawale i ka faila ma ke ʻano he palapala kūpono.
Ma ka manawa like, ma ke ʻano o kēia hoʻolaha, ua ʻike mākou i kahi palapala i kapa ʻia Cargo Trip Detail.pdf.vbs. Hiki iā ia ke hele i kahi PDF kūpono no ka mea huna ʻo Windows i nā hoʻonui faila ma ke ʻano maʻamau. ʻOiaʻiʻo, i kēia hihia, hiki ke hoʻāla ʻia ka kānalua e kāna ikona, i pili i ka palapala VBS.
I kēia manawa, hiki i ka mea i hōʻeha ke hoʻomaopopo i ka hoʻopunipuni: e nānā pono i nā faila i hoʻoiho ʻia no kekona. Eia nō naʻe, i loko o ia mau hoʻolaha phishing, hilinaʻi pinepine ka poʻe hoʻouka i kahi mea hoʻohana ʻike ʻole a wikiwiki paha.
Ka Papa 2. Hana palapala VBS
ʻO ka palapala VBS, hiki i ka mea hoʻohana ke wehe me ka ʻike ʻole, ua hoʻopaʻa inoa i kahi waihona DLL ma ka papa inoa Windows. Ua uhi ʻia ka palapala: ua kākau ʻia nā laina ma ke ʻano he byte i hoʻokaʻawale ʻia e kahi ʻano ʻano ʻole.
Ka laʻana o ka palapala hōʻino
He mea maʻalahi ka algorithm deobfuscation: ua hoʻokaʻawale ʻia kēlā me kēia kolu o nā ʻano mai ke kaula obfuscated, a ma hope iho ua unuhi ʻia ka hopena mai base16 i ke kaula kumu. No ka laʻana, mai ka waiwai 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (i hōʻike ʻia ma ke kiʻi kiʻi ma luna) ʻo ka laina hopena WScript.Shell.
No ka deobfuscate i nā kaula, ua hoʻohana mākou i ka hana Python:
def decode_str(data_enc):
return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))
Ma lalo, ma nā laina 9-10, hōʻike mākou i ka waiwai i loaʻa i ka deobfuscation kahi faila DLL. ʻO ia ka mea i hoʻokuʻu ʻia i ka pae aʻe me ka hoʻohana ʻana iā PowerShell.
ʻO ke kaula me ka DLL i hoʻopaʻa ʻia
Ua hoʻokō ʻia kēlā me kēia hana ma ka palapala VBS i ka wā i hoʻopau ʻia nā kaula.
Ma hope o ka holo ʻana i ka palapala, ua kāhea ʻia ka hana wscript.sleep - ua hoʻohana ʻia e hana i ka hoʻokō hoʻopanee.
A laila, ua hana ka palapala me ka Windows registry. Ua hoʻohana ʻo ia i ka ʻenehana WMI no kēia. Me kāna kōkua, ua hana ʻia kahi kī kū hoʻokahi, a ua kākau ʻia ke kino o ka faila i hiki ke hoʻokō ʻia i kāna ʻāpana. Ua loaʻa ka papa inoa ma o WMI me ka hoʻohana ʻana i kēia kauoha:
ʻO kahi hoʻokomo i hana ʻia ma ka papa inoa e kahi palapala VBS
Ka Papa 3. Ka hana o ka waihona DLL
I ke kolu o ka pae, ua hoʻouka ka DLL hewa i ka uku hope, hoʻokomo iā ia i loko o ke kaʻina hana, a hōʻoia i ka hoʻomaka ʻana o ka palapala VBS i ka wā i komo ai ka mea hoʻohana.
Holo ma o PowerShell
Ua hoʻokō ʻia ka DLL me ka hoʻohana ʻana i kēia kauoha ma PowerShell:
loaʻa ka ʻikepili waiwai hoʻopaʻa inoa me ka inoa rnd_value_name - he faila DLL kēia ʻikepili i kākau ʻia ma ka paepae .Net;
hoʻouka i ka .Net module i loaʻa i ka hoʻomanaʻo kaʻina powershell.exe ka hoʻohana ʻana i ka hana [System.Threading.Thread]::GetDomain().Load()(ka wehewehe kikoʻī o ka hana Load (). loaʻa ma ka pūnaewele Microsoft);
hana i ka hana GUyyvmzVhebFCw]::EhwwK() - ua hoʻomaka ka hoʻokō ʻana o ka waihona DLL me ia - me nā ʻāpana vbsScriptPath, xorKey, vbsScriptName... Parameter xorKey mālama i ke kī no ka wehe ʻana i ka uku hope, a me nā ʻāpana vbsScriptPath и vbsScriptName ua hoʻololi ʻia i mea e hoʻopaʻa inoa ai i kahi palapala VBS ma autorun.
ʻO ka wehewehe ʻana i ka waihona DLL
Ma ke ʻano decompiled, ua like ka bootloader penei:
Loader ma ke ʻano decompiled (ʻo ka hana i hoʻomaka ai ka hoʻokō ʻana o ka waihona DLL i kahakaha ʻia i ka ʻulaʻula)
Mālama ʻia ka bootloader e ka .Net Reactor protector. He hana maikaʻi loa ka pono de4dot no ka wehe ʻana i kēia mea pale.
ʻO kēia mea hoʻoili:
hoʻokomo i ka uku i loko o ke kaʻina hana (ma kēia hiʻohiʻona svchost.exe);
Ua hoʻohui au i kahi palapala VBS i autorun.
Uku uku
E nānā kākou i ka hana i kapa ʻia e ka palapala PowerShell.
Hana ʻia e ka palapala PowerShell
Ua hana kēia hana i kēia mau hana:
decrypted ʻelua pūʻulu ʻikepili (array и array2 ma ke kiʻi paʻi kiʻi). Ua hoʻopili mua ʻia lākou me ka hoʻohana ʻana i ka gzip a hoʻopili ʻia me ka algorithm XOR me ke kī xorKey;
kope ʻikepili i nā wahi hoʻomanaʻo i hoʻokaʻawale ʻia. ʻIkepili mai array - i ka wahi hoʻomanaʻo i kuhikuhi ʻia intPtr (payload pointer i ka screenshot); ʻikepili mai array2 - i ka wahi hoʻomanaʻo i kuhikuhi ʻia intPtr2 (shellcode pointer i ka screenshot);
kapaia ka hana CallWindowProcA(ka wehewehe Loaʻa kēia hana ma ka pūnaewele Microsoft) me nā ʻāpana aʻe (ʻo nā inoa o nā ʻāpana i helu ʻia ma lalo nei, ma ka kiʻi kiʻi i loko o ke ʻano like, akā me nā waiwai hana):
lpPrevWndFunc - kuhikuhi i ka ʻikepili mai array2;
hWnd - kuhikuhi i kahi kaula i loaʻa ke ala i ka faila hiki ke hoʻokō svchost.exe;
Msg - kuhikuhi i ka ʻikepili mai array;
wParam, lParam - nā ʻāpana memo (i kēia hihia, ʻaʻole i hoʻohana ʻia kēia mau ʻāpana a loaʻa nā waiwai o 0);
hana i kahi faila %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urlkahi <name> - ʻo ia nā huaʻōlelo 4 mua o ka ʻāpana vbsScriptName (i ka screenshot, hoʻomaka ka ʻāpana code me kēia hana me ke kauoha File.Copy). Ma kēia ala, ua hoʻohui ka malware i kahi faila URL i ka papa inoa o nā faila autorun i ka wā i komo ai ka mea hoʻohana a pili i ka kamepiula i hoʻopili ʻia. Aia i loko o ka waihona URL kekahi loulou i ka palapala:
No ka hoʻomaopopo ʻana i ke ʻano o ka hoʻokō ʻia ʻana o ka injection, ua hoʻokaʻawale mākou i nā ʻikepili data array и array2. No ka hana ʻana i kēia, ua hoʻohana mākou i ka hana Python penei:
def decrypt(data, key):
return gzip.decompress(
bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
ʻO ka hopena, ua ʻike mākou:
array he faila PE - ʻo ia ka uku hope loa;
array2 ʻo ia ka shellcode i koi ʻia no ka hoʻokō ʻana i ka injection.
Shellcode mai kahi laha array2 i hala ma ke ʻano he waiwai hana lpPrevWndFunc i loko o kahi hana CallWindowProcA. lpPrevWndFunc - ka hana callback, ua like kona prototype penei:
No laila ke holo ʻoe i ka hana CallWindowProcA me nā palena hWnd, Msg, wParam, lParam hoʻokō ʻia ka shellcode mai ka array array2 me na hoopaapaa hWnd и Msg. hWnd He kuhikuhi i kahi kaula i loaʻa ke ala i ka faila hiki ke hoʻokō svchost.exea me ka Msg - kuhikuhi i ka uku hope loa.
Ua loaʻa i ka shellcode nā helu hana mai kernel32.dll и ntdll32.dll e pili ana i nā waiwai hash mai ko lākou mau inoa a hoʻokomo i ka uku hope loa i loko o ke kaʻina hana svchost.exeme ka hoʻohana ʻana i ka ʻenehana Hollowing Process (hiki iā ʻoe ke heluhelu hou aku e pili ana i kēia 'ōlelo). Ke hoʻokomo i ka shellcode:
hana i kaʻina hana svchost.exe ma kahi kūlana hoʻomaha me ka hoʻohana ʻana i ka hana CreateProcessW;
a laila hūnā i ka hōʻike ʻana o ka ʻāpana ma ka wahi helu wahi o ke kaʻina hana svchost.exe hoʻohana i ka hana NtUnmapViewOfSection. No laila, ua hoʻokuʻu ka papahana i ka hoʻomanaʻo o ka hana kumu svchost.exea laila e hoʻokaʻawale i ka hoʻomanaʻo no ka uku uku ma kēia helu wahi;
i hoʻokaʻawale ʻia ka hoʻomanaʻo no ka uku uku ma ke kaʻina wahi helu wahi svchost.exe hoʻohana i ka hana VirtualAllocEx;
Hoʻomaka i ke kaʻina hana injection
kākau i nā mea o ka uku uku i loko o ke kaʻina wahi helu wahi svchost.exe hoʻohana i ka hana WriteProcessMemory (e like me ka screenshot ma lalo);
hoʻomaka hou i ka hana svchost.exe hoʻohana i ka hana ResumeThread.
Hoʻopau i ke kaʻina hana injection
Hiki ke hoʻoiho ʻia ka polokalamu kiloʻino
Ma muli o nā hana i wehewehe ʻia, ua hoʻokomo ʻia kekahi o nā polokalamu polokalamu RAT-class ma ka ʻōnaehana maʻi. ʻO ka papa ma lalo nei ka papa inoa o ka malware i hoʻohana ʻia i ka hoʻouka ʻana, hiki iā mākou ke hilinaʻi me ka hilinaʻi i hoʻokahi pūʻulu o nā mea hoʻouka, ʻoiai ua komo nā laʻana i ke kauoha a me ka server mana.
ʻO nā laʻana o nā polokalamu kiloʻino i puʻunaue ʻia me ke kikowaena mana hoʻokahi
ʻElua mau mea e ʻike ʻia ma ʻaneʻi.
ʻO ka mea mua, ʻo ka ʻoiaʻiʻo ua hoʻohana nā mea hoʻouka i kekahi mau ʻohana RAT i ka manawa hoʻokahi. ʻAʻole maʻamau kēia ʻano no nā hui cyber kaulana, e hoʻohana pinepine ana i nā pūʻulu like o nā mea hana i kamaʻāina iā lākou.
ʻO ka lua, ua hoʻohana ʻo RATKing i ka malware i kūʻai ʻia ma nā ʻaha kūkā kūikawā no ke kumu kūʻai haʻahaʻa, a i ʻole he papahana open source.
Hāʻawi ʻia kahi papa inoa piha o nā polokalamu malware i hoʻohana ʻia i ka hoʻolaha—me hoʻokahi hoʻopaʻa koʻikoʻi—ma ka hope o ka ʻatikala.
E pili ana i ka hui
ʻAʻole hiki iā mākou ke hāʻawi i ka hoʻolaha ʻino i wehewehe ʻia i nā mea hoʻouka kaua i ʻike ʻia. I kēia manawa, ke manaʻoʻiʻo nei mākou ua hana ʻia kēia mau hoʻouka ʻana e kahi hui hou. E like me kā mākou i kākau ai i ka hoʻomaka, ua kapa mākou iā RATKing.
No ka hana ʻana i ka palapala VBS, ua hoʻohana paha ka hui i kahi mea hana e like me ka pono VBS-Crypter mai ka mea hoʻomohala NYAN-x-CAT. Hōʻike ʻia kēia e ka like o ka palapala i hana ʻia e kēia papahana me ka palapala a nā mea hoʻouka. ʻO ke kikoʻī, ʻo lāua ʻelua:
hana i ka hoʻokō lohi me ka hoʻohana ʻana i ka hana Sleep;
hoʻohana i ka WMI;
hoʻopaʻa inoa i ke kino o ka faile hiki ke hoʻokō ʻia ma ke ʻano he kī hoʻopaʻa inoa;
e hoʻokō i kēia faila me ka hoʻohana ʻana iā PowerShell ma kāna wahi kikoʻī.
No ka akaka, e hoʻohālikelike i ke kauoha PowerShell e holo i kahi faila mai ke kākau inoa, i hoʻohana ʻia e kahi palapala i hana ʻia me ka VBS-Crypter:
E hoʻomaopopo i ka hoʻohana ʻana o nā mea hoʻouka i kahi pono ʻē aʻe mai NYAN-x-CAT ma ke ʻano he uku uku - LimeRAT.
Hōʻike nā helu wahi o nā kikowaena C&C i kahi hiʻohiʻona ʻē aʻe o RATKing: makemake ka hui i nā lawelawe DNS ikaika (e ʻike i ka papa inoa o nā C&C ma ka papa IoC).
IoC
Hāʻawi ka papa ma lalo i kahi papa inoa piha o nā palapala VBS i hiki ke hoʻopili ʻia i ka hoʻolaha i wehewehe ʻia. Ua like kēia mau palapala a pau e like me ka hana like. Hoʻokomo lākou a pau i ka malware papa RAT i kahi kaʻina Windows hilinaʻi. Loaʻa iā lākou nā helu C&C a pau me ka hoʻohana ʻana i nā lawelawe Dynamic DNS.
Eia naʻe, ʻaʻole hiki iā mākou ke ʻōlelo ua puʻunaue ʻia kēia mau palapala a pau e nā mea hoʻouka like, koe naʻe nā laʻana me nā helu C&C like (e laʻa, kimjoy007.dyndns.org).