技术解析

使用 frp 将 Windows 远程桌面暴露到公网上,貌似被爆破了,怎么破
0
2021-06-08 15:46:33
idczone

起因是发现 frp dashboard 远程桌面端口流量非常大,然后查看远程桌面主机的事件查看器,非常密集的账户登录失败事件,大概每秒 3-5 次。下面是事件信息。 ps:暴露端口不是 3389,密码也是强密码

帐户登录失败。

使用者:
	安全 ID:		NULL SID
	帐户名:		-
	帐户域:		-
抗投诉服务器	登录 ID:		0x0

登录类型:			3

登录失败的帐户:
	安全 ID:		NULL SID
	帐户名:		xxxxxxx
	帐户域:		DESKTOP

失败信息:
	失败原因:		未知用户名或密码错误。
	状态:			0xC000006D
	子状态:		0xC000006A

进程信息:
	调用方进程 ID:	0x0
	调用方进程名:	-

网络信息:
	工作站名:	-
	源网络地址:	127.0.0.1
	源端口:		0

详细身份验证信息:
	登录进程:		NtLmSsp 
	身份验证数据包:	NTLM
	传递服务:	-
	数据包名(仅限 NTLM):	-
	密钥长度:		0

登录请求失败时在尝试访问的计算机上生成此事件。

“使用者”字段指明本地系统上请求登录的帐户。这通常是一个服务(例如 Server 服务)或本地进程(例如 Winlogon.exe 或 Services.exe)。

“登录类型”字段指明发生的登录的种类。最常见的类型是 2 (交互式)和 3 (网络)。

“进程信息”字段表明系统上的哪个帐户和进程请求了登录。

“网络信息”字段指明远程登录请求来自哪里。“工作站名”并非总是可用,而且在某些情况下可能会留为空白。

“身份验证信息”字段提供关于此特定登录请求的详细信息。
	-“传递服务”指明哪些直接服务参与了此登录请求。
	-“数据包名”指明在 NTLM 协议之间使用了哪些子协议。

Windows 这么弱的?

你不说我没发现,我也看了一样我的 Windows 日志,也是一样的情况,改个端口看看呢

我这边是默认端口,看账户名全都是用的 ADMINISTRATOR

frp 可以设置密钥

frp stcp

这个日志在哪里看的?

用 stcp,若直接暴露到公网,被暴破也正常

这哪里能看出 windows 弱?

换个域名。或者换个 ip

我是在 frp 服务器用 iptables 做一下屏蔽,设置了只放行我所在城市的 IP 段,之后就清净了好多。

注意看帖,lz 是被爆了,没有破

欢迎来到公网,vps 上看一下 sshd 的日志吧,特别是开 22 端口的,只能说彼此彼此。
ps:开到公网后请及时更新 windows 的安全补丁哦!

SSH 那个才比较猛。我用了个脚本,密码 5 次错误封 IP 。结果半个月之后看了下 LIST,估计有几万个 IP

frp 绑定域名套 cloudflare,如果仅自用的话,cloudflare 防火墙加规则禁止非中国 ip 访问

使用频率低的话,端口不暴露,ssh 映射到本地再连接。
使用频率高的话用 vpn 组网


没看清,以为破了……噗……
暴露在公网的东西,被攻击很正常吧……我的 ssh 一天几百到几千字被试密码,不是弱密码让他们玩去……
楼主如果用的路由器的 frp,可以用 frpc 的页面管理,需要用的时候再反代到 Windows 机器上

城市的 IP 段怎么获取到的?

我的做法是用 iptables,默认屏蔽 RDP 的端口( reset 所有新 TCP 连接),然后给 VPS 上自己的用户写了个 ~/.ssh/rc 文件,给自己的登录 IP 放通 10 分钟的 RDP 端口,这样我每次 SSH 登录成功后 10 分钟内我的 IP 可以连接 RDP 端口,剩下就是本地写个脚本 SSH 连一下 VPS,这样每次我只要双击运行一下 SSH 脚本,就可以马上双击旁边的 .rdp 配置文件,并且不用担心被人扫描的情况

