COM对象在红队中的作用

admin 2022年5月12日09:10:38评论5 views字数 1539阅读5分7秒阅读模式

什么是COM对象

组件对象模型(COM):https://docs.microsoft.com/zh-cn/windows/win32/com/component-object-model--com--portal?redirectedfrom=MSDN
Microsoft 组件对象模型 (COM) 定义了一个二进制互操作性标准,用于创建在运行时进行交互的可重用的软件库。
跨主机和平台启用代码重用是 COM 的核心。可重复使用的接口实现称为 " 组件"、" 组件对象" 或 " COM 对象"。组件实现一个或多个 COM 接口。
COM 对象通过 接口 公开其功能,后者是成员函数的集合。
每个接口都有其自己的唯一接口标识符,是全局唯一标识符(GUID)
通过使用唯一的128位类 ID (CLSID) 来识别 COM 类,该 ID 将类与文件系统中的特定部署关联,而 Windows 是 DLL 或 EXE。CLSID 是一个 GUID,这意味着没有其他类具有相同的 CLSID。

有什么用

简单点理解就是,Windows上的每一个文件、应用、可执行程序等等都对应一个ID(CLSID),可以通过这个ID 直接访问对应的文件、应用、可执行程序。比如:

COM对象在红队中的作用

在WIN+R的输入框中,输入::{20D04FE0-3AEA-1069-A2D8-08002B30309D},可以直接打开我的电脑

第一种

那么,有什么用那?前面说了,每一个ID可以理解为一个实例,它有各种各样的方法,实现各种各样的功能。所以,可以用来代替一些渗透中的操作或功能,来绕过杀软的拦截。比如利用系统原生命令下载木马,可能被杀软拦截,这时候就可以找一个有下载功能的方法的CLSID来代替了。

第二种

就是常听说的COM劫持。如前所述,在Windows上,一个应用和CLSID是互相对应的,对应关系记录在注册表中。还可以给其设置其他的key,详见 CLSID 密钥

COM对象在红队中的作用

打开一个应用的过程,其实就是去注册表中找到CLSID,然后加载对应的DLL文件。那么,所谓的劫持,就是修改注册表中dll文件的路径,修改为自己生成的恶意dll文件路径即可。当然,也可以修改为其他类型的文件路径,只要Windows中的对应即可。比如:文件路径、exe可执行程序路径、Windows API等等。

怎么用

先介绍一个工具:OleViewDotNet允许查找COM对象许多不同的视角(CLSID、ProgID、服务器可执行文件),枚举对象上的接口,然后创建一个实例并调用方法。

COM对象在红队中的作用

先按照ProgIDs查看所有的

COM对象在红队中的作用

然后根据一些关键字搜索,比如shellexecexecuteexecspawnlaunchrun等等搜索shell,然后随便找一个,右键,选择View Type Library,查看所有的接口、方法、属性

COM对象在红队中的作用

COM对象在红队中的作用

搜索exec关键字

COM对象在红队中的作用

并不是所有接口都可以用,如下,Yes的才可以用

COM对象在红队中的作用

选择第一个方法Run进行测试,先复制GUID

COM对象在红队中的作用

powershell命令,这个方法没有返回结果。

$handle = [activator]::CreateInstance([type]::GetTypeFromCLSID("72C24DD5-D70A-438B-8A42-98424B88AFB8"))
$handle.run("calc")

COM对象在红队中的作用

下面尝试找一个可以下载文件的方法,搜索关键字http,直接查看第一个

COM对象在红队中的作用

查看对象信息

COM对象在红队中的作用

查看方法参数

COM对象在红队中的作用

直接在工具调用,填写方法和url

COM对象在红队中的作用

调用send方法,并查看结果

COM对象在红队中的作用

参考

https://payloads.online/archivers/2018-12-22/1/

https://www.mandiant.com/resources/hunting-com-objects

原文始发于微信公众号(云智信安云窟实验室):COM对象在红队中的作用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月12日09:10:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   COM对象在红队中的作用https://cn-sec.com/archives/1000503.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息