Passing the hash с стандартным RDP клиентом windows(mstsc.exe)

Passing the hash с стандартным RDP клиентом windows(mstsc.exe)

https://t.me/Torchik_Ru

Кратко от меня, что такое PTH или Passing the hash. Представьте, тестировали какую-то сеть и получили хэш админа, ваши дальнейшие действие это брут, верно? Но увы вы не смогли сбрутить хэш админа, тк.к пароль он поставил оооочень сложный. Но погодите, нам может помочь техника PTH, т.е вам не нужно брутить пароль, достаточно иметь хэш. Вся техника заключается в том, что вы используете хэш вместо пароля.

Если на удаленном сервер включен Restricted Admin login (Restricted Admin Mode for Remote Desktop Connections - RebelAdmin.com) , то вы возможно сможете войти в RDP, передав хэш с помощью собственного клиента Windows RDP(mstsc.exe )((Вам понадобится mimikatz или что-то другое, чтобы ввести хэш в процесс)). Получить ваш NTLM хэш(NTLM — Википедия) - это дело времени. Они(хэши) могут обычно использоваться для аутентификации к другим сервисам/машинам и включать lateral movement(Lateral Movement - ATT&CK for Enterprise). Powershell / PSExec, SMB и WMI являются обычными целями для PTH, но их также можно использовать для установки сеанса RDP на удаленном узле.

Если вы будите искать в интернете как это сделать, к сожалению, вы всегда будите приходить к использованию xfreerdp, но я не смог найти ничего в интернете о том, как сделать это непосредственно с помощью предоставленного клиента RDP mstsc.exe, поэтому выяснил это самостоятельно.

Это можно сделать с помощью mimikatz (вы должны быть локальным администратором):

sekurlsa::pth /user:<user name> /domain:<domain name> /ntlm:<the user's ntlm hash> /run:"mstsc.exe /restrictedadmin"


Откроется новое RDP окно. Если оно по-прежнему показывает пользователя, с которым вы вошли в систему, просто игнорируйте его - все будет работать ;-) Введите имя домена / IP целевого сервера, и если на целевом сервере включен Restricted Admin login, вы войдете в систему, в противном случае сервер сообщит вам, что вам не разрешено входить в систему. Restricted Admin login RDP основывается на Kerberos(Kerberos — Википедия). Взглянув на сетевой трафик, можно увидеть, что клиент RDP запрашивает билет от имени текущего пользователя, это не является проблемой, так как хэш- это все что нам нужно для аутентификации в Kerberos.

Restricted Admin login отключен, что я могу сделать?

Раздел реестра(https://social.technet.microsoft.co...op-services-enable-restricted-admin-mode.aspx) определяет, принимает ли сервер сеансы Restricted Admin. Если у вас есть хэш NTLM пользователя, который имеет права на установку разделов реестра, можно использовать, например, Powershell, чтобы включить его(Restricted Admin login) и войти в систему через RDP впоследствии:

mimikatz.exe "sekurlsa::pth /user:<user name> /domain:<domain name> /ntlm:<the user's ntlm hash> /run:powershell.exe"


В новом появившемся окне Powershell-а:

Enter-PSSession -Computer <Target>
New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "DisableRestrictedAdmin" -Value "0" -PropertyType DWORD -Force


Теперь ваш RDP должен работать нормально.

Report Page