The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

Tento článek je součástí série Fileless Malware. Všechny další díly seriálu:

Jsem fanouškem webu hybridní analýza (hybridní analýza, dále HA). Jedná se o druh malwarové zoo, kde můžete bezpečně pozorovat divoké „predátory“ z bezpečné vzdálenosti, aniž byste byli napadeni. HA spouští malware v zabezpečených prostředích, zaznamenává systémová volání, vytvořené soubory a internetový provoz a poskytuje vám všechny tyto výsledky pro každý vzorek, který analyzuje. Tímto způsobem nemusíte ztrácet čas a energii snahou přijít na matoucí kód sami, ale můžete okamžitě pochopit všechny záměry hackerů.

Příklady HA, které mě zaujaly, používají buď kódovaný JavaScript, nebo skripty Visual Basic for Applications (VBA) vložené jako makra v dokumentech Word nebo Excel a připojené k phishingovým e-mailům. Po otevření tato makra zahájí relaci prostředí PowerShell v počítači oběti. Hackeři obvykle odesílají do PowerShellu proud příkazů zakódovaný v Base64. To vše se děje proto, aby bylo obtížné útok odhalit webovými filtry a antivirovým softwarem, který reaguje na určitá klíčová slova.
Naštěstí HA automaticky dekóduje Base64 a vše ihned zobrazí v čitelném formátu. V podstatě se nemusíte soustředit na to, jak tyto skripty fungují, protože budete moci vidět úplný výstup příkazů pro běžící procesy v odpovídající části HA. Viz příklad níže:

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

Hybridní analýza zachycuje zakódované příkazy Base64 odeslané do PowerShellu:

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

...a pak je pro vás dekóduje. #magicky

В předchozí příspěvek Vytvořil jsem svůj vlastní mírně zmatený kontejner JavaScript pro spuštění relace PowerShellu. Můj skript, stejně jako mnoho malwaru založeného na PowerShell, pak stáhne následující skript PowerShellu ze vzdáleného webu. Pak jsem jako příklad nahrál neškodné PS, které vytisklo zprávu na obrazovku. Ale časy se mění a teď navrhuji, abych scénář zkomplikoval.

PowerShell Empire a Reverse Shell

Jedním z cílů tohoto cvičení je ukázat, jak (relativně) snadno může hacker obejít klasické perimetrické obrany a antiviry. Pokud to IT blogger bez programátorských dovedností jako já zvládne za pár večerů vytvořit nezjistitelný malware (zcela nezjištěno, FUD), představte si schopnosti mladého hackera, který se o to zajímá!

A pokud jste poskytovatelem IT bezpečnosti, ale váš manažer si není vědom možných následků těchto hrozeb, stačí mu ukázat tento článek.

Hackeři sní o tom, že získají přímý přístup k notebooku nebo serveru oběti. To je velmi jednoduché: vše, co hacker potřebuje, je získat několik důvěrných souborů na notebooku generálního ředitele.

Nějak už já napsal jsem o postprodukčním běhovém prostředí PowerShell Empire. Připomeňme si, co to je.

Jedná se v podstatě o nástroj pro testování penetrace založený na PowerShellu, který vám kromě mnoha dalších funkcí umožňuje snadno spustit reverzní shell. Podrobněji si to můžete prostudovat na Domovská stránka PSE.

Udělejme malý experiment. Nastavil jsem bezpečné prostředí pro testování malwaru v cloudu Amazon Web Services. Můžete následovat můj příklad a rychle a bezpečně ukázat fungující příklad této zranitelnosti (a nebýt vyhozen z důvodu spuštění virů uvnitř podnikového perimetru).

Pokud spustíte konzolu PowerShell Empire, uvidíte něco takového:

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

Nejprve spustíte proces naslouchání na vašem hackerském počítači. Zadejte příkaz „listener“ a zadejte IP adresu vašeho systému pomocí „set Host“. Poté spusťte proces listener pomocí příkazu "execute" (níže). Z vaší strany tedy začnete čekat na síťové připojení ze vzdáleného shellu:

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

