Mengkonfigurasi kredensial 802.1x PEAP Wi-Fi nirkabel dengan PowerShell

0

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,

NicolasL
sumber
Anda tidak memberi tahu kami garis sintaks yang tidak valid aktif. Apakah ada alasan Anda menghapus a pertanyaan yang sangat bagus ? Jika Anda terus menghapus pertanyaan hanya karena mereka menerima downvotes, Anda akan dengan cepat menemukan diri Anda, karena tidak dapat mengajukan pertanyaan baru.
Ramhound
Hai Ramhound, saya seharusnya menjawab dengan script .. maaf karena menghapus / menciptakan kembali. Kesalahan terjadi ketika memanggil [System.Security.Cryptography.ProtectedData] :: Hapus Proteksi
NicolasL
Kesalahan memberitahu Anda apa yang salah, parameter 3, tidak benar. Apa yang mungkin terjadi adalah Anda CurrentUser Argumen DataProtectionScope adalah NULL.
Ramhound

Jawaban:

0

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.

NicolasL
sumber
0

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.

Andrea Giudiceandrea
sumber