2003年10月15日,微软发布了MS03-041号漏洞公告:微软Authenticode实现允许远程执行任意代码,该漏洞能影响现有的几乎所有的NT内核的系统。包括最新的补丁!该漏洞可以使入侵者远程执行任意代码!下面。我们就一起来看一下该漏洞的分析。利用以及防护。以使我们能及时了解这个漏洞,并且防护好自己的系统
为了更好的修复和利用漏洞,让我们先看一下什么是“Authenticode”?
微软的Authenticode2.0技术用于标识一份软件的发布者并且证明他还没有被损害,从证书机构(Ca)处获得的数字证书的软件发布者可以使用Authenticode签名工具来为他们的软件包进行数字化签名,其证书格式一般遵从ITU-x5.09 v3格式,公钥算法为RSA。Authenticode是客户方软件,它监视ACtiveX控件,CAB文件,java小应用程序或可执行文件的下载。在这些文件中寻找数字证书来进行验证,然后对可能出现的安全问题向用户显示警字、证书机构的名字及他的商业证书还是个人证书。证书的有效时间等等。
数字签名能够保护软件的完整性,对软件在传输过程中的非法更改比较敏感,软件以便来说规模都比较大,而目前公钥算法,入RSA,在实现上比较慢,因此在对软件进行数字签名时,可先用一个杂凑函数对软件代码进行处理,然后再用用户的私钥对杂凑函数算出杂凑值,在对签名进行脱密,如果两个结果一致,则说明软件没有被更改过,否则,就说明软件在传输的过程中被非法更改了,数字签名还能够确定软件的发布者。软件使用者导入证书机构发布给软件发布者的证书,就可以用软件并不能保证没有安全问题,签名的作用在于一旦出现问题,就可以根据证书对发布者进行追查。
而Authenticode是一种使用户可以验证Activex控件的发行者的技术。通过他的代码签名机制,Authenticode可以在用户将签名软件下载到他们的系统之前识别该软件的发行者,并验证该软件没有被篡改,根据此信息,最终用户可以决定是否下载和安装代码。
与Authenticode相关的ACTIVEX
ACTIVEX也是一种技术,编程人员可以使用这种技术开发名为控件的独立软件模块,这种模块执行单个任务或一组相关任务,ACTIVEX控件可以由需要它提供的功能的程序或WEB站点调用,作为网页的脚本宿主如何利用ACTIVEX呢?可以使用如下代码:
这样就可以完成我们浏览页面所需要“ACTIVEX”控件或是CAb文件的下载与安装,
Authenticode技术漏洞资料
默认情况下,在安装ACTIVEX控件之前,Authenticode会向用户显示一个对话框,要求用户确认他们信任控件的发行者并确认他们希望在系统中安装该控件,从而阻止ACTIVEX控件自动安装到用户的系统中,仅仅当用用户单击“是”时候,ACTIVEX控件才会下载并安装到用户的系统中,但Authenticode中存在一个缺陷!在某些内存较低的情况下,他可能允许ACTIVEX控件下载和安装,并且不向用户显示上述的对话框!
我们在前面的介绍中谈过,Authenticode是客户方软件,他监视ACTIVEX控件,CAB文件、JAVA小应用程序或可执行文件的下载,但如果这一层的关键检测出现问题,那么在随后的文件执行上将存在着严重的危险问题。
使用此漏洞,攻击者可以在用户的系统中安装和执行未经授权的ACTIVEX控件,这使攻击者能够在用户系统上当前登录用户的安全上下文中执行任意操作。
Authenticode缺陷不仅仅存在于IE上,一般基于windows底层Authenticode技术开发的所有软件都存在此问题,也就是说即使你没使用IE,但你的系统内核是windows,那么任何使用Authenticode技术应用程序都肯呢个受到此缺陷的攻击!
下面是对部分Microsoft windows系统所受攻击的严重等级描述:
Authenticode技术漏洞的利用
从以上的漏洞资料中显示,Authenticode中存在的缺陷利用是有前提和接触媒介的。对于一般而言,通过web网站或者是E-mail方式攻击就成为攻击者的首要选择!
1.漏洞的攻击途径
为了利用此漏洞,攻击者可以创建具有特殊形式的html,电子邮件并将其发送给用户,如果用户查看html,电子邮件,则用户的系统中可能安装和执行未经授权的ACTIVEX控件,或者攻击者可以设立一个恶意的WEB站点,并在其中放入用来利用此漏洞的web页,如果攻击者说服用户访问该站点,则用户的系统中可能会安装和执行ACTIVEX控件。
在者两种情况下,Authenticode中的缺陷都会导致未经授权的ACTIVEX控件使用与用户相同的权限在用户的系统中安装和执行,并且不会提示用户予以同意,以现在的脚本攻击方式,实现以上的攻击途径是完全可行的。在我们以前讲过的网页病毒以及网页木马文章中也曾提到过利用windows漏洞来制作病毒页面,思路上完全可以照搬,效果上更隐蔽和快速。
2.漏洞的攻击办法
Authenticode中存在的缺陷的秀发前提似乎已经很明确了:“在某些内存较低的情况下”,这也是攻击者要首先解决的问题,如何使访客的计算机内存降低?
大家知道我们在PC上玩游戏后,退出游戏时会发现计算机明显的反应速度降低了,随后速度逐渐恢复到正常,在低内存的情况下继续运行程序可能会出现程序无响应的情况,那么攻击者只要构建出一个这样的一个环境就可以使攻击有效!
本文内容所提及均为本地测试或经过目标授权同意,旨在提供教育和研究信息,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,作者不鼓励或支持任何形式的非法行为。