记一次绕过安全狗和360提权案例
蚁景网安
2026年11月10日 17:22
湖南
去阅读
以下文章来源于潇湘信安
,作者3had0w
潇湘信安
.
专注于网络安全知识、个人实战经验分享!
我的备用号 @Hack分享吧,欢迎关注!
0x01 前言
最近遇到这样一个场景:目标仅支持ASP脚本,而且还存在网站安全狗和360安全卫士,目前存在的两个问题。
安全狗\"禁止IIS执行程序\"限制了命令执行;360\"进程防护\"拦截了执行木马和提权、抓明文等;
这篇文章我们就来分享下在这种场景下的绕过思路,以及在测试中遇到的一些问题。
0x02 绕过安全狗命令执行限制
找一个能过安全狗的免杀ASP Webshell,我用的是几年前做的一个ASP图片马,没想到居然还能过。
中国蚁剑连接,编码器选择用insert_percent,否则可能会连接失败。
连上后发现在虚拟终端中执行不了命令,提示:ActiveX 部件不能创建对象。
这是因为wscript.shell命令执行组件被卸载了,试了下shell.application组件,结果发现也不行。
在虚拟机装了一个网站安全狗IIS版,并进行了一些测试,最后发现是安全狗【网站防护->行为防护->危险组件防护】给拦截了,默认规则就有wscript.shell、shell.application。
之前我们遇到这种只支持ASP脚本,WScript.Shell、Shell.Application组件被卸载而无法执行命令的都是直接放弃了,因为当时那会确实没有更好的绕过方法。
现在可以用中国蚁剑As-Exploits执行自定义Payload来上线MSF,这种方式是加载到w3wp.exe内存中运行的,不依赖于Wscript.shell、Shell.Application。
这里不仅获取到了目标主机会话,而且也解决了WScript.Shell、Shell.Application组件被卸载而无法执行命令的问题,通过shell命令就能执行系统命令了。
注:不过我们还是得注意下安全狗【网站防护->行为防护->禁止IIS执行程序】,这功能也会拦截命令和程序的执行,得通过网站安全狗中的内置白名单来绕过。
execute-Hc-i-f \"c:\\windows\\system32\\cmd.exe\" -a \"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\csc.exe\"
sysinfo看了下系统基本信息,可以看到目标系统为x64,而获取的主机会话为x86,这是因为iis应用池设置启用了32,所以我们在利用加载w3wp.exe内存上线时也必须用x86的Payload。
注:ASP/ASP.NET脚本木马上线、冰蝎/哥斯拉/中国蚁剑/中国菜刀的shellcode加载和自定义代码执行等上线方式都是直接加载到w3wp.exe内存中运行的,得根据iis应用池位数选择对应Payload。
0x03 绕过360执行木马/提权等
ms16\_075\_reflection、ms16\_075\_reflection\_juicy模块提权时发现报错了,这是因为当前会话与目标主机位数不一样,需要先将当前x86会话迁移至x64进程。
看了下进程列表中只有一个x86的w3wp.exe,没有其他可用于迁移的x64进程,不过有看见MSSQL数据库相关进程,所以我们可以通过执行sqlps.exe得到一个可迁移的x64进程。
x86:C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\vbc.exex64:C:\\ProgramFiles (x86)\\MicrosoftSQLServer\\100\\Tools\\Binn\\SQLPS.exe
cd切换到sqlps.exe文件所在目录,ls -S查看sqlps.exe文件是否存在,然后再用execute执行sqlps.exe即可得到一个可迁移的x64进程,注意得加网站安全狗内置白名单文件执行。
meterpreter > cd\"C:\\\\Program Files (x86)\\\\Microsoft SQL Server\\\\100\\\\Tools\\\\Binn\\\\\"meterpreter > ls -S \"sqlps\"meterpreter > execute -Hc -f \"sqlps.exe\" -a \"C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\csc.exe\"meterpreter > ps -c
migrate迁移至刚执行的sqlps.exe进程,接着我们再利用ms16\_075\_reflection、ms16\_075\_reflection\_juicy模块都能直接获取到目标主机System权限,而且也不会再报错了。
当我们执行进程迁移跳出IIS的w3wp.exe进程后就已经完全绕过了安全狗\"禁止IIS执行程序\"限制命令执行,这时可以直接通过执行shell命令进入执行系统命令了。
0x04 注意事项
为什么我不在绕过安全狗命令执行后直接在命令行下进行提权?因为目标主机还存在360,大概率还会拦截我们执行提权EXP和木马上线等行为,即使是免杀的也会被拦,实战中自己去测试一下。
而且x64能用的白名单在x86都会被360拦,或者在执行时会出现报错,这是因为x86调用的是SysWOW64目录下的文件,而这个目录下的白名单文件较少,或者缺失白名单所需依赖的dll文件等。
这里我说的x86指的是当前所用中间件的进程位数,如常见的:IIS的w3wp.exe,Apache的httpd.exe等。以我之前测试360的经验来说,在x86下是很难绕过360去执行程序的,特别是在IIS这种场景下,所以我们选择先用进程迁移这种方式,然后再去通过x64下的白名单去绕过360执行木马上线和提权等。
学习网安实战技术,戳“阅读原文”
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论