Kamakailan lamang ay naobserbahan natin ang maraming malware na "stealer" tulad ng Remcos, DcRAT, AgentTesla, VIPKeyLogger , atbp. na ipinamamahagi sa pamamagitan ng isang steganographic campaign. Sa pagsubaybay sa mga ugat, natuklasan na ang kampanya ay matagal nang umiiral ngunit hindi pa aktibo. Ang nagpapa-interesante sa kampanya ay ang paraan ng pag-oorganisa ng pag-atake.
Sa blog na ito, tatalakayin natin ang pamamahagi ng Remcos at AsyncRAT sa pamamagitan ng kampanyang naobserbahan natin.
Impeksiyon- Kadena:
Ang infection-chain ay nagsisimula sa isang phishing mail na naglalaman ng isang excel file na nagsasamantala sa isang kahinaan sa excel at naglalabas ng http request para mag-download ng .hta file. Ang .hta file na binubuo ng .vbs code ay nagsusulat ng batch file na kumokonekta sa isang paste URL at nagda-download ng isa pang obfuscated na .vbs script. Ang .vbs script ay nagda-download ng .jpg file na naglalaman ng padded base64 encoded second stage payload (malicious loader) file, na dine-decode, at isang function na VAI ang ginagamit sa pamamagitan ng script. Ang loader file na nakakakuha ng URL at targeted process name bilang argument, ay nagda-download ng isang reversed base64 encoded file na kapag na-decode ay nagbibigay sa atin ng pangwakas na payload.

Phishing Email: Ang unang punto ng pag-atake ay isang phishing email, na naglalaman ng isang malisyosong dokumento ng Excel na nagkukunwaring isang tunay na file na nanlilinlang sa mga user na buksan ang attachment na naglalaman ng malisyosong code.

Excel na dokumento na naglalaman ng malisyosong ole package:
Ang file ay isang pagsasamantala na gumagamit ng kahinaan CVE-2017-0199. Naglalaman ito ng naka-embed na OLE2 na naka-embed na link object na nagbibigay ng kahilingan sa http kapag binuksan namin ang file.

.HTA Script
Ang .hta file ay naglalaman ng vbs code (Fig.4) na nagsusulat ng batch file na kumokonekta sa isang i-paste na URL at nagda-download ng vbs file na isang script na may malaking tipak ng code ng basura (Fig.5).

Sinusulat ng script ang VBS Script2:

Sa pag-alis ng junk code at pagpapasimple, makakakuha tayo ng base-64 encoded script na patatakbuhin gamit ang PowerShell (Larawan 6).


Tandaan, dito habang ginagamit ang paraan ng VAI, ang url ay ipinapasa sa unang argumento na nakaimbak sa $deject variable at ang ikalimang argumento ay mahalaga din na tatalakayin natin mamaya habang tinatalakay ang ating pangalawang kargamento na injector dll.
Sa katulad na paraan, natagpuan namin ang AsyncRAT na ipinamamahagi, karamihan sa unang chain ay magiging pareho, ngunit hindi namin ito matunton pabalik. Sa kaso ng AsyncRAT, ang vbs script ay nagkukunwaring prnmngr.vbs na nililinlang ang user na isipin ito bilang isang tunay na script na nagdaragdag, nag-aalis, at naglilista ng mga printer o koneksyon ng printer, bilang karagdagan sa pagtatakda at pagpapakita ng default na printer. Ngunit mayroong isang maliit na bahagi ng malisyosong code na ipinasok sa pagitan upang maiwasan ang hinala.

