当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-19: 细节已通知厂商并且等待厂商处理中
2015-08-20: 厂商已经确认,细节仅向厂商公开
2015-08-23: 细节向第三方安全合作伙伴开放
2015-10-14: 细节向核心白帽子及相关领域专家公开
2015-10-24: 细节向普通白帽子公开
2015-11-03: 细节向实习白帽子公开
2015-11-18: 细节向公众公开

简要描述:

个人认为这个思路有点值得学习的地方,不敢私藏,发出来一起学习下。我也是日了狗了!

详细说明:

网站安全狗会拦截命令的执行:

1.jpg


2.jpg


执行白名单中的程序不会被拦截:

3.jpg


4.jpg


但是执行白名单中的程序并不是我们想要的结果(我想要提权,想要执行exp.exe),那该怎么办呢?
经过反复的测试,发现安全狗拦截的是IIS(时间久远,具体是aspnet_wp.exe还是w3wp.exe我记不清了)创建的进程。
由IIS启动的进程再去执行命令会不会被拦截呢?但是在想这个问题的时候,要先解决一个问题,那就是如何让IIS启动的进程再去启动一个新进程?
好在metasploit完美助我解决了这个问题:
使用payload>windows>meterpreter>reverse_tcp监听9527端口

5.jpg


再生成一个aspx的payload

6.jpg


7.jpg


上传至目标,然后浏览器访问(页面一片空白,但是得到了一个meterpreter)

8.jpg


9.jpg


此时一些常用的meterpreter命令都是可用的(不产生新进程的都可用,如ps、getuid等,已经有很多事可以做了),但尝试去执行程序时,却还是被拦截。

10.jpg


11.jpg


12.jpg


于是一个想法就诞生了:启动安全狗白名单中的进程,然后再使用migrate命令迁移payload到这个进程,再去执行命令会如何呢?
然后手工去运行测试白名单中的进程,结果大部分都是一闪而过,程序运行后就退出了,根本没有机会迁移进程。但当试到drwtsn32.exe的时候,奇迹出现了,这货是个界面程序,不会运行后立即退出。于是尝试使用execute -f C:/windows/system32/drwtsn32.exe来启动这个进程(我的测试系统是win2003):

14.jpg


执行成功,并返回了进程PID。
接下来迁移payload到这个PID:

15.jpg


再尝试去执行命令:

16.jpg


好了,可以执行任意的命令了,来个shell吧:

17.jpg


注:运气好了话有以network service权限运行的进程(如:wmiprvse.exe),这样就不用再启动一个进程了,直接迁移payload过去便可执行任意命令了!

漏洞证明:

17.jpg

修复方案:

Null.

版权声明:转载请注明来源 RedFree@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2015-08-20 14:29

厂商回复:

巧妙的绕过了网狗对执行命令的限制,虽然没有扩大安全风险,安全狗将会在后续版本推出相关防护功能。 欢迎小伙伴们提出更多新(yin)奇(dang)的思路.

最新状态:

暂无