Týmto článkom začíname sériu publikácií o nepolapiteľnom malvéri. Hackerské programy, ktoré nezanechávajú žiadnu stopu po útoku, známe aj ako bez súborov ("incorporeal", neviditeľné, bez súborov), zvyčajne používajú PowerShell v systémoch Windows na skryté vykonávanie príkazov na vyhľadávanie a extrahovanie cenného obsahu. Zisťovanie aktivity hackerov bez škodlivých súborov je náročná úloha. antivírusy a mnohé ďalšie detekčné systémy fungujú na základe analýzy signatúr. Dobrou správou však je, že takýto softvér existuje. Napríklad,
Keď som sa prvýkrát začal učiť o skvelých hackeroch,
Veľký a hrozný PowerShell
O niektorých z týchto myšlienok som už písal
Okrem samotných ukážok môžete na stránke vidieť, čo tieto programy robia. Hybridná analýza spúšťa malvér vo svojom vlastnom karanténe a monitoruje systémové volania, spustené procesy a sieťové aktivity a extrahuje podozrivé textové reťazce. Pre binárne súbory a iné spustiteľné súbory, t.j. tam, kde sa nemôžete ani len pozrieť na skutočný kód na vysokej úrovni, hybridná analýza rozhoduje o tom, či je softvér škodlivý alebo len podozrivý na základe jeho aktivity pri behu. A potom je už vzorka hodnotená.
V prípade PowerShellu a iných vzorových skriptov (Visual Basic, JavaScript atď.) som mal možnosť vidieť samotný kód. Napríklad som narazil na túto inštanciu PowerShell:
Môžete tiež spustiť PowerShell s kódovaním base64, aby ste sa vyhli detekcii. Všimnite si použitie možností Neinteraktívne a Skryté.
Ak ste čítali moje zahmlievacie príspevky, potom viete, že možnosť -e označuje, že obsah je kódovaný base64. Mimochodom, hybridná analýza tiež pomáha s tým, že dekóduje všetko späť. Ak sa chcete pokúsiť dekódovať base64 PowerShell (ďalej - PS) sami, musíte spustiť tento príkaz:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
ponoriť sa hlbšie
Pomocou tejto metódy som dekódoval náš PS skript, nižšie je text programu, aj keď som ho mierne upravil:
Upozorňujeme, že skript bol nastavený na 4. septembra 2017 a odovzdával súbory cookie relácie.
O tomto štýle útoku som písal v r
Čo to robí?
V prípade bezpečnostného softvéru, ktorý skenuje protokoly udalostí systému Windows alebo brány firewall, kódovanie base64 bráni detegovaniu reťazca „WebClient“ jednoduchým textovým vzorom, aby sa chránilo pred vykonaním takejto webovej požiadavky. A keďže sa všetok „zlý“ malvér stiahne a odovzdá do nášho PowerShellu, tento prístup nám umožňuje úplne sa vyhnúť detekcii. Vlastne, to som si najprv myslel.
Ukazuje sa, že s povoleným pokročilým protokolovaním Windows PowerShell (pozri môj článok) budete môcť vidieť načítaný reťazec v protokole udalostí. som ako
Pridávanie ďalších skriptov
Hackeri šikovne skrývajú útok PowerShell v makrách balíka Microsoft Office napísaných vo Visual Basic a iných skriptovacích jazykoch. Ide o to, že obeť dostane správu, napríklad od doručovacej služby, s priloženou správou vo formáte .doc. Otvoríte tento dokument, ktorý obsahuje makro, a skončí spustením samotného škodlivého prostredia PowerShell.
Samotný skript Visual Basic je často zahmlený, takže sa voľne vyhýba antivírusom a iným skenerom škodlivého softvéru. V duchu vyššie uvedeného som sa rozhodol ako cvičenie nakódovať vyššie uvedený PowerShell v JavaScripte. Nižšie sú výsledky mojej práce:
Zmätený JavaScript skrývajúci náš PowerShell. Skutoční hackeri to robia raz-dva.
Toto je ďalšia technika, s ktorou som sa stretol na webe: pomocou Wscript.Shell spustiť kódovaný PowerShell. Mimochodom, JavaScript sám je
V našom prípade je škodlivý JS skript vnorený ako súbor .doc.js. Systém Windows zvyčajne zobrazí iba prvú príponu, takže sa obeti zobrazí ako dokument programu Word.
Ikona JS sa zobrazuje iba v ikone rolovania. Nie je prekvapením, že veľa ľudí otvorí túto prílohu v domnení, že ide o dokument programu Word.
V mojom príklade som upravil PowerShell vyššie na stiahnutie skriptu z mojej webovej stránky. Odstránený skript PS len vypíše „Evil Malware“. Ako vidíte, vôbec nie je zlý. Samozrejme, skutoční hackeri majú záujem získať prístup k notebooku alebo serveru, povedzme, prostredníctvom príkazu shell. V ďalšom článku vám ukážem, ako to urobiť pomocou PowerShell Empire.
Dúfam, že pri prvom úvodnom článku sme sa do témy neponorili príliš hlboko. Teraz vás nechám vydýchnuť a nabudúce začneme bez zbytočných úvodov a príprav rozoberať reálne príklady útokov pomocou bezsúborového malvéru.
Zdroj: hab.com