Windows下修复CVE-2016-2183漏洞
前言
很久没水文章了,之前遇到漏扫软件扫出一台Windows Server存在SSL/TLS协议信息泄露漏洞(CVE-2016-2183),漏扫提供的修补链接已经失效,又在在网上查了很多文章,基本都是CtrlCV毫无作用,于是自己翻看了漏洞信息后弄了个修复方法。
以下仅根据漏洞信息从修复方向讨论如何确认漏洞是否存在和修复方法。
确认漏洞是否存在
根据漏洞信息提示,当远程连接使用了DES/3DES加密套件时,漏扫便会判断存在CVE-2016-2183漏洞。
于是使用nmap对3389进行验证,注意nmap要使用最新版本(7.92可用),老版本nmap(7.8不可用)不允许扫描本机,无法验证。
下载nmap
下载nmap,最好选择win32.zip,方便上传到服务器内执行。
确认漏洞是否存在
上传到服务器,解压后在nmap目录输入以下命令:
.\nmap.exe -p 3389 --script ssl-enum-ciphers localhost
会返回以下结果(此处已加固):
查看套件中是否存在DES/3DES加密套件,若存在则确认漏洞存在。
漏洞修复方法
根据漏洞信息,可以得出多个漏洞修复方法。
修复方法1:本地策略处更改SSL密码套件
网络上常见方法是在本地策略(win+R 输入 gpedit.msc)—本地计算机—Windows设置—管理模板—网络—SSL配置设置—SSL密码套件顺序处更改新的加密套件。
这种方法不做详细说明,不推荐使用该方法。想了解的自行查阅网上其他文章,讲得实在太杂乱了且复制套件时容易出错或者完全无效。
修复方法2:使用FIPS加密
该方式是使用FIPS兼容算法替换原有加密方式,设置方式为本地策略(win+R 输入 gpedit.msc)—本地计算机—Windows设置—安全设置—安全选项—系统加密:将FIPS兼容算法用于加密、哈希和签名。
这种方法不做详细说明,不推荐使用该方法。该方法会导致部分堡垒机的远程连接失效,还会使Windows其他的一些补丁失效,得不偿失。
修复方法3:使用IISCrypto禁用密码套件(推荐)
该方法是通过注册表禁用DES/3DES加密方式,配置界面便捷方便。
首先下载IISCrypto.exe,直接下载IIS Crypto GUI并上传到服务器,打开后界面如图(此处已加固):
直接点击左下角推荐设置Best Practices,再取消勾选Ciphers框里的Triple DES 168,即可点击Apply并重启,此时使用nmap复查发现DES/3DES加密套件已消失,漏洞修复完成。
推荐使用该方法进行修复,操作便捷不易出错,且漏洞修复确定性100%,缺点是不能批量修复,需要逐台登录上传执行操作。
修复方式4:注册表修改值
此方式与修复方式3类似,均是通过修改注册表值,以达到禁用或直接删除DES/3DES加密套件。
此处给出两个注册表修改方法。
修改方法1:注册表禁用DES/3DES加密套件
注册表编辑器(Win+R输入regedit),复制
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\
到路径跳转,如下图(已加固)
可见Ciphers,默认该目录内容为空,需手动创建子目录 Triple DES 168,并创建DWOPRD值,命名为Enabled(一定是要这个,大小写都要相同),数据类型填0禁用该加密方式,保存重启后漏洞修复。
修改方式2:注册表删除DES/3DES加密套件
注册表编辑器(Win+R输入regedit),复制
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002
到路径跳转,点击Functions如图(已加固)
在其中找到DES/3DES字样加密套件并删除确定,重启后漏洞修复。
这两种方法均是通过修改注册表实现漏洞修复,可通过编写bat来实现该漏洞的批量修复。
本文就水到这里,下次等有想法了再更(咕)了,有用的可以点个赞啥的,十分感谢。
循循而进,一往无前。