RDP连接多开方法与利用思路

2021-08-13 15:16:39 浏览数 (3)

文章前言

本篇文章我们主要介绍在拿下目标域内主机的情况下,如何多开RDP链接且使得正常登录目标主机的用户不会被强制下线或者发现

具体实现
测试环境
  • 域内主机:Windows 7
  • 主机地址:192.168.174.170
正常情况

Step 1:普通用户(Al1ex)正常登录域内主机

Step 2:攻击者在拿下目标主机的情况下,开启远程桌面,之后使用同一账户进行远程连接

之后发现攻击者远程登录后,正常登录的用户会被强制下线:

攻击者使用不同的账户(Al2ex)进行远程连接

之后会提示"其他用户当前已登录到此计算机,如果继续,则该用户必须断开与此计算机的链接,是否继续?"

之后我们继续链接,发现正常登录的用户会被提示"Al2ex要链接到该计算机",当然这并非我们所期望的:

如果30秒内未断开连接,则原账户会被直接断开,攻击者Al2ex成功登录:

总结如下:

  • 同一账户:同时只能有一个用户登录
  • 不同账户:同时只能有一个账号登录
多开实现1

Step 1:在目标主机上以管理员权限执行mimikatz的命令

代码语言:javascript复制
privilege::Debug
ts::multirdp

Step 2:之后同一账户远程登录

之后发现正常的登录的用户Al1ex被强制下线,攻击者成功使用Al1ex登录:

Step 3:使用不同的账户(Al2ex)登录

之后发现Al2ex成功登录,且不会引发正常登录的用户Al1ex的警觉

简单小结:

  • 相同账户:mimikatz并不能解决同一账户多端登录问题,同样会导致一方被强制下线
  • 不同账户:mimikatz能够较好的解决多端登录问题,同时可以规避警示信息,降低用户的警觉
多开实现2

这里提供另外一种多开方式——rdpwrap,项目地址如下:

https://github.com/stascorp/rdpwrap

下面来看具体操作:

Step 1:执行install.bat进行安装

Step 2:之后去除"Sigle Session per user"选项

Step 3:使用同样的账户进行远程登录

发现可以同时登录:

注意:这种在拿到目标主机的一个shell权限之后,想要多开登录同一账户时多少有一些不太现实,略显鸡肋,因为要涉及到图形化交互,但是如果当前未有其他用户登录或者使用不同的用户登录后,可以通过多开的方式来进行团队协作进行渗透测试

Step 4:使用不同的账户进行远程登录

发现可以同时登录

简单小结:

  • 相同账户:需要设计到图形化操作,在前期渗透过程中略显鸡肋,后期团队协作中可以有较好的辅助作用
  • 不同账户:可以实现多用户同时登录对目标进行渗透测试
扩展补充

a、查看是否开启远程桌面:

代码语言:javascript复制
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections

# 状态解释
0x1表示关闭
0x0表示开启

b、查看远程桌面的端口号

代码语言:javascript复制
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v PortNumber

c、开启远程桌面

代码语言:javascript复制
meterpreter > run post/windows/manage/enable_rdp

d、关闭远程桌面

代码语言:javascript复制
meterpreter > run multi_console_command -r /root/.msf4/loot/20191203031341_default_192.168.80.132_host.windows.cle_476697.txt

e、修改防火墙允许3389端口通过

代码语言:javascript复制
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

1 人点赞