Я пытаюсь автоматизировать соединение Wi-Fi в целях тестирования. Используя команду netsh в PowerShell, я могу сгенерировать XML-файл и подключиться к любому персональному Wi-Fi.

Но проблема с Enterprise (802.1X). Я могу сгенерировать XML-файл с начальной конфигурацией. Но имя пользователя и пароль не хранятся в нем. Я обнаружил, что они хранятся в зашифрованном виде по адресу: HKCU\Software\Microsoft\Wlansvc\UserData\Profiles {GUID} Очевидно, что он зашифрован с использованием CryptProtectData.

Я загрузил ключ с одного SSID, подключенного к моему текущему пользователю с использованием 802.1X, и пытался расшифровать его, чтобы выяснить, какую строку необходимо зашифровать. Вот сценарий до сих пор:

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)

Но я получаю следующее сообщение об ошибке: Исключение вызывает "Снять защиту" с аргументом (ами)"3": "Параметр неверен"

РЕДАКТИРОВАТЬ: ошибка не появляется, как только я запускаю скрипт с пользователем локальной системы. Я вижу имя пользователя, но за ним следуют нечитаемые символы. Энтропия установлена в $ null (2-й параметр), и ей интересно, может ли это вызвать проблему

Спасибо,

2 ответа2

0

Пользователь / пароль для WPA-Enterprise зашифрован с использованием двух пользователей. Сначала я расшифровал всю строку с помощью локальной системы. Затем снова расшифровывается с использованием текущего пользователя. Энтропия установлена в $ Null в обоих случаях. Третий параметр будет зависеть от вашей операционной системы.

0

Дополнительную информацию о схеме шифрования учетных данных WPA2-Enterprise для MSMUserData можно найти в моем ответе https://superuser.com/a/1259271/780533 на «Как найти защищенные учетные данные EAP беспроводной сети, хранящиеся в Windows 7?вопрос. В частности, "нечитаемые символы" (обратите внимание, что они начинаются с 01 00 00 00 d0 8c 9d df ...), следующие за именем пользователя в расшифрованном MSMUserData, являются зашифрованным паролем, поэтому вам необходимо расшифровать снова с помощью CryptProtectData.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .