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

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

Tento článok je súčasťou série Fileless Malware. Všetky ostatné diely seriálu:

Som fanúšikom stránky hybridná analýza (hybridná analýza, ďalej HA). Ide o druh malvérovej zoo, kde môžete bezpečne pozorovať divokých „predátorov“ z bezpečnej vzdialenosti bez toho, aby vás niekto napadol. HA spúšťa malvér v zabezpečených prostrediach, zaznamenáva systémové volania, vytvorené súbory a internetový prenos a poskytuje vám všetky tieto výsledky pre každú vzorku, ktorú analyzuje. Týmto spôsobom nemusíte strácať čas a energiu na to, aby ste sami prišli na mätúci kód, ale môžete okamžite pochopiť všetky zámery hackerov.

Príklady HA, ktoré upútali moju pozornosť, používajú kódovaný JavaScript alebo skripty Visual Basic for Applications (VBA) vložené ako makrá do dokumentov programu Word alebo Excel a pripojené k e-mailom s neoprávneným získavaním údajov. Po otvorení tieto makrá spustia reláciu PowerShell na počítači obete. Hackeri zvyčajne posielajú do PowerShellu prúd príkazov zakódovaný v Base64. To všetko sa robí preto, aby bolo ťažké odhaliť útok webovými filtrami a antivírusovým softvérom, ktoré reagujú na určité kľúčové slová.
Našťastie HA automaticky dekóduje Base64 a okamžite zobrazí všetko v čitateľnom formáte. V podstate sa nemusíte sústrediť na to, ako tieto skripty fungujú, pretože budete môcť vidieť úplný výstup príkazov pre spustené procesy v zodpovedajúcej časti HA. Pozrite si príklad nižšie:

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

Hybridná analýza zachytáva príkazy zakódované v Base64 odoslané do PowerShell:

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

...a potom ich pre vás dekóduje. #magicky

В predchádzajúci príspevok Vytvoril som svoj vlastný mierne zahmlený kontajner JavaScript na spustenie relácie PowerShell. Môj skript, podobne ako mnoho malvéru založeného na PowerShell, potom stiahne nasledujúci skript PowerShell zo vzdialenej webovej lokality. Potom som ako príklad nahral neškodné PS, ktoré vytlačilo správu na obrazovku. Ale časy sa menia a teraz navrhujem skomplikovať scenár.

PowerShell Empire a Reverse Shell

Jedným z cieľov tohto cvičenia je ukázať, ako (relatívne) ľahko môže hacker obísť klasické obvodové obrany a antivírusy. Ak to IT bloger bez programátorských zručností, ako ja, zvládne za pár večerov vytvoriť nezistiteľný malvér (úplne nezistené, FUD), predstavte si schopnosti mladého hackera, ktorý sa o to zaujíma!

A ak ste poskytovateľom IT bezpečnosti, ale váš manažér si nie je vedomý možných následkov týchto hrozieb, ukážte mu tento článok.

Hackeri snívajú o získaní priameho prístupu k notebooku alebo serveru obete. Je to veľmi jednoduché: všetko, čo hacker potrebuje, je získať niekoľko dôverných súborov na notebooku generálneho riaditeľa.

Nejako už ja napísal som o postprodukčnom runtime PowerShell Empire. Pripomeňme si, čo to je.

Ide v podstate o nástroj na penetračné testovanie založený na PowerShell, ktorý vám okrem mnohých iných funkcií umožňuje jednoducho spustiť reverzný shell. Podrobnejšie si ho môžete preštudovať na Domovská stránka PSE.

Urobme malý experiment. Nastavil som bezpečné prostredie na testovanie malvéru v cloude Amazon Web Services. Môžete nasledovať môj príklad, aby ste rýchlo a bezpečne ukázali fungujúci príklad tejto zraniteľnosti (a nedostali vás prepustený z dôvodu spustenia vírusov v rámci podniku).

Ak spustíte konzolu PowerShell Empire, uvidíte niečo takéto:

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

Najprv spustite proces načúvania na hackerskom počítači. Zadajte príkaz „listener“ a zadajte IP adresu vášho systému pomocou „set Host“. Potom spustite proces načúvania príkazom "execute" (nižšie). Z vašej strany teda začnete čakať na sieťové pripojenie zo vzdialeného shellu:

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

