漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0135132
漏洞标题:网站安全狗禁止IIS执行程序bypass
相关厂商:安全狗
漏洞作者: RedFree
提交时间:2015-08-19 10:47
修复时间:2015-11-18 14:30
公开时间:2015-11-18 14:30
漏洞类型:设计错误/逻辑缺陷
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-08-19: 细节已通知厂商并且等待厂商处理中
2015-08-20: 厂商已经确认,细节仅向厂商公开
2015-08-23: 细节向第三方安全合作伙伴开放
2015-10-14: 细节向核心白帽子及相关领域专家公开
2015-10-24: 细节向普通白帽子公开
2015-11-03: 细节向实习白帽子公开
2015-11-18: 细节向公众公开
简要描述:
个人认为这个思路有点值得学习的地方,不敢私藏,发出来一起学习下。我也是日了狗了!
详细说明:
网站安全狗会拦截命令的执行:
执行白名单中的程序不会被拦截:
但是执行白名单中的程序并不是我们想要的结果(我想要提权,想要执行exp.exe),那该怎么办呢?
经过反复的测试,发现安全狗拦截的是IIS(时间久远,具体是aspnet_wp.exe还是w3wp.exe我记不清了)创建的进程。
由IIS启动的进程再去执行命令会不会被拦截呢?但是在想这个问题的时候,要先解决一个问题,那就是如何让IIS启动的进程再去启动一个新进程?
好在metasploit完美助我解决了这个问题:
使用payload>windows>meterpreter>reverse_tcp监听9527端口
再生成一个aspx的payload
上传至目标,然后浏览器访问(页面一片空白,但是得到了一个meterpreter)
此时一些常用的meterpreter命令都是可用的(不产生新进程的都可用,如ps、getuid等,已经有很多事可以做了),但尝试去执行程序时,却还是被拦截。
于是一个想法就诞生了:启动安全狗白名单中的进程,然后再使用migrate命令迁移payload到这个进程,再去执行命令会如何呢?
然后手工去运行测试白名单中的进程,结果大部分都是一闪而过,程序运行后就退出了,根本没有机会迁移进程。但当试到drwtsn32.exe的时候,奇迹出现了,这货是个界面程序,不会运行后立即退出。于是尝试使用execute -f C:/windows/system32/drwtsn32.exe来启动这个进程(我的测试系统是win2003):
执行成功,并返回了进程PID。
接下来迁移payload到这个PID:
再尝试去执行命令:
好了,可以执行任意的命令了,来个shell吧:
漏洞证明:
修复方案:
Null.
版权声明:转载请注明来源 RedFree@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:12
确认时间:2015-08-20 14:29
厂商回复:
巧妙的绕过了网狗对执行命令的限制,虽然没有扩大安全风险,安全狗将会在后续版本推出相关防护功能。 欢迎小伙伴们提出更多新(yin)奇(dang)的思路.
最新状态:
暂无