Active Directory: пользователь должен сменить пароль при следующем входе - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь изменить пароль пользователя программно с помощью LDAP. Пользователь имеет флаг «Пользователь должен изменить пароль при следующем входе в систему» ​​в Active Directory. Но я не могу аутентифицироваться в Active Directory этим пользователем. Я использовал два типа аутентификации LDAP - простой и GSSAPI (Kerberos). Может кто-нибудь объяснить, как Windows сама меняет пароль, когда установлен флажок «Пользователь должен сменить пароль»? Kerberos падает на шаг AS_REQ-AS_RSP (AS) и возвращает ошибку STATUS_PASSWORD_MUST_CHANGE при аутентификации.

1 Ответ

0 голосов
/ 29 июня 2018

Спасибо Самсон за ваши комментарии.

Когда пользователь установил флажок «Необходимо сменить пароль при следующем входе в систему», Windows сначала пытается получить билет для SPN kadmin / changepw, а после этого использует службу KPASSWD (464 UPD / TCP) для изменения пароля пользователя с использованием протокола KPASSWD (https://tools.ietf.org/html/rfc3244). Я попытался сменить пароль с помощью Windows для пользователя «Необходимо сменить пароль» и после этого проанализировал пакет с помощью Wireshark, все работает в соответствии с rfc3244. Также я попытался использовать инструмент MIT KPASSWD, и пароль был изменен как Windows .

Пакеты от клиента до Active Directory enter image description here

Подробная информация о пакете KPASSWD
enter image description here

...