COM Object hijacking后门的实现思路——劫持explorer.exe

本文讲的是COM Object hijacking后门的实现思路——劫持explorer.exe,在之前的文章介绍了两种利用COM对象劫持实现的后门,利用思路有一些区别:

第一种,通过CLR劫持.Net程序

正常CLR的用法:

设置注册表键值HKEY_CURRENT_USERSoftwareClassesCLSID

cmd下输入:

SET COR_ENABLE_PROFILING=1
SET COR_PROFILER={11111111-1111-1111-1111-111111111111}

CLR能够劫持当前cmd下所有.Net程序的启动

后门利用思路:

我尝试通过WMI修改环境变量,使CLR作用于全局,就能够劫持所有.Net程序的启动

经实际测试,该方法有效,系统启动后默认会调用.Net程序,加载CLR,后门触发

第二种,劫持CAccPropServicesClass和MMDeviceEnumerator

该方法曾被木马COMpfun使用,所以思路也是从COMpfun学到的

设置注册表键值HKEY_CURRENT_USERSoftwareClassesCLSID能够指定实例CAccPropServicesClass和MMDeviceEnumerator对应加载的dll

而IE浏览器进程iexplore.exe启动时会调用以上两个实例

所以通过注册表设置CAccPropServicesClass和MMDeviceEnumerator对应加载的dll,能够劫持IE浏览器的启动,实现后门触发

当然,该方法只能算得上是一个被动后门,只有用户启动IE浏览器,才能触发后门

然而,在众多COM对象中,可供利用的劫持对象不唯一,甚至存在能够劫持桌面进程explorer.exe的方法,相当于一个主动后门

例如:劫持MruPidlList

注:

该方法曾被多个已知的恶意软件使用

本着通过研究所有已公开的COM对象后门利用方法,进而总结应对COM劫持防御方法的原则,本文将要介绍另外两种COM劫持的后门利用方法

之前的文章:

《Use CLR to maintain persistence》

《Use COM Object hijacking to maintain persistence——Hijack CAccPropServicesClass and MMDeviceEnumerator》

0x01 简介

本文将要介绍以下内容

· 通过劫持MruPidlList实现的后门思路

· 恶意利用实例

· 总结应对COM劫持的防御方法

0x02 通过劫持MruPidlList实现的后门思路

注册表位置:HKCUSoftwareClassesCLSID

创建项{42aedc87-2188-41fd-b9a3-0c966feabec1}

创建子项InprocServer32

Default的键值为测试dll的绝对路径:C:testcalc.dll

创建键值: ThreadingModel REG_SZ Apartment

如下图

该注册表位置对应COM对象MruPidlList,作用于shell32.dll

而shell32.dll是Windows的32位外壳动态链接库文件,用于打开网页和文件,建立文件时的默认文件名的设置等大量功能

直观的理解,explorer.exe会调用shell32.dll,加载COM对象MruPidlList

系统在启动时默认启动进程explorer.exe,如果劫持了COM对象MruPidlList,就能劫持进程explorer.exe,实现后门随系统开机启动,相当于是主动后门

当然,为便于测试,不需要重启系统,结束进程explorer.exe再新建进程explorer.exe就好

新建进程后,加载calc.dll,弹出计算器,如下图

测试64位系统,注册表位置不变,但是需要换用64位dll,重启时后门触发,启动calc.exe,如下图

Win8系统同样适用,如下图

0x03 恶意利用实例

1、COMRAT

怀疑与Uroburos和Agent.BTZ同源

Uroburos:至今发现的最先进rootkit恶意程序之一

Agent.BTZ:一款在2008年用于渗透五角大楼的恶意软件

详细资料:

https://www.nsec.io/wp-content/uploads/2015/05/uroburos-actors-tools-1.1.pdf

2、ZeroAccess rootkit

ZeroAccess rootkit:感染过大约900多万台计算机

详细资料:

https://nakedsecurity.sophos.com/2012/06/06/zeroaccess-rootkit-usermode/

https://www.sophos.com/en-us/threat-center/technical-papers/zeroaccess-botnet.aspx

注:

ZeroAccess rootkit还使用过另一个COM劫持的位置

注册表位置:HKCUSoftwareClassesclsid{fbeb8a05-beee-4442-804e-409d6c4515e9}

利用方法同上,也能够劫持explorer.exe

3、BBSRAT

详细资料:

https://researchcenter.paloaltonetworks.com/2015/12/bbsrat-attacks-targeting-russian-organizations-linked-to-roaming-tiger/

http://2014.zeronights.org/assets/files/slides/roaming_tiger_zeronights_2014.pdf

0x04 防御

由于COM对象是操作系统的正常功能,禁用COM对象不太现实

以下键值指向的dll路径应该特别注意:

· HKCUSoftwareClassesCLSID{42aedc87-2188-41fd-b9a3-0c966feabec1}

· HKCUSoftwareClassesCLSID{fbeb8a05-beee-4442-804e-409d6c4515e9}

· HKCUSoftwareClassesCLSID{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}

· HKCUSoftwareClassesWow6432NodeCLSID{BCDE0395-E52F-467C-8E3D-C4579291692E}

防御方法:

1、使用应用程序白名单规则,禁止加载第三方dll

2、对注册表HKCUSoftwareClassesCLSID的写入和修改操作进行记录并调查

更多关于COM对象劫持的资料可参考:

https://attack.mitre.org/wiki/Technique/T1122

0x05 小结

本文介绍了两种利用COM劫持实现的后门方法,结合之前文章的两种利用方法,综合分析COM劫持的防御方法。 
特别值得注意的是,COM劫持后门能够绕过Autoruns对启动项的检测,实际防御时应该注意该细节。

