Windows server 2012 R2服务器出现RC4套件漏洞缺陷的处理方案

漏洞成因

RC4这套加密方法是在20世纪末期被研究出来并在2000年左右被大量的网站所使用,但是在02年出现了漏洞且持续了13年才被一个外国大佬所发现。

成因总结来说:就是加密方式太老了,长时间更换网站加密方式导致了攻击者可以进行中间人攻击,能够有效地进行大量用户的嗅探监听和会话劫持。

漏洞影响

攻击者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人对用户进行会话劫持同时可以获取到网站服务器证书信息。

漏洞发现

总结下来,网上的方法

  1. 在线检测
  2. nmap
  3. openssl
  4. testssl.sh
  5. curl

1、在线检测

直接在对应的在线检测网站中输入您要检测的URL,此类的网站比如https://www.ssllabs.com/ssltest/analyze.html

2、nmap

nmap -sV -p 443 --script=ssl-enum-ciphers HOST(目标IP或域名)

3、openssl

openssl s_client -connect HOST(目标IP或域名) -cipher RC4 [-servername HOST(目标IP或域名)]

执行后如果可以获取到服务器的证书即说明RC4套件存在,漏洞存在。

使用此方法需要注意,本地客户端的openssl工具版本不能太高,因为高版本不包含RC4这种有漏洞的密码套件,测试需要一个低版本的openssl工具。(执行openssl ciphers 查看是否有RC4套件,如果有再进行以上命令的测试)

如果目标地址无法通过IP访问(只能通过域名才能正常访问),那么上面的命令就需要加上后面括号里的servername参数,将域名加上(这一点是个坑,我也是通过wireshake抓包比较出来的。)

4、testssl.sh

使用testssl.sh工具进行测试(其实底层还是调用的openssl)

./testssl.sh -4 HOST(目标IP或域名)

image-20210417132057784

5、curl

使用curl工具指定RC4去请求目标,如果正常返回页面即表示漏洞存在

curl URL --ciphers RC4 [--tlsv1;tlsv1.1;tls1.2;sslv2;sslv3]

漏洞修复

对于Windows server 2012 R2服务器,需要修改注册表键值,进行禁用

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000

嫌麻烦的话,直接创建一个txt文件,比如rc4.txt,保存后修改后缀为reg,双击执行即可修改好注册表。

Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers]
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000

对于Windows 2012 R2之前的Windows版本,需要安装个补丁,具体操作可以参考:https://support.microsoft.com/zh-cn/topic/microsoft-安全公告-用于禁用-rc4-的更新-479fd6f0-c7b5-0671-975b-c45c3f2c0540

对于windows server 2012 R2搭建的ADFS服务器,必须更改生产环境中的所有ADFS服务器。如果要使其生效,需要重新启动服务器。可以参考一下文章:https://docs.microsoft.com/zh-cn/windows-server/identity/ad-fs/operations/manage-ssl-protocols-in-ad-fs

posted on 2021-05-18 10:37  tech_lee  阅读(2861)  评论(0编辑  收藏  举报

导航