对于Procmon破坏杀软程序的利用方法和问题的分析

原理解释

Procmon是windows的一款带日志写入功能的监测软件,由于其中涉及到了针对文件行为的记录,所以引进了内核驱动 PROCMON24.SYS的依赖,导致了procmon有高权限。再利用符号链接(Symbolic Links)攻击将默认的日志文件C:\Windows\ProcMon.pmb重定向到 MsMpEng.exe(win defender的核心程序之一),让procmon正常记录一次就可以覆盖。

利用过程

找到MsMpEng.exe,原来的大小为112kb

打开procmon

第一次打开会有弹窗,可以通过命令行输入

Procmon64.exe /accepteula

来跳过,然后输入

taskkill /f /t /im Procmon64.exe
Procmon64.exe /EnableBootLogging

windows目录下有文件

重启一次之后

先删除,然后就可以建立链接(需要管理员权限)

mklink C:\Windows\ProcMon.pmb "C:\Program Files\Windows Defender\MsMpEng.exe"

创建完成长这样

重启之后就可以发现MsMpEng.exe大小有所变化

很明显这样就已经被破坏了。

其他杀软

正文开始,上面都是参考参考文献写出来的。在我研究关于procmon写日志覆盖文件对于其它杀软的效果时,第一次是在我本机上进行实验的,实验对象是360,成功修改了360safe.exe。然而这能说明这个方法针对360也有同样的效果吗?

在写这篇文章的时候我将实验环境放到了虚拟机中,然后我先下了360,在有360的环境下,我在

mklink C:\Windows\ProcMon.pmb "C:\Program Files\Windows Defender\MsMpEng.exe"

这一步之后并没有成功将日志写到MsMpEng.exe中。经过反复的尝试,我意识到360可能针对建立符号链接这个行为进行了监测然后防御了。将360关掉之后确实就复现成功了。那么很简单,360针对createsymbollink这个api进行了hook,我在本机实验时确实也没有开360。所以结论是这个方法针对360是不能生效的。火绒就可以。所以能不能用的关键在于杀软是否给了createsymbollink这个api钩子

一些其它问题

参考文章中写的“该驱动具备读写系统关键文件和日志记录的能力”不太准确,实际上就是通过hook挂钩一些低层的操作然后获取操作的信息(这些操作通过etw是完成不了的),因此最终Procmon应该还是直接用文件操作的api去写日志的,而非针对事件直接的记录(EventRegister然后EventWriteString)。总的来说确实具备高权限读写,但是不是特性。这点是小问题

针对实操有两个比较严重的问题,ProcMon这个东西产生日志的量比想象中大很多,虚拟机和物理机中的实验都有这个现象,而且不是一般的大,像物理机里面开关机一次会产生十几个GB的日志文件,这点总体上来讲是令我非常疑惑的。而且由于它会记录所有文件操作,只要物理机在动基本上会非常快速的产生大量日志内容,导致蓝屏,这是我们不愿意看到的。而且MsMpEng.exe这个东西还非常难删,要借助第三方工具,在操作的过程中可能就蓝屏了。

第二个是win defender的关键程序不止MsMpEng.exe,还有WdFilter.sys,这两个程序功能上相辅相成又相互独立,WdFilter.sys在MsMpEng.exe被破坏掉的情况下还可以独立运行,那么如果要同时破坏这两个程序就有可能蓝屏(还是操作时间的问题)。

针对蓝屏的问题,解决方法就是开机之后将Procmon.pmb删除然后再重启一次。

这样看来,这个方法似乎就有一些鸡肋了,它在针对360和win defender的核心程序破坏时表现不行,大佬们可以尝试其它杀软

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值