安全狗禁止iis执行探究

0x00 前言

最近在整理一些东西,看到绕过安全狗禁止iis执行。这个功能我以前自己写过demo,原理是hookw3wp.exe里面的kernel32.dll中的CreateProcess函数。那看下安全狗是如何做的。

0x01 研究

首先这个是开启了禁止执行程序防护功能,执行命令的时候,直接被拦截。

我们使用pchunter,检查w3wp.exe所有的钩子,发现hook了一个CreateProcessInternalW函数,跟创建进程所有。其实CreateProcess这个函数调用的也是CreateProcessInternal函数,更加底层。

那我们试试恢复hook吧。看看安全狗还拦截不。下图中是已经恢复了hook。

再执行下命令试试。

可以看到现在是没有被安全狗拦截了。

那么可以得知安全狗的检测原理,监控w3wp.exe进程的创建,进行hook w3wp.exe进程的CreateProcessInternal,检测这个函数的参数,正则匹配是不是在白名单里面,如果不在就拦截。

经过进一步测试,与前人的绕过,安全狗的匹配机制是判断CreateProcessInternal的参数是不是包含白名单里面的文件路径,如果包含则放行,如果不包含则拦截。

这样就很容易绕过了。再命令的后面添加

1
&& echo C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe

就绕过了。