oleview x86和x64的dll,需要用对应的oleview工具查看 Object Classes,双击查看对应的组件对象(生成实例,如运行Windows Media Player Burn Audio CD Handler,有窗口的实例会直接显示出来) Application IDs,查看组件注册的id号,通过createInstance创建,树的节点名称即id名称(oleview不能搜索,树节点按照字母排序 ) oleview不支持搜索,可以使用regdllview查看 Type Libraries,tlb库和所在路径,双击可查看库的成员(exe形式的组件不能查看) Interfaces,列举了系统中所有的接口 ,组件中导出的都是接口,所有找到接口就能知道包含哪些成员定义 查看tlb文件 oleview可以查看tlb文件中包含的成员等信息, ado成员等信息 word成员信息
我们通过oleview.exe -> File ->View TypeLib,可以查看到WPS文字所有的API接口,对于微软Office亦是如此。 使用oleview生成idl文件 oleview的位置,双击打开 D:\Windows Kits\10\bin\10.0.17763.0\x64\oleview.exe 找到WPS目录下的wpsapi.dll D:\Program Files\WPS Office\WPS Office\11.1.0.14036\office6\wpsapi.dll 使用oleview.exe打开后另存文件wpsapi.IDL
FACTORY_TYPE_SINGLE_THREADED, &m_pD2DFactory); QueryInterface函数查询对象中的其他接口函数,对象内部vtable存放各个接口的函数表 Directx组件使用oleview
github.com/tyranid/oleviewdotnet/releases/tag/v1.11 OleViewDotNet是一个.NET 4应用程序,提供了一个工具,该工具合并了经典的SDK工具将OleView Type GetTypeFromCLSID (Guid clsid, string server, bool throwOnError); 然后在Oleview.NET中我们能找到Guid值 ?
为此,我们选择使用合法的Microsoft实用程序OleView.exe(MD5:D1E6767900C85535F300E08D76AAC9AB)作为演示样例。 下图中显示了OleView.dll在加载Payload DLL时返回的错误消息提示框: 该工具将等待10秒或-t秒的最长时间,以确保进程初始化已完成,并且已生成任意消息框。
打开VS2010->工具->OleView(若没有就自行添加,程序路径:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\OleView.exe)。
除了通过上面的方式在OleView中手动去找,还可以通过UACMe项目提供的Yuubari工具快速查看系统UAC设定信息以及所有可以利用的程序和COM组件,使用方法如下: 使用VS2019加载Yuubari 需要知道这几个东西: 标识COM组件的GUID,即CLSID 标识interface的GUID,即IID 该接口的虚函数表,主要用来找到ShellExec的函数偏移 前两个可以很容易找到,虚函数表可以通过OleView
state offnetsh advfirewall set currentprofile settings remotemanagement enable 2.4 WScript.Shell.1 我们通过OleView
漏洞发现过程 当我发现我们无法通过OleView.NET来获取USO服务的接口定义时,我专门创建了一个脚本来遍历大量的CLSID/IID组合。
ASP.NET基本运行机制; .net宿主的概念:CLR被实现为一个标准的COM服务器组件,CLR具有标准的COM接口和接口GUID,在安装.net时CLR作为一个COM服务器在OS内注册;可以使用vs自带的oleview