先下载镜像
Cisco Adaptive Security Virtual Appliance (ASAv) 下载地址(需翻墙) 解压密码:CiscoASAv2014小编已经更新到百度Pan 解压密码:CiscoASAv2014进入到提示符 ciscoasa> 输入en进入特权模式
进入全局配置模式 ciscoasa#conf t
先看一眼VM的网络编辑器中host-only模式的IP段是多少,因为这个镜像是以host-only来设定网络的
然后我们来配置IP,我这里是172.16.1.0,先在host上ping一下网关172.168.1.1可以ping通
ciscoasa(config)#interface gigabitEthernet 0/0 第一个模块第一个接口
ciscoasa(config-if)#ip add 172.16.1.3 255.255.255.0 此处子网掩码可选
ciscoasa(config-if)#nameif outside可选给接口起名
ciscoasa(config-if)#no shutdown 此时端口开放,可以从guest中ping通172.168.1.1网关 web配置Web界面,需要先退回到全局配置模式下
ciscoasa(config)#webvpn 进入到webvpn配置
ciscoasa(config-webvpn)#http server enable 开启Web服务
ciscoasa(config-webvpn)#username darkray password shit! 添加用户
ciscoasa(config)#http 172.16.1.0 255.255.255.0 outside 设定可以访问的端口及IP段
ciscoasa(config)#write memory 保存配置
此时访问页面就有用户了,同时可以在 https://172.16.1.3/admin/public/index.html 可以使用图形化的ASDM来对配置进行管理
事实上早在Ruxcon2014上就有人研究了这个https://ruxcon.org.au/assets/2014/slides/Breaking Bricks Ruxcon 2014.pdf在老外的博文上也引用了此篇PPT,个人认为非常值得学习,包括binwalk的使用及如何绕过CLI的沙盒环境。
但是在这里不再赘述,同时breen提供他的验证POC:https://github.com/breenmachine/various
打开Burp–>Restore State,我们恢复下他的Burp Request History。看到Repeater标签中有4个,结合PPT实际上这个攻击有两大步骤。
1.Request “Preview” of our requested Customization content
2.Request “Preview Save” of requested Customization content
其实通过POC中的包可以很快发现这是ADSM中的自定义页面的功能,那么到这里自然想到我需要绕过验证才可以使我自定义页面来生效了。引用CVE-2014-3393的利用方式:通过修改Cookies中CED的值指定为某本地路径即可绕过验证,具体影响版本请参阅NVD。
而在POC中Breen已经很清楚的标示了Insert+Backdoor+here,所以当我们能控制页面了一般都能想到下面的玩法
– Inject some BEEF .js
– Clients expect Java applets to be served
(RDP/SSH plugins)
– Clients expect .exe to be served (updates for SSL
AnyConnect client)
– Hijack the login form
如果仅仅只是想验证漏洞,你可以修改,记得URLEncode下,同时完成4个包的重放
auth-page/window/title-text=SSL+VPN+HACK&auth-page/title-panel/mode=enable&auth-page/title-panel/text=SSL+VPN+Service+(hacked+by+darkray)
所以当我们结合能控制页面还能做更多神马呢?
回顾一下,假设我们能劫持到用户了,首先当然是能顺利的进入内网,其次PPT中有讲到低权限用户如何越权,当你能够接触到Local Shell呢,那能发挥的就更多了,比如传说中的“设备后门”。鉴于Cisco的基础设备应用之广泛,就没有在本文详细说明了。
运维工程师们如果发现自己的VPN设备存在这个漏洞,请猛击 这里
Geekpwn点燃了黑智能设备的浪潮,从架构上我天朝很多都是抄openwrt那套,但是从来不注明,而这类东西通常都是busybox后端+lua来构建前端,熟练使用binwalk+GDB相信能够发现更多好玩的东西。
另外我是板子控,各位有好玩儿的DIY欢迎PM啊~本文如有纰漏,欢迎拍砖指导,多多学习!
本人博客 http://www.blackh4t.org/archives/1567.html
参考:
http://breenmachine.blogspot.ca/2014/10/cisco-asa-ssl-vpn-backdoor-poc-cve-2014.html
感谢某位长得比较胖同学热心指导!