无来源ip的RDP爆破防御对策小记

前言

本该是风和日丽的一天,闲得无聊,打开了windows的事件查看器,诶,我不是换了rdp(远程桌面连接)的默认端口了吗,竟然还这么多登录日志,得~ 换端口果然是自欺欺人的事情。被爆破了。再仔细一看事件中竟然没有记录ip。那么,开搞吧。


无来源ip的RDP爆破防御对策小记_第1张图片
安全事件日志

安全事件分析

先说下我的环境,Windows Server 2012 R2,除了更换了3389的端口以外,没有做任何安全配置。
其实第一眼,看到日志,我本以为是SMB(445),NETBIOS(135,139)这些服务的锅,因为安全日志的事件ID为4625和4776。
前者的LogonProcessNameNtLmSsp,后者PackageNameMICROSOFT_AUTHENTICATION_PACKAGE_V1_0

通过上面两个关键词,查到许多NtLm攻击相关的文章(后面发现其实和这个没关系...),我就先从SMB安全配置入手(绝招是直接关闭SMB,简单方便,读者可不做下面的操作。但我想探究这次的攻击究竟是怎样的)。

关闭漏洞满天飞的SMBv1

1、检查SMBv1状态的方法:
在Powershell中运行命令:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
如果打印“Ture”,则说明SMBv1为开启状态。
2、关闭SMBv1的方法
在power shell中运行命令:
Set-SmbServerConfiguration -EnableSMB1Protocol $false

更多参考信息见微软文档

启用SMB签名

又因Freebuf的一篇Windows SMB请求重放攻击分析,我决定再启用SMB签名。

将注册表项"RequireSecuritySignature"设置为 1 可以启用 SMB 签名
可用powershell执行
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 1 –Force


通过策略组配置NTLM相关安全选项

本地组策略->计算机配置->Windows设置->安全设置->安全选项中一些配置进行了修改。
例如:

  1. 网络安全: 限制 NTLM: 审核传入 NTLM 流量 设置为 为所有帐户启用审核
  2. 网络访问: 不允许匿名枚举 SAM 帐户 设置为启用

上述设置,我也不是非常清楚。这里就不展开了。
注意:错误的修改,可能会导致自身无法连接到服务器。
具体可看这篇文章保护内网安全之提高Windows AD安全性

爆破依旧

进行上述的修改后,安全事件日志还是哗啦啦的警告,然后我一查看云服务器的安全组,我根本都没有开放445,139这类的端口。然后我注意到了在应用程序与服务日志中的Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational事件日志。

无来源ip的RDP爆破防御对策小记_第2张图片
Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational

将信息级别的日志筛除后,得到了上图的结果。嗐!原来还是RDP爆破啊。并且有来源ip了,来,继续。

RDP爆破防御

无来源ip的RDP爆破防御对策小记_第3张图片
RDP爆破方式攻击防控思路梳理

简单有效-策略组限制

通过上图大佬的总结,我优先使用了策略组进行配置,账户锁定策略。这个配置也比较简单。运行打开gpedit.msc,按照下图配置即可。

无来源ip的RDP爆破防御对策小记_第4张图片
账户锁定策略

但是配置后,即使等了一段时间后还是有大量的不同ip在进行爆破尝试。让我甚至一度怀疑这里的ip都是通过什么漏洞伪造的。
并且因为使用了云服务商的安全组策略,为避免多余的麻烦,没有开启windows防火墙,所以可能无法成功拦截?所以我只好继续

wail2ban

wail2ban,linux中有个很好用的工具,叫做fail2ban,wail2ban算是它的windows版本,做的事情大致相同,从日志(事件)匹配并提取ip,进行封禁。
Windows Server Wail2ban and Folder Sharing not working together - Error 4625 no IP
使用还是很简单的。

  1. 按照上面的介绍,需要在wail2ban.ps1增加为$EventTypes增加一个事件,即修改为$EventTypes = "Application,Security,System,Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational",
    $CHECK_COUNT用来控制尝试次数,默认为5.
  2. 然后在wail2ban_config.ini中添加
[Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational]
140=RDP Logins
139=RDP Logins With Tls1.0

最后的139事件可不添加。后面会用到。

  1. 开启windows防火墙
    注意开启防火墙时,如果不是默认3389的默认端口的话,需要手动添加入站规则。

配置好后的效果如下:


无来源ip的RDP爆破防御对策小记_第5张图片
wail2ban

这样一目了然的发现,还真的都是不一样的ip。
(并且似乎开启防火墙后,策略组的配置也生效了)

数据包分析

其实到此为止已经差不多了,但是我想肯定还是服务器有什么地方配置的脆弱了,才会受到此次攻击。我就想看看对方的RDP爆破和我正常的RDP连接有什么区别。
恩,Wireshark安装!
因为用到了TLS层,我后面甚至还做了解密(不做也可以)。具体方式见如何使用Wireshark解密Windows远程桌面(RDP)协议
我的捕获过滤器是 port 端口号,显示过滤器为not ip.addr eq 本机ip

无来源ip的RDP爆破防御对策小记_第6张图片
爆破数据包

无来源ip的RDP爆破防御对策小记_第7张图片
正常登陆包

可以看到他协议用的是Tlsv1, 而我自身使用的是Tlsv1.2。Tls 1.0也不少问题,那么简单了,赶紧禁用Tls1.0吧。

禁用TLS1.0

  1. 策略组强制使用TLS(不好使)
    在策略组 计算机配置 \windows 组件 \ 远程桌面服务桌面会话安全中设置远程 (RDP) 连接要求使用特定的安全层为 TLS1.0。
    你可能很疑惑...说好的不用1.0了,怎么你还强制1.0了。这个好像是微软的显示错误T_T,不过经我测试,的确也不好使...情况说明见微软文档
  2. 通过注册表禁用Tls1.0
    HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server项中新建一个名为Enabled的DWORD,值设置为0。
    为了避免不必要的麻烦,设置好后我进行了重启。

效果

禁用TLS1.0后,再去查看事件,发现已经由原先的140事件,变为了139事件,描述为服务器安全层在协议流中检测到一个错误(0x80090304),并中断了客户端连接(客户端 IP:45.145.64.5)。,攻击方的一次尝试也不能成功了!
wail2ban也可以继续开着,并且做一些配置,还可以防御更多的爆破事件。

最后我也照猫画虎的来一次威胁情报IOC,下面的ip是本次攻击事件中出现的。

193.106.30.234, 185.202.1.110, 113.65.153.144, 222.187.245.198, 202.146.219.27, 47.107.182.101, 43.248.186.80, 112.25.212.219, 111.40.223.9, 113.62.177.19, 185.202.1.105, 118.180.214.5, 37.71.141.162, 193.165.191.59, 45.145.67.173, 185.202.1.106, 185.202.1.113, 45.145.64.5, 185.202.1.103, 185.202.1.111, 106.52.138.52, 185.202.1.107, 193.106.29.82, 60.10.62.235, 121.151.155.170, 45.145.66.157, 185.202.1.148, 219.139.151.18, 223.78.106.25, 183.110.79.147, 58.120.225.117, 60.6.224.242, 185.202.1.109, 185.202.0.117, 117.146.37.90, 176.96.82.182, 220.179.227.205, 118.163.153.6, 60.167.165.166, 89.248.168.221, 58.120.225.122, 112.175.114.17, 218.6.9.84, 61.180.90.12, 223.99.164.133, 185.202.1.100, 185.202.1.96, 111.9.153.42, 60.22.91.240, 106.52.170.87, 185.202.1.104, 113.12.64.58, 36.99.161.37, 211.47.236.220, 185.202.1.102, 175.16.218.50, 180.168.74.70, 87.251.75.176, 222.178.239.184, 124.116.171.30, 142.11.249.99, 195.54.160.99

参考资料

Windows 2016 服务器安全配置和加固
windows 系统简单加固

你可能感兴趣的:(无来源ip的RDP爆破防御对策小记)