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 ...
随机推荐
- 2D简单图形相关算法罗列
因为平常在Qt开发过程中经常会与一些简单的2D几何图形打交道,因此学习和掌握一些基本的2D几何计算还是很有必要的,在这里罗列一些常用的基本情况,之后会适时补充. [1] 两点之间距离,根据两个点的差值 ...
- webBrowser(网络转载)
C#WebBrowser控件使用教程与技巧收集--苏飞收集 先来看看常用的方法 [C#] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 ...
- Routing
假如有一个请求:localhost/home/index,那么路由需要做的事情如下: (1)确定Controller (2)确定Action (3)确定其他参数 (4)根据识别出来的数据,将请求传递给 ...
- Web前端开发人员和设计师必读文章推荐
推荐一个很好的学习资源: Web前端开发人员和设计师必读文章推荐[系列一] Web前端开发人员和设计师必读文章推荐[系列二] Web前端开发人员和设计师必读文章推荐[系列三] Web前端开发人员和设计 ...
- asp.net请求流程
http://developer.51cto.com/art/200902/109441.htm http://www.cnblogs.com/couhujia/archive/2010/04/21/ ...
- Keil C51库函数原型列表
//1. CTYPE.H bit isalnum(char c): bit isalpha(char c): bit iscntrl(char c): bit isdigit(char c): bit ...
- Xamarin.Forms WebView
目前本地或网络的网页内容和文件加载 WebView是在您的应用程序显示Web和HTML内容的视图.不像OpenUri,这需要用户在Web浏览器的设备上,WebView中显示您的应用程序内的HTML内容 ...
- 基于MINA框架快速开发网络应用程序
1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架.通过使用M ...
- jQuery Ajax 实例 ($.ajax、$.post、$.get)【转载】
本文转载自:http://jun1986.iteye.com/blog/1399242 Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的 ...
- Alert Views
Alert views display a concise and informative alert message to the user. Alert views convey importan ...