最近用的多 一个实用小tips 文章参考原创Shadow Force大牛 翻译文章参考三好大佬
利用MSDTC服务加载后门dll,实现自启动后门
后门思路可以查看趋势科技文章
https://blog.trendmicro.com/trendlabs-security-intelligence/shadow-force-uses-dll-hijacking-targets-south-korean-company/
0x01 MSDTC简介
msdtc.exe是微软分布式传输协调程序。该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器。
msdtc.exe是一个并列事务,是分布于两个以上的数据库,消息队列,文件系统或其他事务保护资源管理器,删除要小心。
对应服务MSDTC,全称Distributed Transaction Coordinator,Windows系统默认启动该服务
对应进程msdtc.exe,位于%windir%system32
当Windows操作系统启动Microsoft分布式事务处理协调器(MSDTC)服务时,攻击便开始了,该服务可协调跨越多个资源管理器(例如数据库,消息队列和文件系统)的事务。当目标计算机加入域时,一旦MSDTC服务启动,它将搜索注册表。
当计算机加入域中,MSDTC服务启动时,会搜索注册表HKEY_LOCAL_MACHINE SOFTWARE MicrosoftMSDTC MTxOCI
MSDTC服务中的MTxOCI组件搜索三个DLL:oci.dll,SQLLib80.dll和xa80.dll。Windows系统默认不包含oci.dll
我们将后门dll将其重命名为oci.dll,并将其放置在 %SystemRoot%\ system32 \中。oci.dll就绪,使用远程作业命令杀死MSDTC服务(taskkill / im msdtc.exe / f),从而导致MSDTC重新加载自身。但是,这一次它将查找并找到oci.dll。
这时候就会利于这个服务把我们的后门dll拉起来。
0x02 后门复现
oci.dll放入system32 重启msdtc服务
taskkill /f /im msdtc.exe
cobalt strike里使用sc调用服务
可以看到我们的后门oci.dll拉起来了
MSDTC服务不是域环境特有,工作组环境下默认也会启动MSDTC服务
利用方法不仅适用于域环境,工作组环境也同样适用
降权使用:
msdtc -install
对于普通用户主机,建议禁用服务MSDTC
参考:
https://blog.trendmicro.com/trendlabs-security-intelligence/shadow-force-uses-dll-hijacking-targets-south-korean-company/
https://www.4hou.com/system/6890.html