Windows Security Controls
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
Lista odobrenih aplikacija je spisak odobrenih softverskih aplikacija ili izvršnih datoteka koje su dozvoljene da budu prisutne i da se pokreću na sistemu. Cilj je zaštititi okruženje od štetnog malvera i neodobrenog softvera koji nije u skladu sa specifičnim poslovnim potrebama organizacije.
AppLocker je Microsoftovo rešenje za belu listu aplikacija i daje sistemskim administratorima kontrolu nad koje aplikacije i datoteke korisnici mogu da pokreću. Pruža granularnu kontrolu nad izvršnim datotekama, skriptama, Windows instalacionim datotekama, DLL-ovima, pakovanim aplikacijama i instalaterima pakovanih aplikacija. Uobičajeno je da organizacije blokiraju cmd.exe i PowerShell.exe i da imaju pisanje pristupa određenim direktorijumima, ali se sve to može zaobići.
Check which files/extensions are blacklisted/whitelisted:
Ova putanja registra sadrži konfiguracije i politike koje primenjuje AppLocker, pružajući način za pregled trenutnog skupa pravila koja se primenjuju na sistemu:
HKLM\Software\Policies\Microsoft\Windows\SrpV2
Korisni Writable folders za zaobilaženje AppLocker politike: Ako AppLocker dozvoljava izvršavanje bilo čega unutar C:\Windows\System32
ili C:\Windows
, postoje writable folders koje možete koristiti za bypass this.
Uobičajeni trusted "LOLBAS's" binarni fajlovi mogu biti korisni za zaobilaženje AppLocker-a.
Loše napisani pravila takođe mogu biti zaobiđena
Na primer, <FilePathCondition Path="%OSDRIVE%*\allowed*"/>
, možete kreirati folder pod nazivom allowed
bilo gde i biće dozvoljeno.
Organizacije često fokusiraju na blokiranje %System32%\WindowsPowerShell\v1.0\powershell.exe
izvršnog fajla, ali zaboravljaju na druge lokacije izvršnih fajlova PowerShell-a kao što su %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
ili PowerShell_ISE.exe
.
DLL enforcement veoma retko omogućen zbog dodatnog opterećenja koje može staviti na sistem, i količine testiranja potrebnog da se osigura da ništa neće prestati da funkcioniše. Tako da korišćenje DLL-ova kao backdoor-a će pomoći u zaobilaženju AppLocker-a.
Možete koristiti ReflectivePick ili SharpPick da izvršite Powershell kod u bilo kojem procesu i zaobiđete AppLocker. Za više informacija pogledajte: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
Lokalni kredencijali su prisutni u ovoj datoteci, lozinke su hash-ovane.
Kredencijali (hash-ovani) su sačuvani u memoriji ovog podsistema iz razloga jedinstvenog prijavljivanja. LSA upravlja lokalnom sigurnosnom politikom (politika lozinki, dozvole korisnika...), autentifikacijom, tokenima pristupa... LSA će biti ta koja će proveriti date kredencijale unutar SAM datoteke (za lokalno prijavljivanje) i komunicirati sa kontrolerom domena da autentifikuje korisnika domena.
Kredencijali su sačuvani unutar procesa LSASS: Kerberos karte, NT i LM hash-ovi, lako dekriptovane lozinke.
LSA može sačuvati na disku neke kredencijale:
Lozinka računa računara Active Directory (nepristupačan kontroler domena).
Lozinke računa Windows servisa
Lozinke za zakazane zadatke
Više (lozinka IIS aplikacija...)
To je baza podataka Active Directory. Prisutna je samo u kontrolerima domena.
Microsoft Defender je antivirus koji je dostupan u Windows 10 i Windows 11, i u verzijama Windows Server-a. Blokira uobičajene pentesting alate kao što je WinPEAS
. Međutim, postoje načini da se zaobiđu ove zaštite.
Da proverite status Defender-a možete izvršiti PS cmdlet Get-MpComputerStatus
(proverite vrednost RealTimeProtectionEnabled
da saznate da li je aktivna):
Da biste ga enumerisali, takođe možete pokrenuti:
EFS obezbeđuje datoteke putem enkripcije, koristeći simetrični ključ poznat kao Ključ za enkripciju datoteka (FEK). Ovaj ključ je enkriptovan korisnikovim javnim ključem i smešten unutar $EFS alternativnog toka podataka enkriptovane datoteke. Kada je potrebna dekripcija, koristi se odgovarajući privatni ključ korisničkog digitalnog sertifikata za dekripciju FEK-a iz $EFS toka. Više detalja možete pronaći ovde.
Scenariji dekripcije bez inicijacije korisnika uključuju:
Kada se datoteke ili fascikle presele na ne-EFS datotečni sistem, kao što je FAT32, automatski se dekriptuju.
Enkriptovane datoteke poslate preko mreže putem SMB/CIFS protokola se dekriptuju pre prenosa.
Ova metoda enkripcije omogućava transparentan pristup enkriptovanim datotekama za vlasnika. Međutim, jednostavna promena lozinke vlasnika i prijavljivanje neće omogućiti dekripciju.
Ključne tačke:
EFS koristi simetrični FEK, enkriptovan korisnikovim javnim ključem.
Dekripcija koristi korisnikov privatni ključ za pristup FEK-u.
Automatska dekripcija se dešava pod specifičnim uslovima, kao što su kopiranje na FAT32 ili mrežni prenos.
Enkriptovane datoteke su dostupne vlasniku bez dodatnih koraka.
Proverite da li je korisnik koristio ovu uslugu proverom da li ovaj put postoji: C:\users\<username>\appdata\roaming\Microsoft\Protect
Proverite ko ima pristup datoteci koristeći cipher /c <file>
Takođe možete koristiti cipher /e
i cipher /d
unutar fascikle da enkriptujete i dekriptujete sve datoteke
Ovaj način zahteva da žrtva korisnik bude pokrenut u procesu unutar hosta. Ako je to slučaj, koristeći meterpreter
sesije možete imitirati token procesa korisnika (impersonate_token
iz incognito
). Ili možete jednostavno migrirati
u proces korisnika.
Microsoft je razvio Group Managed Service Accounts (gMSA) kako bi pojednostavio upravljanje servisnim nalozima u IT infrastrukturnim sistemima. Za razliku od tradicionalnih servisnih naloga koji često imaju podešavanje "Lozinka nikada ne ističe" omogućeno, gMSA nude sigurnije i upravljivije rešenje:
Automatsko upravljanje lozinkama: gMSA koriste složenu, 240-karakternu lozinku koja se automatski menja u skladu sa politikom domena ili računara. Ovaj proces se obavlja putem Microsoftove usluge za distribuciju ključeva (KDC), eliminišući potrebu za ručnim ažuriranjima lozinki.
Povećana sigurnost: Ovi nalozi su imuni na zaključavanje i ne mogu se koristiti za interaktivna prijavljivanja, čime se povećava njihova sigurnost.
Podrška za više hostova: gMSA se mogu deliti između više hostova, što ih čini idealnim za usluge koje se pokreću na više servera.
Mogućnost zakazanih zadataka: Za razliku od upravljanih servisnih naloga, gMSA podržavaju pokretanje zakazanih zadataka.
Pojednostavljeno upravljanje SPN-om: Sistem automatski ažurira Ime servisnog principala (SPN) kada dođe do promena u detaljima sAMaccount-a računara ili DNS imenu, pojednostavljujući upravljanje SPN-om.
Lozinke za gMSA se čuvaju u LDAP svojstvu msDS-ManagedPassword i automatski se resetuju svake 30 dana od strane kontrolera domena (DC). Ova lozinka, enkriptovani podatkovni blob poznat kao MSDS-MANAGEDPASSWORD_BLOB, može se dobiti samo od strane ovlašćenih administratora i servera na kojima su gMSA instalirani, obezbeđujući sigurno okruženje. Da biste pristupili ovim informacijama, potrebna je sigurna veza kao što je LDAPS, ili veza mora biti autentifikovana sa 'Sealing & Secure'.
Možete pročitati ovu lozinku sa GMSAPasswordReader:
Pronađite više informacija u ovom postu
Takođe, proverite ovu web stranicu o tome kako izvršiti NTLM relay attack da pročitate lozinku gMSA.
Rešenje za lozinke lokalnog administratora (LAPS), dostupno za preuzimanje sa Microsoft, omogućava upravljanje lozinkama lokalnog administratora. Ove lozinke, koje su nasumične, jedinstvene i redovno menjane, čuvaju se centralno u Active Directory. Pristup ovim lozinkama je ograničen putem ACL-a na ovlašćene korisnike. Uz dodeljene dovoljne dozvole, omogućava se čitanje lozinki lokalnog administratora.
LAPSPowerShell Constrained Language Mode ograničava mnoge funkcije potrebne za efikasno korišćenje PowerShell-a, kao što su blokiranje COM objekata, dozvoljavanje samo odobrenih .NET tipova, XAML-bazirani radni tokovi, PowerShell klase i još mnogo toga.
U trenutnom Windows-u ta zaobilaženje neće raditi, ali možete koristiti PSByPassCLM.
Da biste ga kompajlirali, možda će vam biti potrebno da dodate referencu -> Pretraži -> Pretraži -> dodajte C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0\31bf3856ad364e35\System.Management.Automation.dll
i promenite projekat na .Net4.5.
Možete koristiti ReflectivePick ili SharpPick da izvršite Powershell kod u bilo kojem procesu i zaobiđete ograničeni režim. Za više informacija pogledajte: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
Podrazumevano je postavljena na ograničeno. Glavni načini za zaobilaženje ove politike:
More can be found here
Je API koji se može koristiti za autentifikaciju korisnika.
SSPI će biti zadužen za pronalaženje adekvatnog protokola za dve mašine koje žele da komuniciraju. Preferirani metod za ovo je Kerberos. Zatim će SSPI pregovarati koji autentifikacioni protokol će se koristiti, ovi autentifikacioni protokoli se nazivaju Security Support Provider (SSP), nalaze se unutar svake Windows mašine u obliku DLL-a i obe mašine moraju podržavati isti da bi mogle da komuniciraju.
Kerberos: Preferirani
%windir%\Windows\System32\kerberos.dll
NTLMv1 i NTLMv2: Razlozi kompatibilnosti
%windir%\Windows\System32\msv1_0.dll
Digest: Web serveri i LDAP, lozinka u obliku MD5 haša
%windir%\Windows\System32\Wdigest.dll
Schannel: SSL i TLS
%windir%\Windows\System32\Schannel.dll
Negotiate: Koristi se za pregovaranje o protokolu koji će se koristiti (Kerberos ili NTLM, pri čemu je Kerberos podrazumevani)
%windir%\Windows\System32\lsasrv.dll
User Account Control (UAC) je funkcija koja omogućava izdavanje saglasnosti za uzvišene aktivnosti.
UAC - User Account ControlUse Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)