Récupérer les clés de sécurité Wifi d’un système Windows

Suite à une formation Wifi donnée à Olivier, j’ai réalisé plusieurs scripts écrits en PowerShell. Celui que je vais vous présenter a pour objet de récupérer toutes les clés de sécurité Wifi associées aux SSIDs stockés sur un système Windows.

Les commandes netsh

Pour l’essentiel, ce script va traiter le résultat de deux commandes netsh. La 1ère permet d’obtenir la liste de tous les SSIDs de réseaux et bornes Wifi auxquels vous vous êtes connectés, que ce soit en mode ad-hoc ou entreprise. Une fois le SSID extrait de la 1ère commande (mon_ssid dans l’exemple ci-dessous), la commande suivante extrait la clé de sécurité associée, en clair !

  1. netsh wlan show profiles
  2. netsh wlan show profiles mon_ssid key=clear

Le script PowerShell

Le principe de ce script PowerShell que j’ai appelé sur PasteBin Get Wifi Security Keys est, par l’emploi des expressions régulières et de l’opérateur -Match , d’extraire les informations issues de l’exécution des deux commandes précédentes dans deux boucles ForEach imbriquées. Il n’y a là rien de bien compliqué !

$wifi=@()
#Visualisation des réseaux bloqués
$cmd0=netsh wlan show blockednetworks
#Liste des SSID
$cmd1=netsh wlan show profiles
ForEach($row1 in $cmd1)
{
    #Récupération des ssids par expression régulière
    If($row1 -match 'Profil Tous les utilisateurs[^:]+:.(.+)$')
    {
        $ssid=$Matches[1]
        $cmd2=netsh wlan show profiles $ssid key=clear
        ForEach($row2 in $cmd2)
        {
            #Récupération des clés par expression régulière
            If($row2 -match 'Contenu de la c[^:]+:.(.+)$')
            {
                $key=$Matches[1]
                #Stockage des ssids et des clés dans un tableau
                $wifi+=[PSCustomObject]@{ssid=$ssid;key=$key}
            }
        }
    }
}
#Export du tableau dans un fichier csv
$wifi|Export-CSV -Path 'c:\wifi.csv' -NoTypeInformation
#Visualisation du tableau
$wifi|Sort -Property ssid|Out-GridView -Title 'Clés des SSID du poste'

Récupérer les clés de sécurité Wifi d'une machine Windows

La liste des clés de sécurité Wifi obtenues

Le résultat est pour le moins spectaculaire. Avec WinRM et l’exécution distance du PowerShell, l’administrateur d’un Active Directory a donc la capacité à extraire de toutes les machines de son parc toutes les SSIDs et les clés de sécurité associées aux périphériques Wifi utilisés. Sur le plan juridique, je ne pense pas que la récupération des clés Wifi de sécurité soit légale, à moins que la disposition soit précisée dans la charte ! Pour certains secteurs d’activité dans lesquels l’utilisation du BYOD est formellement interdite pour des raisons de sécurité et de confidentialité évidentes, ce script permet au moins de réaliser un contrôle sur le respect, par les salariés, des consignes données. CQFD.

Liste des clés de sécurité Wifi obtenues par script PowerShell

Réseau  / Formateur Powershell Formateur Sécurité informatique PowerShell Sécurité informatique SSID Wi-Fi Wifi 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)