2013-03-18 2 views
2

Есть ли способ воспроизвести функциональность кнопки «Сохранить учетные данные» в меню «Настройки 802.1x» с помощью Windows API? Или каким-либо другим способом для постоянного сохранения учетных данных PEAP для профиля беспроводной сети.Сохранение учетных данных профиля беспроводной сети Windows

Я пробовал функцию WlanSetProfileEapXmlUserData для установки MsChapV2:Username и MsChapV2:Password. Он кэширует учетные данные, но не сохраняет их навсегда.

UPD: Удаленный доступ к данным пользователя, хранящимся в HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}, но шифруется. Я предполагаю, что CryptProtectData используется для шифрования. Если бы я знал, какая соль используется.

+0

Ознакомьтесь с подкомандой 'netsh wlan'. Ум, со второй мыслью, извините. Это то, что я сделал бы. То есть начать IDA, а затем проверить то, что я знаю, реализует то, что я хочу видеть, что он делает. – 0xC0000022L

+1

Вкратце посмотрел на 'netshell.dll'. Проверьте функции из 'Wlanapi.dll' (введены в W7). Они могут вас начать. – 0xC0000022L

+0

Спасибо за совет. Похоже, что 'CryptProtectData' не вызывается из' Wlanapi.dll' напрямую, а через какую-то другую функцию, вызываемую RPC. Нам нужно идти глубже. – pupkinsen

ответ

3

HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}\MSMUserData содержит данные, относящиеся к учетным данным PEAP. Зашифровано с помощью CryptProtectData. Расшифровка дала нам двоичный блок, который, к счастью, легко понять. Он содержит имя пользователя и, возможно, домен входа в обычный текст. Информация о пароле снова зашифровывается функцией CryptProtectData и помещается в конец капли.

Шифрование выполняется без LOCAL_MACHINE флаг, так что только Локальная система пользователь может создавать новые учетные данные. После того, как вы поместили его в раздел реестра, Windows думает, что у вас есть сохраненный набор учетных данных и никогда не будет запрашивать их даже в случае неудачной проверки подлинности.

0

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

Смежные вопросы