一律 shutdown 解决

win 的日志都在事件查看器里面

iptables 自己的 ip 白名单,动态 ip 也不怕,ddns 个免费域名,10 分钟更新一下

nps 的私密代理 可以了解一下。

这是正常现象啊,有什么值得单独拿出来说的吗?公网就是个黑暗森林啊

frp 是 linux 上安装的吗?
如果是的话你可以开个 Fail2Ban 规则,配合 iptables 就可以干掉大部分请求了。

我是要用远程的时候上服务器打开端口,不用的时候关闭。

说句题外话,请问 windows 上有类似 fai2ban 的工具吗?

我以前自己写过一个挺生草的东西,就是读登录请求然后多于五次失败的拉黑名单,不过比较不稳定……
其实你可以在 Windows 上开个 WSL 装 f2b 过滤。

f2b 这东西得接入日志吧,咋接 windows 日志不会啊。至于自己写,怕是写完以后因为运行占用太多 CPU 资源导致以为被攻击┓( ´∀` )┏

可以把 FRP 换成 mesh VPN,Windows 上只允许 VPN 流量进入。而且 mesh VPN 成功打洞后直连还挺快的

买个域名吧,frp 可以限制域名连接端口,你买个又长又乱码的域名指向你的 frp server,然后 frp 绑定端口到这个域名就行,直接用 ip 风险确实大。

要不要尝试下我的方案,带 ip 名单,时间限制的:
[-]( https://www.v2ex.com/t/729271#reply10)

Ceventlog 就行了,有事件发生会通知线程的。主要是你要知道你要监听的事件的 ID 什么的,挺简单。

大佬,frp 怎么绑定域名访问端口

用 frp 的 stcp 模式可以避免直接暴漏端口在公网上的风险
https://www.linuxprobe.com/frp-security.html

我看错了,只有 http 服务才能 custom domain
你直接 tcp,只能用 stcp 了
https://github.com/fatedier/frp#expose-your-service-privately

1 换个端口,2 启用密钥没得问题

换个端口 然后设置好 只有你指定的 IP 或者 IP 域可以访问

最不担心的就是爆破了,穷举出来了我马上去买彩票。

可以使用 v2ray 做反代,比直接用 frp 更加安全

一键关机解决 (开玩笑的,不过如果用密钥的话要好吧

你们都用 frp,我用 nps,感觉配置更灵活,客户端不用配置

其实还有个办法,RDP 被登陆时邮件提醒。虽然不能防御,但可以亡羊补牢。

换端口试试?

用 tinc 把,或者是 zerotier

我用的 wireguard https://huelse.gitee.io/posts/wireguard-nat-lan/

审题啊 他是 3389 的 tcp 连接,cf 防不了

更正一下“是 RDP 的 tcp 连接”


https://github.com/DigitalRuby/IPBan/releases
这个工具很好用

/t/740532
早年间发现 frp 这个特性,但是没有找到什么好的办法处理。
所以现在转 zerotier 了。

可以试试用 vpn 的方式解决
https://github.com/bjdgyc/anylink

如果不是暴露给别人用,那就不要把端口暴露到公网,要可识别来源的 VPN 类方案。

可以试试 ToDesk

针对楼主的问题,还是用 FRP 自带的 STCP 比较好。

推广一下: https://github.com/wevsty/RDPBlocker
逃。


基本啥端口过一阵子都会挨扫

目前是 frp 开放一个机场的服务端端口,通过飞机代理连内网再连 RDP,这样开放到外网只是一个没有特征的机场的端口。暂时没发现有攻击。

提醒一下,安全防护方面不要寄希望于简单的服务端口就能躲过端口扫描,即使普通的 nmap 之类的工具都可以通过端口的指纹识别判断服务甚至版本。

我的也是,在 github 上找到了这个项目, 根据实际情况 block 一些国家的 IP 就好了,我是 block 的是 俄罗斯
https://github.com/iiiiiii1/Block-IPs-from-countries

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服