Nasa ibaba ang chunk ng code, na nag-download ng JPG na imahe mula sa hard coded URL [hxxps://watchonlinehotvideos[.]top/omfg[.]jpg] katulad ng ipinaliwanag sa nakaraang kaso


Tulad ng ginawa namin sa isang tala para sa nakaraang script, dito ang unang argument na naipasa ay ang aming reverse URL sa variable na $restoredtext at mukhang isang walang kwentang halaga/ random na string na ipinapasa sa iba pang mga argumento at muli ay isasaisip namin ang ikalimang argumento.
Sa parehong mga kaso, ang sample ay gumagamit ng steganography, ang jpg file (Fig11.) na na-download ay nagtatago ng sarili bilang isang hindi nakakapinsalang larawan na naglalaman ng base64 na naka-encode na malware. Tulad ng makikita mo sa Fig7., sinusuri nito ang marker < > at < > upang makuha ang buong malisyosong file at iyon ay i-decode.

Ang parehong mga file ay VB.NET dll file na may panloob na filename bilang "Microsoft.Win32.TaskScheduler.dll" marahil upang linlangin ang mga gumagamit sa pag-iisip na ito bilang isang Microsoft dll.

Parehong DLLs ay obfuscated ngunit sa iba't ibang mga antas. Ang isa na nakuha namin mula sa kampanya ng Remcos ay may ilang karaniwang .NET function na pangalan ng obfuscated ngunit sa ibang kaso ang ilan sa mga ito ay tuwid. Ngunit ang code ng DLL ay pareho, ginagawa ang parehong bagay.
Ang DLL code ay na-obfuscated ngunit makikita natin ang mga argumento na ipinapasa dito. Ginamit ng Threat actor ang VAI method na may 15 argumento. Batay sa naipasa na argumento ang pamamaraan ay magkakaroon ng mga kakayahan tulad ng pag-load ng isa pang malware na maipapatupad sa pamamagitan ng proseso ng hollowing, paglikha ng pagtitiyaga, atbp.

Ang unang argumento na ipinasa sa script (Fig7. /Fig10.) habang ginagamit ang pamamaraan ay ang aming URL na nakaimbak sa variable na $deject/$restoredtext ay ipinasa dito bilang QBXtX.
Ang value na persistencia ay null/gibberish value at ang ibang value, na ipinasa ay nade-decode sa 1, ito ay ipinapasa sa Delegate11.smethod_0 at ito ay nagbabalik ng boolean value. Kaya, ang huling halaga ay magiging 0 at ang kundisyon ay mabibigo. Samakatuwid, walang aktibidad na mananatiling paulit-ulit.

Ang binaliktad na URL, na ipinasa sa argumentong QBXtX ay naka-imbak sa “text5” ay binaligtad at sa tulong ng web client, dina-download nito ang data sa string na “text6” na base64 na naka-encode na data sa reverse format (Fig14). Ito ang aming panghuling payload na kasama ang path na "C:\Windows\SysWOW64" (na-decode mula sa Class219.smethod(10577)) ng "caspol.exe" / "msbuild.exe" (fifth arguments) ay ipinasa bilang argumento sa function na "Tools.Ande". Ginagawa ng function na ito ang proseso ng hollowing sa target na proseso na ibinibigay bilang ikalimang argumento (Fig15).

Gaya ng ipinapakita sa itaas, isang bagong proseso ang ginawa gamit ang CreateProcess API sa suspendido na estado. Ang bagong likhang proseso ay hindi na-map gamit ang NtUnmapViewOfSection at ang memorya ay inilalaan gamit ang VirtualAllocEx, kung saan ang malisyosong code ay ini-inject. Sa paggamit ng SetThreadContext idinaragdag nito ang entry point sa injected code at sa wakas, ang proseso ay ipinagpatuloy sa ResumeThread.
Sa aming kaso, ang huling payload na nakuha namin ay isang Remcos at AsyncRAT Sample (Fig16).

Huling Payload: Remcos
Ang Remcos ay palaging nasa mundo ng malware mula nang magsimula ito noong 2016. Mula sa bersyon na kasing aga ng 1.0 hanggang sa pinakabago, ang nagpapanatili sa Remcos na may kaugnayan pa rin ay sa paghawak sa pangunahing kakayahan nito sa pag-utos at pagkontrol. Simula bilang isang closed-source na tool na na-market bilang remote control at surveillance software, malayo na ang narating ng Remcos.
Ang Remcos ay kadalasang mayroong setting block na may batch ng mga configuration na naka-encrypt at naka-save sa Resource section na pinangalanang "SETTINGS,". Nade-decrypt ito sa simula at sinisimulan ang Remcos gamit ang setting block.


Kumokonekta ang Remcos sa C2 para sa komunikasyon ng C&C at higit pang naghihintay sa mga utos na ipinadala ng umaatake. Ang mga pangunahing detalye mula sa data ng pagsasaayos na nakuha ay ang mga sumusunod:
C2: interestedthingsforkissinggirlwithloves[.]duckdns[.]org
Pangalan ng file: Remcos.exe
Pangalan ng botnet: zyno007
Nilikha ang Mutex: Rmc-IB3RDF
Dagdag pa, sa ilang mga kaso ay nakikita ang Remcos na nagde-deploy ng malware tulad din ng AgentTesla.
Panghuling Payload: AsyncRAT
Ang AsyncRAT ay isang remote access Trojan (RAT), na nakasulat sa C# na nag-aalok ng karaniwang RAT at mga tampok na pagnanakaw ng impormasyon, kabilang ang mga kakayahan ng pag-log in ng mga keystroke, pagpapatupad/pag-iniksyon ng karagdagang payload, command-and-control, atbp.
Ang backdoor ay may mga kakayahan batay sa naka-embed na configuration. Tulad ng makikita mo sa figure sa ibaba (Fig19.), ang pagpapatupad ay nagsisimula sa isang De_lay function na tumutukoy sa tagal ng pagtulog, kadalasang ginagawa upang maiwasan ang mga sandbox.

Ang InitializeSettings() function dito ay ina-access ang lahat ng hardcoded configuration na naka-encrypt ng AES.

Ang verifyhash() function (Fig20.) sa mga huling pagsusuri kung ang mga configuration ay wasto o hindi gamit ang server certificate at server signature. Ang mga pangunahing detalye mula sa data ng pagsasaayos na nakuha ay ang mga sumusunod:
Mga daungan:7878
Mga host:148[.]113[.]214[.]176
Bersyon: 1.0.7
MTX: asasasas2242dqwe
Pastebin: null
Pangkat:Diama
Ang halaga ng Pastebin ay ginagamit ng "WebClient.DownloadString" API (Fig21.) na maaaring mag-download ng mga karagdagang mapagkukunan at iba pang mga payload mula sa Pastebin o iba pang mga domain. Sa aming kaso, ito ay null, kaya pumipili ito ng mga host at port mula sa configuration at gumagamit ng socket connection upang makipag-ugnayan sa C2.

IOCS:
| Remcos IOC's |
| 9d66405aebff0080cc5d28a1684d501fa7e183dc8b6340475fc06845509cb466 |
| 42813b301da721c34ca1aca29ce2e4c7d71ae580b519a3332a4ba71870b6a58e |
| f67c6341bfe37f5b05c00a0dda738f472fdabd6ea94ca8dc761f57f11ce12036 |
| aed291c023c3514fb97b4e08e291e03f52de91a2a8d311491b4ab8299db0aa0f |
| faed55ed0102b1b2e3d853e8633abecbb9cec6a5f41c630097d8eaeefafba060 |
| C2: interestedthingsforkissinggirlwithloves[.]duckdns[.]org |
| C2: freebirdkissingonmylipswithnicefeelings[.]duckdns[.]org |
| AsyncRAT |
| b8fc29c02005c84131f34de083c2e81cdf615ff405877f9e73400bf35513c053 |
| 2d4ab87f9ea104075d372f4c211b1fb89adec60208d370b8fb2d748e1a73186c |
| b2e8f720740bbd46f6ae3f450f265ace1044fe232141fbd84f269eafeb290812 |
| a582e7e5b3ac37895e7cf484aaa8ea477deb90d99b47b2d9bfc018c604573889 |
| C2: 148[.]113[.]214[.]176 |
Mga pagtuklas:
Backdoor.Remcos
Backdoor.MsilFC.S13564499
Trojan.loaderCiR
Mga TTP ng MITER ATTACK:
| Pantaktika | Technique ID | Pangalan |
| Paunang Access (TA0001) | T1566 | Phishing |
| Pagpapatupad (TA0002) |
T1204 |
Pagpapatupad ng User |
| Pagtitiyaga (TA0003) | T1547.001 | Registry Run Keys/ Startup Folder |
| Pag-iwas sa Depensa (TA0005) | T1055 | Proseso ng Iniksyon |
| T1027 | Obfuscated na mga File o Impormasyon | |
| T1036.004 | Masquerading Task o Serbisyo | |
| Pagtuklas (TA0007) | T1614 | Pagtuklas ng Lokasyon ng System |
| Exfiltration (TA0010) | T1041 | Exfiltration sa Command-and-Control Channel |
| Command at Control (TA0011) | T1001.0012 | Stadiumograpiya |
Paghihinuha:
Sa blog na ito, tinalakay namin ang buong attack-chain ng kamakailang Steganographic campaign, kung saan ipinakita ang isang hindi nakakapinsalang mukhang JPG file na naglalaman ng isang injector DLL na may mga nakakahamak na kakayahan. Ginalugad din namin kung paano maingat na na-download at naisakatuparan ang bawat nakakahamak na payload sa isang napaka-metodo na paraan. Ang pag-atake ay lubos na umasa sa mga sopistikadong pamamaraan ng pagbabalatkayo na kadalasang maaaring makalinlang kahit na may karanasang mga gumagamit. Gaya ng karaniwan, nagsimula ang hanay ng mga kaganapan sa isang phishing na email na naglalaman ng pagsasamantala na sa pamamagitan ng maraming yugto, sa huli ay na-deploy ang RemcosRAT/AsyncRAT (na may potensyal para sa iba pang mga RAT o backdoors na maipamahagi sa katulad na paraan). Ang command-and-control server, sa kasong ito, ay may kakayahan na mag-deploy ng mga karagdagang payload, na higit pang ikompromiso ang sistema ng biktima.
Itinatampok ng kampanyang ito ang kritikal na kahalagahan ng pananatiling mapagbantay at magpatibay ng matatag na mga kasanayan sa cybersecurity upang mapangalagaan ang ating kaligtasan at ang integridad ng ating data.
May-akda:
Kirti Kshatriya
Kasamang May-akda:
Manoj Kumar Neelamegam



