msdtc后门的实现思路

简介: 本文讲的是msdtc后门的实现思路,Shadow Force曾经在域环境中使用过的一个后门,利用MSDTC服务加载dll,实现自启动,并绕过Autoruns对启动项的检测。本文将要对其进行测试,介绍更多利用技巧,分析防御方法。
本文讲的是 msdtc后门的实现思路Shadow Force曾经在域环境中使用过的一个后门,利用MSDTC服务加载dll,实现自启动,并绕过Autoruns对启动项的检测。本文将要对其进行测试,介绍更多利用技巧,分析防御方法。

0x01 简介

本文将要介绍以下内容:

· MSDTC简介

· 后门思路

· 后门验证

· 更多测试和利用方法

· 检测防御

0x02 MSDTC简介

MSDTC:

· 对应服务MSDTC,全称Distributed Transaction Coordinator,Windows系统默认启动该服务

· 对应进程msdtc.exe,位于%windir%system32

· msdtc.exe是微软分布式传输协调程序,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server


0x03 后门思路


文中介绍的思路如下:

当计算机加入域中,MSDTC服务启动时,会搜索注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTCMTxOCI

如下图

msdtc后门的实现思路

分别加载3个dll:oci.dll,SQLLib80.dll,xa80.dll

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

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

域中的计算机启动服务MSDTC时就会加载该dll,实现代码执行

0x04 后门验证

测试系统: Win7 x64

搭建域环境,如下图

msdtc后门的实现思路

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

msdtc后门的实现思路

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,如下图

msdtc后门的实现思路

calc.exe以system权限启动

如下图

msdtc后门的实现思路

经实际测试,该方法偶尔会出现bug,通过taskkill结束进程后,msdtc.exe并不会重新启动

解决方法:

重新启动服务MSDTC就好,命令行参数如下:

net start msdtc

0x05 更多测试

1、测试32位系统

32位系统换用32位dll就好,下载地址如下:

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

2、测试64位系统

64位系统,虽然SysWOW64文件夹下也包含32位的msdtc.exe,但是MSDTC服务只启动64位的msdtc.exe

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

3、通用测试

经实际测试,MSDTC服务不是域环境特有,工作组环境下默认也会启动MSDTC服务

也就是说,该利用方法不仅适用于域环境,工作组环境也同样适用

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

上述方法会以system权限加载oci.dll,提供一个以管理员权限加载oci.dll(降权启动)的方法:

管理员权限cmd执行:

msdtc -install

启动的calc.exe为high权限,如下图

msdtc后门的实现思路

注:

关于为什么要降权及降权的更多实现方式可参照文章

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

0x06 检测防御

检测:

检测%windir%system32是否包含可疑oci.dll

防御:

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

0x07 小结

本文介绍了MSDTC的相关利用技巧,不仅能用作后门,同样可用于程序的降权启动。




原文发布时间为:2017年8月18日
本文作者:3gstudent
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
安全 Shell Python
记一次PowerShell配合Metersploit的艰难提权
记一次PowerShell配合Metersploit的艰难提权
150 0
|
网络协议 网络安全
Powershell免杀(无文件落地免杀)
无文件落地 顾名思义,无需将恶意文件传到目标服务器/机器上,直接利用powershell的特性加载到内存执行。为了在红队行动中更隐蔽的实施攻击以及横向移动,同时还可以解决目标不出网只能通过dns上线时的棘手问题,利用powershell可以避免一行行echo。 通过两种方式进行无文件落地的免杀,一种是出网的情况,另一种为不出网情况。 声明: 文章内容仅供网络安全爱好者学习使用,请勿用文章中提到的技术或工具做违法的事情,否则后果自负。
1213 0
|
云安全 SQL 弹性计算
阿里云提示网站后门发现后门(Webshell)文件的解决办法
2018年10月27日接到新客户网站服务器被上传了webshell脚本木马后门问题的求助,对此我们sine安全公司针对此阿里云提示的安全问题进行了详细分析,ECS服务器被阿里云提示异常网络连接-可疑WebShell通信行为,还会伴有,网站后门-发现后门(Webshell)文件,以及提示网站后门-一句话webshell的安全提示,但是大部分都是单独服务器ECS的用户,具体被阿里云提示的截图如下:
3130 1
阿里云提示网站后门发现后门(Webshell)文件的解决办法
|
SQL 缓存 弹性计算
阿里云提示网站后门发现后门(Webshell)文件该怎么解决
阿里云提示网站后门发现后门(Webshell)文件该怎么解决
2782 0
阿里云提示网站后门发现后门(Webshell)文件该怎么解决
|
安全 Shell 数据安全/隐私保护
测试免杀过卡巴斯基和window defender
测试免杀过卡巴斯基和window defender
|
Shell 应用服务中间件 网络安全
迷糊的提权方式以及利用ssrf到最终提权靶机(三)
迷糊的提权方式以及利用ssrf到最终提权靶机
177 0
迷糊的提权方式以及利用ssrf到最终提权靶机(三)
|
Shell 网络安全 API
迷糊的提权方式以及利用ssrf到最终提权靶机(一)
迷糊的提权方式以及利用ssrf到最终提权靶机
111 0
迷糊的提权方式以及利用ssrf到最终提权靶机(一)
|
安全 Java 应用服务中间件
迷糊的提权方式以及利用ssrf到最终提权靶机(二)
迷糊的提权方式以及利用ssrf到最终提权靶机
124 0
迷糊的提权方式以及利用ssrf到最终提权靶机(二)
|
安全 Linux 测试技术
Metasploit 实现木马生成、捆绑及免杀
在渗透测试的过程中,避免不了使用到社会工程学的方式来诱骗对方运行我们的木马或者点击我们准备好的恶意链接。木马的捆绑在社会工程学中是我们经常使用的手段,而为了躲避杀毒软件的查杀,我们又不得不对木马进行免杀处理。本次实验我们将学习如何通过Metasploit的msfvenom命令来生成木马、捆绑木马以及对木马进行免杀处理。木马文件风险高,想要免杀需要用shellter工具捆绑下,但是处理后木马文件还是能被360检测到拦截下来。

热门文章

最新文章