Konfigurieren der drahtlosen WLAN-Verbindung von 802.1x PEAP-Anmeldeinformationen mit PowerShell

937
NicolasL

Ich versuche, die WLAN-Verbindung zu Testzwecken zu automatisieren. Mit dem Befehl netsh in PowerShell kann ich die XML-Datei generieren und eine Verbindung zu einem beliebigen persönlichen Wi-Fi herstellen.

Aber Problem mit dem Unternehmen (802.1X) bekommen. Ich kann die XML-Datei mit der Anfangskonfiguration erstellen. Benutzername und Passwort werden jedoch nicht darin gespeichert. Ich habe festgestellt, dass sie gespeichert und verschlüsselt werden in: HKCU \ Software \ Microsoft \ Wlansvc \ UserData \ Profiles Anscheinend wird sie mit CryptProtectData verschlüsselt.

Ich habe den Schlüssel von einer SSID hochgeladen, die mit meinem aktuellen Benutzer unter Verwendung von 802.1X verbunden ist, und habe versucht, ihn zu entschlüsseln, um herauszufinden, welche Zeichenfolge zu verschlüsseln ist. Hier ist das Skript bisher:

Add-Type -AssemblyName System.Security  $HEXA ='01 00 00 00 d0 8c 9d df 01 15 d1 11 8c 7a 00 c0 4f c2 97 eb 01 00 00  00 a8 55 8d b0 1a c5 48 4e 8e 35 ff...'  ##hexa to byte $HEXA_array= $HEXA.split(" ") $bytes_object = $HEXA_array | FOREACH {[BYTE][CHAR] ([CONVERT]::toint16($_,16))}  ##Create an array of Byte $i=0 foreach ($element in $bytes_object){$i++} $Byte_Array = New-Object Byte[] $i  #system.object to system.byte $i=0 foreach ($element in $bytes_object) { $Byte_Array[$i]=$element $i++ }  write-host "Type of Byte_Array: " $Byte_Array.getType().FullName #  #decrypt $bytes2 = [System.Security.Cryptography.ProtectedData]::Unprotect( $Byte_Array,  $null,  [System.Security.Cryptography.DataProtectionScope]::CurrentUser) 

Ich erhalte jedoch die folgende Fehlermeldung: Ausnahme, die "Unprotect" mit "3" -Argumenten aufruft: "Der Parameter ist falsch"

BEARBEITEN : Der Fehler wird nicht angezeigt, wenn ich das Skript mit dem lokalen Systembenutzer starte. Ich kann den Benutzernamen sehen, aber es folgen nicht lesbare Zeichen. Die Entropie wird auf $ null (2. Parameter) gesetzt und fragt sich, ob dies zu dem Problem führen könnte

Vielen Dank,

0
Sie haben uns nicht gesagt, in welcher Zeile sich die ungültige Syntax befindet. Gibt es einen Grund, aus dem Sie eine [absolut gute Frage] gelöscht haben (https://superuser.com/questions/1207527/powershell-802-1x-credentials-wireless-wi-fi)? Wenn Sie die Frage weiterhin entfernen, nur weil die Stimmen abgelehnt wurden, werden Sie sich schnell finden und keine neuen Fragen stellen können. Ramhound vor 3 Jahren 0
[PowerShell: Schnelle einfache Verschlüsselung / Entschlüsselung] (http://andyarismendi.blogspot.com/2011/09/powershell-quick-easy.html) Ramhound vor 3 Jahren 0
Hallo Ramhound, ich hätte mit dem Skript antworten sollen ... Entschuldigung für das Löschen / Wiederherstellen. Der Fehler tritt auf, wenn [System.Security.Cryptography.ProtectedData] :: :: Unprotect Thanks aufgerufen wird NicolasL vor 3 Jahren 0
Der Fehler sagt Ihnen genau, was falsch ist, Parameter 3, ist nicht korrekt. Was wahrscheinlich der Fall ist, ist das DataProtectionScope-Argument `CurrentUser` ist NULL. Ramhound vor 3 Jahren 0
[Verschlüsseln von Textdateien mit PowerShell] (https://gallery.technet.microsoft.com/scriptcenter/Encrypting-your-text-based-d939876b) Ramhound vor 3 Jahren 0
Hallo Ramhound, ich habe mir den bereitgestellten Link angesehen und es ist so ziemlich das gleiche wie ich ihn verschlüsselt / entschlüsselt habe. Ich habe ein Skript erstellt, um die Daten zu verschlüsseln, und es verwendet das obige Skript, um sie ohne Probleme zu entschlüsseln. Wenn ich den Registrierungsschlüssel (hier in $ HEXA gespeichert) anrufe, um ihn zu entschlüsseln, erhalte ich den genannten Fehler. Wenn Sie sagten, dass das Argument NULL ist, würden Sie davon ausgehen, dass der Schlüssel zunächst nicht mit dem CurrentUser als Parameter verschlüsselt wurde? Vielen Dank NicolasL vor 3 Jahren 0
Ich weiß es nicht; Ich werde Ihr Skript nicht debuggen. Ramhound vor 3 Jahren 0
ok danke, ich fügte weitere informationen in der frage hinzu. NicolasL vor 3 Jahren 0
* Ich frage mich, ob dies zu einem Problem führen könnte. * Ändern Sie also die Entropie auf etwas anderes als Null und finden Sie es heraus Ramhound vor 3 Jahren 0

2 Antworten auf die Frage

0
NicolasL

Der Benutzer / das Kennwort für WPA-Enterprise wird mit zwei Benutzern verschlüsselt. Ich habe zuerst die gesamte Zeichenfolge mit dem lokalen System entschlüsselt. Dann mit dem aktuellen Benutzer erneut entschlüsselt. Die Entropie ist in beiden Fällen auf $ Null gesetzt. Der dritte Parameter hängt von Ihrem Betriebssystem ab.

0
Andrea Giudiceandrea

Weitere Informationen zum WPA2-Enterprise-Verschlüsselungsschema für MSMUserData-Anmeldeinformationen finden Sie in meiner Antwort unter https://superuser.com/a/1259271/780533 unter "Wie finde ich geschützte EAP-Anmeldeinformationen eines unter Windows 7 gespeicherten drahtlosen Netzwerks?" Frage. Insbesondere die "unlesbaren Zeichen" (beachten Sie, dass sie mit 01 00 00 00 d0 8c 9d df ... beginnen), die auf den Benutzernamen in den entschlüsselten MSMUserData folgen, sind das verschlüsselte Kennwort. Sie müssen also erneut mit CryptProtectData entschlüsseln.