OD: ActiveX Vulnerabilities
通过一个精心构造的页面 exploit 第三方软件中的 ActiveX 已经成为一种惯用攻击手段,众多知名软件公司都曾被发现其注册的 ActiveX 中存在严重的缓冲区溢出漏洞,一个被广泛使用的第三方软件漏洞的危害性不亚于 OS 级别的漏洞!
每一个 ActiveX 控件被注册进入系统之后,就会在注册表中建立一个键值来标识自己,这个键值就是 CLSID(Class ID),位于:HKEY_CLASSES_ROOT\CLSID,而能被浏览器加载的控件信息位于:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility
满足下列条件的 ActiveX 控件才能被浏览器正常调用:
* 对已经安装进系统的控件,必须被标记为可安全执行脚本(as safe for scripting,CLSID 项下若有 Implemented Catagories 选项,则为可安全执行脚本)。
* 对未安装进系统的控件,初次调用时浏览器会给出提示警告,在用户确定并同意后,才会下载安装该控件。
当可安全执行脚本选项被取消时,IE 会警告用户:该 ActiveX 控件可能不安全,根据用户的选择,该控件仍可能被调用。
当 ActiveX 控件的 KillBit 被设置后,只要不启用 IE 中的“对未标记为安全的 ActiveX 控件初始化并执行脚本”选项,IE 就不会调用该控件。所以一旦一个控件被设置了 KillBit,就很难再被浏览器自动调用(注:论文 Acctcking Interoperability 中说明某些情况下 KillBit 机制可以被绕过)。
设置 KillBit 的方法:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\<CLSID>
Compatibility Flags = 0x400
很多程序例如 VC++6.0 自带的工具 OLEViewer 可以查看控件中的信息。
OLEViewer 中的 Type Libraries 选项中包含在系统中注册过的所有 ActiveX 控件信息。
一个 ActiveX 控件文件可以同时向系统中注册多个控件类,从 OLEViewer 中打开一个 ActiveX 后,新的窗口中以 coclass 为前缀即为控件类。
选中某个控件类,可以看到其 uuid;展开某个控件类,通过 Methods 可以查看其内部的接口集合。
选中接口名称,可以在右侧窗口中显示出接口信息。其中无参接口为属性接口,带有 propget 描述,测试时用赋值来传递数据给接口(Name.Interface=data);带参数的接口为函数/方法接口,带有 propput 描述,测试时用参数形式来传递数据(Name.Function(data))。
手工 Fuzz 的流程为:
建立变量,string//负数/小数/大数…
将变量传递给用户接口
保存代码到 web 服务目录下
OllyDbg 挂接 IE 并访问测试文件
分析
自动化的 ActiveX Fuzz 可以使用以下软件:
* COMRaider,带 GUI,由 iDefense LAB 的 David Zimmer 出品,很出色。
* AxMan,必须配合 IE 一起使用。
* Axfuzz,开源工具,可以列举 COM 的所有属性,进行简单 Fuzz。可以阅读这个工具的源码来学习如何编写 ActiveX 插件。
COMRaider 已将测试 ActiveX 控件所需的编写模板、获取用户接口、制定参数、测试结果监视等功能全部整合,能自动区分当前系统中能被浏览器正常调用的 ActiveX 控件,并分析出被测试控件的所有外部接口。
书中有几个实验:
* 超星阅读器 4.0 版本中的 pdg2.dll 的 LoadPage() 缓冲区溢出漏洞分析(Heap Spray)
* 微软 COMCT232.ocx 远程文件判断漏洞(实现穷举目录内容功能)
OD: ActiveX Vulnerabilities的更多相关文章
- OD: Kernel Vulnerabilities Analyze
内核漏洞大多出没于 ring3 到 ring0 的交互中.从 ring3 进入 ring0 的通道,以及操作系统提供的 API 都有可能存在漏洞.例如:驱动程序中 IoControl 的处理函数,SS ...
- OD: Kernel Vulnerabilities
内核漏洞概述 内核漏洞的分类 运行在 Ring0 上的操作系统内核.设备驱动.第三方驱动能共享同一个虚拟地址空间,可以完全访问系统空间的所有内存,而不像用户态进程那样拥有独立私有的内存空间.由于内核程 ...
- OD: File Vulnerabilities & Protocols & Fuzz
IE.Office 等软件有个共同点,即用文件作为程序的主要输入,但攻击者往往会挑战程序员的假定和假设. 文件格式 Fuzz 就是利用畸形文件测试软件的稳健性,其流程一般包括: * 以一个正常文件作为 ...
- OD: Vulnerabilities Analyze Skills
第五篇了,漏洞分析案例 漏洞利用的灵活程度让这门技术变得似乎没有什么原则可言,只有实践后总结提高才能挥洒自如. 漏洞分析方法 目标:弄清攻击原理.评估潜在利用方式及风险等级.扎实的漏洞利用技术是进行漏 ...
- ActiveX控件dsoFramer的使用(word、excel、PPT)
dsoframer是微软提供一款开源的用于在线编辑.调用Word. Excel .PowerPoint等的ActiveX控件.国内很多著名的OA中间件,电子印章,签名留痕等大多数是依此改进而来的. 一 ...
- Flash Activex NPAPI PPAPI 各种网页插件完整安装包下载地址
内容全部是自己手工原创写作的参考内容,完全排除从其他网站COPY的内容信息.如有雷同实属巧合. 奉献给有需求的人士,也给各位解决FLASH安装头疼的问题,正常在线下载安装运气不好的安装半天.运气好 ...
- 盗墓笔记—阿里旺旺ActiveX控件imageMan.dll栈溢出漏洞研究
本文作者:i春秋作家——cq5f7a075d 也许现在还研究Activex就是挖坟,但是呢,笔者是摸金校尉,挖坟,呸!盗墓是笔者的本职工作. 额,不扯了,本次研究的是阿里旺旺ActiveX控件imag ...
- 第一次ActiveX Fuzzing测试
接着上一篇的看雪Exploit me试题. 这道题给出了一个ActiveX的DLL,挖掘这个DLL中的漏洞. 由于从来没有接触过ActiveX的Fuzzing,所以找了一些文章来看.自己动手试验了一下 ...
- Registering DLL and ActiveX controls from code
http://delphi.about.com/od/windowsshellapi/l/aa040803a.htm How to register (and unregister) OLE cont ...
随机推荐
- Python学习笔记:07异常
异常 Python用异常对象(Exception Object)来表示异常情况,当异常未被捕获时,就会产生回溯(Traceback) 异常分类 內建异常类:Exception,AttributeErr ...
- Aptana Studio 快捷键
窗口 Ctrl+ Shift +L 调出快捷键提示 Ctrl+ W 关闭当前标签窗口 Ctrl+ Shift + W 关闭当前标签窗口 Ctrl+ F6 (或者是Aptana的Ctrl+Tab )下一 ...
- select查询的性能
为什么忘记commit也会造成select查询的性能问题 今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据, ...
- Solr4.8.0源码分析(18)之缓存机制(一)
Solr4.8.0源码分析(18)之缓存机制(一) 前文在介绍commit的时候具体介绍了getSearcher()的实现,并提到了Solr的预热warn.那么本文开始将详细来学习下Solr的缓存机制 ...
- STM32库中 __IO 修饰符(volatile修饰符)
STM32例子代码中会有像这样的代码 static __IO uint32_t TimingDelay; 这里边的__IO修饰符不好理解,单从字面可以看出是为IO相关,查其标准库可以得知这个__IO原 ...
- 个人.net学习规划路线
- OI记忆口诀
splay_rotate: inline void rotate(splay_node *x){ splay_node *y,*z;int d1,d2; d1=get_parent(x,y);//三个 ...
- 【性能测试】【Jmeter】学习(1)
2013/8/6开始阅读Jmeter文档 2013/8/7总结 监听器——CSV Data Set Config 在Jmeter中添加一个CSV配置原件 CSV配置原件添加方法:(右键点击某一个操作步 ...
- winPcap_4_获取已安装设备的高级信息
由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of ...
- doxygen学习笔记
下载doxygen:http://www.cnblogs.com/duxiuxing/p/4301015.html 学习思路 doxygen能够根据代码和注释生成文档.可想而知,doxygen对注释的 ...