本文为转载
转载自
https://www.cnblogs.com/lsdb/p/7210541.html
https://blog.csdn.net/u011728305/article/details/51638896
1.系统版本:windows server 2003
2.漏洞:CVE-2005-17943.修复方案:
漏洞介绍: Microsoft Windows远程桌面协议用于连接Windows终端服务。 Windows远程桌面协议客户端没有验证会话的服务器公共密钥,远程攻击者可以利用这个漏洞通过Man-in-Middle攻击方式以明文方式读取通信的所有信息。 由于客户端在连接服务器中,没有对加密钥的合法性进行正确检查,这就使的RDP存在中间人攻击问题,攻击可以按照如下方式进行:
1、客户端连接服务器,但是我们通过某种方式(DNS欺骗,ARP毒药等)使客户端连接到MITM(攻击者中间控制的机器)机器,然后MITM发送给请求到服务器。 2、服务器发送公共密钥和随机salt通过MITM,MITM发送包到客户端,但是使用MITM知道私钥部分的公钥与其进行交换。
3、客户端发送随机salt,以服务器端公钥进行加密发送给MITM。
4、MITM使用自己的私钥解密客户端随机salt,并使用实际服务器端的公钥进行加密发送给服务器。
5、MITM现在知道服务器端和客户端的salt,拥有足够信息构建会话密钥在客户端和服务器端通信。所有信息以明文方式。 个别用户会在linux下使用一些开源的RDP组件,如果扫出该漏洞,并且3389是RDP服务,则确定存在该漏洞,不会误报。
整改方法:* Windows XP和Windows Server 2003用户使用FIPS(3des)加密;
默认情况下,终端服务会话的加密级别设置为“客户端兼容”,以提供客户端支持的最高加密级别。其他可用设置为:
高 - 此设置通过 128 位密钥来提供双向安全性。
低 - 此设置使用 56 位加密。
符合 FIPS 标准 - 使用经过联邦信息处理标准 140-1 验证的方法加密所有数据。
所有级别均使用标准 RSA RC4 加密。
要更改加密级别,请按照下列步骤操作:
单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“终端服务配置”。
在左窗格中,单击“连接”。
在右窗格中,右键单击“RDP-tcp”,然后单击“属性”。
单击“常规”选项卡,在“加密”列表中单击所需的加密级别(选择FIPS),然后单击“确定”。