Saya mencoba mengotomatiskan koneksi Wi-Fi untuk tujuan pengujian. Menggunakan perintah netsh di PowerShell saya dapat menghasilkan file xml dan terhubung ke Wi-Fi Pribadi.
Tetapi mendapatkan masalah dengan Enterprise (802.1X). Saya dapat menghasilkan file xml dengan konfigurasi awal. Tetapi nama pengguna dan kata sandi tidak disimpan di dalamnya. Saya menemukan bahwa mereka disimpan dan dienkripsi di: HKCU \ Software \ Microsoft \ Wlansvc \ UserData \ Profiles {GUID} Ternyata dienkripsi menggunakan CryptProtectData.
Saya telah mengunggah kunci dari satu SSID yang terhubung dengan pengguna saya saat ini menggunakan 802.1X dan mencoba mendekripsi untuk mengetahui string apa yang perlu dienkripsi. Berikut skripnya:
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)
Tapi saya mendapatkan kesalahan di bawah ini: Pengecualian memanggil "Tidak proteksi" dengan argumen "3": "Parameter salah"
EDIT : Kesalahan tidak muncul setelah saya meluncurkan skrip dengan pengguna Sistem Lokal. Saya dapat melihat nama pengguna, tetapi diikuti dengan karakter yang tidak dapat dibaca. Entropi diatur ke $ null (parameter 2) dan bertanya-tanya apakah itu dapat menyebabkan masalah
Terima kasih,
sumber
CurrentUser
Argumen DataProtectionScope adalah NULL.Jawaban:
Pengguna / kata sandi untuk WPA-Enterprise dienkripsi menggunakan dua pengguna. Saya pertama kali mendekripsi seluruh string menggunakan Sistem Lokal. Kemudian didekripsi lagi menggunakan pengguna saat ini. Entropi diatur ke $ Null dalam kedua kasus. Parameter ketiga akan tergantung pada OS sistem Anda.
sumber
Anda dapat menemukan informasi lebih lanjut tentang skema enkripsi kredensial WPA2-Enterprise MSMUserData dalam jawaban saya https://superuser.com/a/1259271/780533 ke "Bagaimana saya bisa menemukan kredensial EAP yang dilindungi dari jaringan nirkabel yang disimpan pada Windows 7?" pertanyaan. Secara khusus, "karakter yang tidak dapat dibaca" (perhatikan bahwa mereka mulai dengan 01 00 00 00 d0 8c 9d df ...) mengikuti nama pengguna di MSMUserData yang didekripsi adalah kata sandi terenkripsi sehingga Anda perlu mendekripsi lagi menggunakan CryptProtectData.
sumber