跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

0x00 前言

影力曾经是域环境中的后门,利用MSDTC服务加载dll,实现自启动,绕过Autoruns对启动项的检测。本文将对其进行测试,介绍更多的利用技巧,分析防御方法。

0x01 简介

本文将介绍以下内容:

MSDTC简介

后门

后门验证

更多的测试和利用方法

检测防御

0x02 MSDTC简介

MSDTC:

Windows系统中默认启动相应的服务MSDTC,全称是分布式事务协调器。

位于%windir%\system32\

Msdtc.exe是微软的分布式传输协调者,他把系统称为微软个人网络服务器和微软SQL服务器。

0x03 后门思路

参考链接:

http://blog . trend micro . com/trend labs-security-intelligence/shadow-force-uses-dll-劫持-目标-韩国-公司/

本文介绍的思想如下:

当计算机加入域并且MSDTC服务启动时,将搜索注册表HKEY _本地_机器\软件\微软\ MSDTC \ MTXOCI。

如下图

2-1.png

分别加载三个dll:oci.dll,sqllib80.dll,xa80.dll。

然而,特别是Windows系统默认不包含oci.dll

也就是说,将payload.dll重命名为oci.dll,保存在%windir%\system32\下。

当域中的计算机启动服务MSDTC时,将加载dll以实现代码执行。

0x04 后门验证

测试系统:Win7 x64

设置一个域环境,如下图所示

2-2.png

使用Procmon监控msdtc的启动进程,过滤进程msdtc.exe,查看文件操作,如下图所示。

2-3.png

Msdtc.exe尝试加载oci.dll,但加载失败了,因为默认情况下oci.dll不存在。

使用64位测试dll,下载地址如下:

https://github.com/3gstudent/test/blob/master/calc_x64.dll

将其保存在%windir%\system32\下。

结束进程msdtc.exe,命令行参数如下:

taskkill/f/im msdtc.exe

等待msdtc.exe重新启动。

等待一段时间后,mstdc.exe重新启动并成功加载oci.dll,如下图所示。

2-4.png

从calc.exe的系统权限开始

如下图

2-5.png

经过实际测试,这种方法偶尔会有bug,通过taskkill完成进程后msdtc.exe不会重启。

解决方法:

只需重新启动服务MSDTC。命令行参数如下:

净开始msdtc

0x05 更多测试

1、测试32位系统

32位系统切换到32位dll即可。下载地址如下:

https://github.com/3gstudent/test/blob/master/calc.dll

2、测试64位系统

64位系统,虽然SysWOW64文件夹也包含32位MSDTC,但MSDTC服务只启动64位MSDTC。

因此,不支持加载32位oci.dll。

3、通用测试

实际测试表明,MSDTC服务不是域环境独有的,在工作组环境中,MSDTC服务将默认启动。

也就是说,这种利用方式不仅适用于域环境,也适用于工作组环境。

4、以管理员权限加载oci.dll(降权启动)

上述方法将以系统权限加载oci.dll,并提供以管理员权限加载oci.dll(由降级启动)的方法:

管理员cmd执行:

msdtc-安装

启动calc.exe获取高权限,如下图所示

3-1.png

注:

关于为什么要降功耗,如何实现,请参考文章。

《渗透技巧——程序的降权启动》

0x06 检测防御

检测:

检查%windir%\system32\是否包含可疑的oci.dll。

防御:

对于普通用户主机,建议禁用服务MSDTC

0x07 小结

介绍了MSDTC的相关利用技巧,不仅可以作为后门,还可以用于程序的掉电和启动。

留下回复

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。