😃 Сброс истёкшего пароля доменной учетки через null‑session и SAMR
Читал одну любопытную статейку на дф и наткнулся на метод сброса истёкшего пароля через null‑session.
Суть:
При ошибке STATUS_PASSWORD_MUST_CHANGE стандартные подходы с impacket-changepasswd и smbpasswd могут не отработать на новых Windows. Но есть фишка, для которой нужно найти хост с разрешённой null‑session (проверить через nxc smb $IP -u '' -p '') и выполнить:
impacket-changepasswd -protocol smb-samr -newpass 'NewPass' 'domain\user:OldPass@ -dc-ip
При этом нужно использовать протокол smb-samr.
Пример:
impacket-changepasswd -protocol smb-samr -newpass 'NewP@ssw0rd321!' 'duty-free.cc/user1:P@ssw0rd12@192.168.78.2 -dc-ip 192.168.78.1
Почему это работает? Протокол SAMR (RPC-сервис управления учётками) позволяет сменить пароль без предварительной аутентификации — достаточно передать старый+новый пароль в RPC-вызов через анонимное подключение.
Читал одну любопытную статейку на дф и наткнулся на метод сброса истёкшего пароля через null‑session.
Суть:
При ошибке STATUS_PASSWORD_MUST_CHANGE стандартные подходы с impacket-changepasswd и smbpasswd могут не отработать на новых Windows. Но есть фишка, для которой нужно найти хост с разрешённой null‑session (проверить через nxc smb $IP -u '' -p '') и выполнить:
impacket-changepasswd -protocol smb-samr -newpass 'NewPass' 'domain\user:OldPass@ -dc-ip
При этом нужно использовать протокол smb-samr.
Пример:
impacket-changepasswd -protocol smb-samr -newpass 'NewP@ssw0rd321!' 'duty-free.cc/user1:P@ssw0rd12@192.168.78.2 -dc-ip 192.168.78.1
Почему это работает? Протокол SAMR (RPC-сервис управления учётками) позволяет сменить пароль без предварительной аутентификации — достаточно передать старый+новый пароль в RPC-вызов через анонимное подключение.