Pre druhú stranu budete musieť vygenerovať kód agenta zadaním príkazu „launcher“ (pozri nižšie). Tým sa vygeneruje kód PowerShell pre vzdialeného agenta. Všimnite si, že je zakódovaný v Base64 a predstavuje druhú fázu užitočného zaťaženia. Inými slovami, môj kód JavaScript teraz stiahne tohto agenta, aby spustil PowerShell namiesto neškodného vytlačenia textu na obrazovku, a pripojí sa k nášmu vzdialenému serveru PSE, aby spustil reverzný shell.

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts
Kúzlo reverznej škrupiny. Tento kódovaný príkaz PowerShell sa pripojí k môjmu poslucháčovi a spustí vzdialený shell.

Aby som vám ukázal tento experiment, prevzal som úlohu nevinnej obete a otvoril som Evil.doc, čím som spustil náš JavaScript. Pamätáte si prvú časť? PowerShell bol nakonfigurovaný tak, aby zabránil vyskakovaniu jeho okna, takže obeť si nevšimne nič neobvyklé. Ak však otvoríte Správcu úloh systému Windows, uvidíte na pozadí proces PowerShell, ktorý aj tak väčšine ľudí nespôsobí žiadny alarm. Pretože je to len obyčajný PowerShell, nie?

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

Teraz, keď spustíte Evil.doc, skrytý proces na pozadí sa pripojí k serveru s PowerShell Empire. Nasadil som si biely pentesterový hackerský klobúk, vrátil som sa ku konzole PowerShell Empire a teraz vidím správu, že môj vzdialený agent je aktívny.

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

Potom som zadal príkaz "interact", aby som otvoril shell v PSE - a bol som tam! Stručne povedané, hackol som server Taco, ktorý som si sám nastavil.

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

To, čo som práve predviedol, si z vašej strany nevyžaduje toľko práce. Toto všetko môžete jednoducho urobiť počas obedňajšej prestávky na jednu alebo dve hodiny, aby ste zlepšili svoje znalosti o bezpečnosti informácií. Je to tiež skvelý spôsob, ako pochopiť, ako hackeri obchádzajú váš vonkajší bezpečnostný perimeter a dostávajú sa do vašich systémov.

IT manažéri, ktorí si myslia, že si vybudovali nepreniknuteľnú obranu proti akémukoľvek narušeniu, to pravdepodobne budú považovať aj za poučné – teda ak ich presvedčíte, aby s vami sedeli dostatočne dlho.

Vráťme sa do reality

Ako som očakával, skutočný hack, pre bežného používateľa neviditeľný, je jednoducho variáciou toho, čo som práve opísal. Aby som zhromaždil materiál pre ďalšiu publikáciu, začal som hľadať vzorku na HA, ktorá funguje rovnako ako môj vymyslený príklad. A nemusel som to dlho hľadať - na stránke je veľa možností pre podobnú techniku ​​útoku.

Malvér, ktorý som nakoniec našiel na HA, bol skript VBA, ktorý bol vložený do dokumentu programu Word. To znamená, že ani nemusím sfalšovať rozšírenie dokumentu, tento malvér je skutočne normálne vyzerajúci dokument programu Microsoft Word. V prípade záujmu som vybral túto vzorku tzv rfq.doc.

Rýchlo som sa naučil, že často nemôžete priamo vytiahnuť škodlivé skripty VBA z dokumentu. Hackeri ich komprimujú a skrývajú, takže nie sú viditeľné v vstavaných makro nástrojoch Wordu. Na jeho odstránenie budete potrebovať špeciálny nástroj. Našťastie som narazil na skener OfficeMalScanner Frank Baldwin. Ďakujem, Frank.

Pomocou tohto nástroja som bol schopný vytiahnuť veľmi zahmlený kód VBA. Vyzeralo to asi takto:

The Adventures of Elusive Malware, Part II: Secretive VBA Scripts
Zahmlievanie robili profesionáli vo svojom odbore. Bol som ohromený!

Útočníci sú naozaj dobrí v zahmlievaní kódu, nie ako moje úsilie pri vytváraní Evil.doc. Dobre, v ďalšej časti vytiahneme naše VBA debuggery, ponoríme sa trochu hlbšie do tohto kódu a porovnáme našu analýzu s výsledkami HA.

Zdroj: hab.com

Pridať komentár