Pro druhou stranu budete muset vygenerovat kód agenta zadáním příkazu "launcher" (viz níže). Tím se vygeneruje kód PowerShell pro vzdáleného agenta. Všimněte si, že je zakódován v Base64 a představuje druhou fázi užitečného zatížení. Jinými slovy, můj kód JavaScript nyní přitáhne tohoto agenta ke spuštění PowerShellu namísto neškodného tisku textu na obrazovku a připojí se k našemu vzdálenému serveru PSE a spustí reverzní shell.

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts
Kouzlo obráceného shellu. Tento kódovaný příkaz PowerShell se připojí k mému posluchači a spustí vzdálený shell.

Abych vám ukázal tento experiment, přijal jsem roli nevinné oběti a otevřel Evil.doc, čímž jsem spustil náš JavaScript. Pamatujete si první díl? PowerShell byl nakonfigurován tak, aby zabránil vyskakování jeho okna, takže si oběť nevšimne ničeho neobvyklého. Pokud však otevřete Správce úloh systému Windows, uvidíte proces PowerShellu na pozadí, který stejně většině lidí nevyvolá žádný alarm. Protože je to prostě běžný PowerShell, že?

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

Nyní, když spustíte Evil.doc, skrytý proces na pozadí se připojí k serveru, na kterém běží PowerShell Empire. Nasadil jsem si bílý pentesterový hackerský klobouk, vrátil jsem se do konzole PowerShell Empire a nyní se mi zobrazila zpráva, že můj vzdálený agent je aktivní.

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

Pak jsem zadal příkaz "interact" pro otevření shellu v PSE - a byl jsem tam! Stručně řečeno, jednou jsem hacknul server Taco, který jsem si sám nastavil.

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts

To, co jsem právě předvedl, nevyžaduje z vaší strany tolik práce. To vše můžete snadno udělat během polední přestávky na jednu nebo dvě hodiny, abyste zlepšili své znalosti o bezpečnosti informací. Je to také skvělý způsob, jak pochopit, jak hackeři obcházejí váš externí bezpečnostní perimetr a dostávají se do vašich systémů.

IT manažeři, kteří si myslí, že vybudovali neproniknutelnou obranu proti jakémukoli průniku, to pravděpodobně také shledají výchovným – tedy pokud je dokážete přesvědčit, aby s vámi seděli dostatečně dlouho.

Vraťme se do reality

Jak jsem očekával, skutečný hack, pro běžného uživatele neviditelný, je prostě variací toho, co jsem právě popsal. Abych shromáždil materiál pro další publikaci, začal jsem hledat vzorek na HA, který funguje stejně jako můj vymyšlený příklad. A nemusel jsem to dlouho hledat - na webu je mnoho možností pro podobnou techniku ​​útoku.

Malware, který jsem nakonec našel na HA, byl skript VBA, který byl vložen do dokumentu aplikace Word. To znamená, že ani nemusím předstírat rozšíření dokumentu, tento malware je opravdu normálně vypadající dokument Microsoft Word. Pokud máte zájem, vybral jsem tento vzorek tzv rfq.doc.

Rychle jsem zjistil, že často nelze přímo vytáhnout škodlivé skripty VBA z dokumentu. Hackeři je zkomprimují a skryjí, takže nejsou viditelné ve vestavěných makro nástrojích aplikace Word. K jeho odstranění budete potřebovat speciální nástroj. Naštěstí jsem narazil na skener OfficeMalScanner Frank Baldwin. Děkuji, Franku.

Pomocí tohoto nástroje jsem byl schopen vytáhnout vysoce zatemněný kód VBA. Vypadalo to nějak takto:

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts
Zamlžení provedli profesionálové ve svém oboru. Byl jsem ohromen!

Útočníci jsou opravdu dobří v matení kódu, ne jako moje úsilí při vytváření Evil.doc. Dobře, v další části vyjmeme naše debuggery VBA, ponoříme se trochu hlouběji do tohoto kódu a porovnáme naši analýzu s výsledky HA.

Zdroj: www.habr.com

Přidat komentář