• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Если на удаленном сервер включен Restricted Admin login ( ) , то вы возможно сможете войти в RDP, передав хэш с помощью собственного клиента Windows RDP(mstsc.exe )((Вам понадобится mimikatz или что-то другое, чтобы ввести хэш в процесс)). Получить ваш NTLM хэш( ) - это дело времени. Они(хэши) могут обычно использоваться для аутентификации к другим сервисам/машинам и включать lateral movement( ). 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( ). Взглянув на сетевой трафик, можно увидеть, что клиент RDP запрашивает билет от имени текущего пользователя, это не является проблемой, так как хэш- это все что нам нужно для аутентификации в Kerberos.

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

Раздел реестра( ) определяет, принимает ли сервер сеансы 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 должен работать нормально.

Источник:
 
Последнее редактирование модератором:

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Я понимаю что информация взята с внешнего источника , но стоит заметить что Enter-PSSession отрабовает только в случае включеного PS-Remoting.
На системе на которую мы через PSSession пытаемся должен быть доступный WinRM порт ( обычно по дефолту на портах 5985, 5986)
Про мимикатц прикольно, спасибо)
 
R

rajan00

Если вы обнаружите, что все не понимает, тогда вы можете вместо этого взглянуть на
категории для лучшего обзора.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!