搜索
查看: 3590|回复: 1

[教程] 基于Remote Desktop和VNC的远程控制搭建以及配合DDNS的公网访问

[复制链接]
发表于 2021-1-19 11:59:25 | 显示全部楼层 |阅读模式
今天的帖子讨论远程控制的搭建。不讨论任何软件的破解。

首先我们需要知道,无论是Windows还是macOS,都是随系统配有远程受控功能的。日常使用中,在非局域网的环境下,很少有人会用系统自带服务,而是会选择第三方的远程控制软件,甚至进行了各个平台和软件的功能对比。但是,仔细复盘远程控制平台选择的逻辑,我们为什么不使用原生平台,并不是因为原生服务难用,而是多数人没有固定公网IP,这就导致了远程控制的第一个环节——连接到受控设备——就无法完成。但很多人忽视了远程控制搭建过程中的这个核心矛盾,而把重心放到了各种第三方远程软件的功能对比上。所以,在远程控制搭建中,需要真正关心的并不是TeamViewer的设备数量限制、向日葵的带宽限制、ToDesk和GoDesk的服务抖动、QQ的有人值守依赖,而是如何连接到设备的问题。


【远程控制Windows设备】
【受控端设置】Windows系统打开远程受控在系统属性——远程设置里。需要注意的是:Win10-2004版本之后在这台电脑右键菜单中的属性被跳转指向了“设置”而不是传统的控制面板,需要打开这台电脑之后在背景右键菜单中进入属性。之后勾选“允许远程连接到这台计算机”。如果受控端采用了本地账户登陆且没有设置密码,此处会提示设置远程访问控制密码。
【控制端软件】连接到这台Windows设备需要Microsoft Remote Desktop,iOS的App Store、安卓的酷安、Windows的Microsoft Store、macOS的Mac App Store都是提供免费下载的。(刚搜索了一下,Mac App Store的CN区是没有这个软件的,且微软网站不提供.app或者.dmg文件的下载,需要从第四方分享站下载,请注意安全)。发帖之前我联系了在美国(本土)、德国、新西兰留学/工作的朋友,这三个国家的Mac App Store以及Android的Google Play都是提供下载的。
【局域网的测试】远程连接到Windows的默认端口是3389。在Microsoft Remote Desktop里设置好目标IP和端口,用户名和密码是受控Windows设备的账户和密码。如果是本地账户需要输入账户名+登陆密码/控制密码;如果是Microsoft ID登陆则需要输入ID和ID密码,Microsoft ID的双重验证(Twice Check)不会影响远程控制、本机设置的PIN不会影响远程控制也无法用于远程控制登陆。


【远程控制macOS设备】
【受控端设置】macOS系统需要在系统偏好设置——共享中打开远程受控。勾选打开“屏幕共享”服务。在“电脑设置”面板里勾选打开“任何人都可以请取得控制屏幕的权限”和“VNC现实程序可以使用密码控制屏幕(需要设置密码)”。“允许访问”列表勾选“仅这些用户”,在列表中删除Administrator账户,仅保留当前用户。
【控制端软件】macOS采用VNC协议共享屏幕和远程控制。使用常见主流VNC工具即可访问。我个人更推荐使用VNC Viewer,其官网(https://www.realvnc.com/en/connect/download/viewer/)提供所有常见系统下载或商店地址连接。
【局域网的测试】VNC默认端口是5900。在VNC Viewer输入目标IP和端口号。建立连接会提示认证控制屏幕密码。建立连接后需要输入账户登陆密码(不是Apple ID密码)。


【DDNS和端口转发】
DDNS中文是动态域名服务,就是把域名解析到非固定IP地址上。原理我没有仔细研究过,基础模式就是利用账号系统获得实时IP。公网访问某个域名时查找这个域名绑定的账号,拉取账号的实时IP反馈给访问者。
如果把DDNS搭建在设备上做内网渗透,会占用并发数并受到服务商的带宽限制。而将DDNS配置在路由器中则既不会占用并发,又可以跑满带宽。(内网渗透所有流量都经过服务商的服务器;而路由器DDNS只涉及到解析,对访问者而言服务商只提供DNS服务,无非是域名到IP的路由延长、建立链接的时间延长而已)。
我在路由器中开启了DDNS服务,并通过端口转发实现了一个域名下不同端口指向不同内网设备的配置。
比如在路由器内把公网1111端口转发至Mac内网IP的5900端口;把2222指向Windows设备的3389端口。则在公网通过domain:1111可以远程控制macOS的VNC,通过domain:2222可以远程控制Windows的remote desktop。


【安全性】
从公网远程控制内网设备需要知道域名+端口+密码。
域名——域名一般都是DDNS服务商的二级域名,只要不主动泄漏给别有用心的人是不会有人知道访问路径的。
端口——常见的80/443/21/22等一大堆端口都是被DDNS服务商和ISP封锁的,端口转发设置过程中公网端口只能选择小众不常见的奇葩端口,只有设置的时候自己知道;而且转发之后,5900和3389端口被隐藏和保护;如果技术实力丰厚,还可以把公网5900/3389转发到蜜罐里。哪怕域名泄漏,需要历遍端口才能找到打开的端口。
密码——Windows需要用户名+密码;macOS需要两个密码。完整攻破远程控制需要至少四个项目。而且密码可以做成大写+小写+数字+符号。(目前还是没有办法实现中文密码的)
需要特别注意的安全性设置——有一些DDNS服务商是不封锁80端口的,这种情况下直接访问域名会被跳转到路由器管理页面。域名+管理密码就可以直通内网,而且路由器被攻破就等于内网所有设备都在威胁之下。所以设置好端口转发之后一定要通过公网直接访问域名测试80端口,如果打开,则在路由器端口转发设置中将80端口转发给内网一个不存在的设备和端口即可。(如果需要公网直接访问路由器的转发,则再设置一个端口转发,把一个小众端口转发给路由器内网IP的80端口即可。)



viploser
https://arcice.org
UTC+8.00 2021-01-19 11:58
回复

使用道具 举报

发表于 2021-1-19 17:52:10 来自手机 | 显示全部楼层
移动没ip
哭唧唧
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-11-26 08:07 , Processed in 0.094222 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表