看我如何利用burp大法绕过深信服SSL VPN访问权限控制

2016-07-17 7,349
漏洞标题 看我如何利用burp大法绕过深信服SSL VPN访问权限控制
相关厂商 深信服
漏洞作者 f4ckbaidu
提交时间 2016-04-13 15:49
公开时间 2016-07-17 00:10
漏洞类型 权限控制绕过
危害等级
自评Rank 20
漏洞状态 厂商已经确认
Tags标签

漏洞详情

声明:本次报告中提到的**.**.**.**是一个虚拟的域名,并非真实域名

在测试自己公司SSL VPN安全性的时候发现一个有趣的东西

ssl vpn连接后会服务端会下发一个资源列表给客户端,如下图:

b3.png

图中的host字段就是VPN远端的服务器IP,port就是允许你访问的服务区端口号,这里为22

这里的意思就是只允许你去访问10.x.x.x的22端口,那么问题来了:

挖掘机哪家强,哦不对,是我可以修改服务器返回的IP和端口号来访问其它VPN远端资源吗?

说做就做,通过burp代理修改port范围为1-65535来试试:

b4.png

然并卵,使用http代理后就不能访问L3VPN资源了(L3VPN=TCP+UDP+ICMP)

0.png

然而就不能继续了吗?no,祭出神器burp的invisible proxying

所谓的invisible proxying就是透明代理,通过出口设备将访问VPN的数据重定向给burp即可

b1.png

找谁重定向?出口设备或者linux的iptables都可以,这里以出口设备DNAT为例

简要来说访问VPN的数据流变成如下流程:

hacker --> 出口 --> DNAT给burp(同时源IP转换为**.**.**.**) --> burp处理 --> 出口 --> VPN设备

注意:burp和hacker主机不能为同一台,为同一台的话会出现数据环路,为什么自己去想吧,基础网络知识

这里做实验的hacker机IP为**.**.**.**,burp主机**.**.**.**,网关为**.**.**.**,VPN设备IP假设为**.**.**.**

那么在出口需要做:

1、源IP为**.**.**.**的访问**.**.**.** TCP443端口重定向到**.**.**.**的443端口

2、代理**.**.**.**访问**.**.**.**的请求

因为我这里**.**.**.**是假的所以要绑定下hosts,burp和windows主机都要绑定

b2.png

现在我们登陆试下,发现burp正常工作,VPN登陆流程比较慢但可以登陆

可以看到端口范围已经被burp自动修改了:

b5.png

注:这里VPN登陆成功后需取消网关的DNAT策略,否则会因burp代理速度太慢导致VPN不可用

我们再来访问10.x.x.x的80端口试试,duang!一下就打开了80端口的页面

4.png

当然3306端口也是可以访问的:

5.png

最终测试结论:已绕过VPN访问控制系统

漏洞证明:

修复方案:

你懂的

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

评论  (0)
快来写下你的想法吧!

Chloe O_o

文章数:38602 积分: 0

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号