原文发布时间为:2017年8月31日

本文作者:3gstudent

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2017-09-12

COM Object hijacking后门的实现思路——劫持explorer.exe的相关文章

COM Object hijacking后门的实现思路——劫持CAccPropServicesClass和MMDeviceEnumerator

本文讲的是COM Object hijacking后门的实现思路--劫持CAccPropServicesClass和MMDeviceEnumerator,在之前的文章<Use CLR to maintain persistence>介绍了通过CLR劫持所有.Net程序的方法,无需管理员权限,可用作后门.美中不足的是通过WMI添加环境变量需要重启系统.  本文将继续介绍另一种后门的利用方法,原理类似,但优点是不需要重启系统,同样也不需要管理员权限. 注: 本文介绍的方法曾被木马COMpfun使用

AppDomainManager后门的实现思路

本文讲的是AppDomainManager后门的实现思路, 0x00 前言 从Casey Smith@subTee学到的一个技巧:针对.Net程序,通过修改AppDomainManager能够劫持.Net程序的启动过程.  如果劫持了系统常见.Net程序如powershell.exe的启动过程,向其添加payload,就能实现一种被动的后门触发机制. 0x01 简介 本文将要介绍以下内容: 劫持自己开发的.Net程序 劫持系统.Net程序powershell_ise.exe 一种针对Visual

Office后门的实现思路

本文讲的是Office后门的实现思路, 0x00 前言 对于Windows平台,Microsoft Office的普及率很高.站在攻击者的角度,通常会选择在Office软件中植入后门. 我在一篇博客上看到了Office后门的多种利用方法,我对其进行了研究测试,挑选其中较为通用.隐蔽的方式,编写POC脚本实现自动利用. 0x01 简介 本文将要介绍以下内容: · 针对Word.Excel.PowerPoint的四种后门利用方法 · 编写Powershell脚本实现自动利用 · 比较优缺点,分析防御

Waitfor.exe后门的实现思路

本文讲的是Waitfor.exe后门的实现思路, 0x00 前言 从Casey Smith‏@subTee的Twitter上获得的一个思路,利用Waitfor.exe有可能实现一种后门机制.  于是我对其做了进一步研究,并且使用Powershell写了一个后门利用的POC.  本文将要介绍Waitfor.exe在渗透测试中的利用技巧,并且分享开发POC的思路和细节. 完整POC下载地址如下: https://github.com/3gstudent/Waitfor-Persistence 0x0

利用CLR实现一种无需管理员权限的后门

本文讲的是利用CLR实现一种无需管理员权限的后门,在之前的文章<Use AppDomainManager to maintain persistence>介绍了通过AppDomainManager实现的一种被动后门触发机制,演示了如何劫持系统.Net程序powershell_ise.exe,但前提是需要获得管理员权限.  这一次将更进一步,介绍一种无需管理员权限的后门,并能够劫持所有.Net程序. 0x01 简介 本文将要介绍以下内容: · CLR的使用 · 后门开发思路 · POC编写 ·

64位系统下的Office后门利用

本文讲的是64位系统下的Office后门利用, 0x00 前言 在之前的文章<Office后门的实现思路>介绍了在Office软件中植入后门的常用方法,但并不全面,缺少64位系统的测试.而对于64位操作系统,支持32位和64位两个版本的office软件,不同office版本的利用方法是否不同呢?本文将要给出答案. 0x01 简介 本文将要介绍如下内容: · 64位系统安装64位Office软件的利用方法 · 64位系统安装32位Office软件的利用方法 · 根据测试结果优化POC 0x02

瑞星证实扣扣保镖设后门 可骗QQ用户备份信息

中介交易 SEO诊断 淘宝客 云主机 技术大厅 北京时间11月5日消息,国内知名第三方反病毒机构瑞星最新发布的技术分析报告证实,扣扣保镖除了拥有其宣称的11大类可见功能之外,至少还存在4个隐藏功能,这些功能仅针对QQ,且都具有用户不可见.不可控制等特性.这些隐藏功能随时处于活动状态,并且可由360公司远程开启. 昨日,曾有媒体报道扣扣保镖存在四大后门技术,可以随时远程开启.但360对此矢口否认.如今终于得到来自第三方反病毒机构瑞星铁一般的证实. 以下是报告全文: 360扣扣保镖为何激怒腾讯? -

Windows 下的 7 种 DLL 劫持技术

本文讲的是Windows 下的 7 种 DLL 劫持技术,在本文中,我将列出半打可以在Windows运行用户模式的进程中使用DLL注入技术.也许可能会有更多类似的技术,但我正在和你分享的是我所拥有的第一手的技术. AppInit_DLLs 人们以前往往依赖于AppInit_DLLs注册表项.它是操作系统加载程序查询此值并加载创建进程时指定的DLL.我在很长一段时间没有使用这种技术(最后一次我使用它在Windows XP上),而且我听说现在受到恶意软件的广泛使用,所以它也受到限制或被停止使用了.

Byshell后门:无进程无DLL无硬盘文件_漏洞研究

适合读者:入侵爱好者.网络管理员.黑器迷  前置知识:C基本语法  刘流:后门是黑客们永恒的话题,在各大网站如163.Yahoo.北大等相继被黑之后,越来越多的人开始关注服务器的安全,而各种后门技术也空前地火暴起来!今天我们将给大家带来一个重量级后门的使用.编程方法,让广大新手朋友们有好后门玩,让编程技术爱好者有好的后门编程技术可以借鉴.当然,更多的新技术还等你去发掘.  Byshell后门:无进程无DLL无硬盘文件无启动项  现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少,大多