F5端点检查器(F5 Networks Endpoint Inspector)是一个安全检查应用程序,它可以被web浏览器调用,来扫描客户端的运行是否符合安全要求。
近期有研究人员发现,如果F5端点检查器可能会被恶意网站滥用,通过特殊构造的页面触发RCE。
具体利用过程,请看此视频。
下面我们来详细说明一下这个过程:
1.可以看到,如果浏览http://naughty.website/网站,该网站包含一个“特别制作”的f5-epi:// URI,这会触发F5端点检查器的运行。
2.弹出一个UAC框,显然是试图运行一个由合法的F5网络证书签名的进程。
3.然后弹出powershell.exe,作为f5instd.exe的子进程运行,该进程具有管理员权限。
实事求是地讲,这并不是一个真正意义上的漏洞利用过程。所以研究人员在向F5报告时,该公司并不承认这是一个漏洞,原因何在呢?他们认为有太多的先决条件可以让该进程发生意外。为了说明这个情况,我会进行以下测试。
以下是不利用这个“非漏洞”的基本先决条件:
1.受影响的用户必须具有管理员权限,因此他们可以单击UAC弹出窗口;
2.攻击者必须拥有可信的代码签名证书才能签署恶意CAB文件;
如果你想触发漏洞(对于F5签名的二进制文件,只有一个干净的UAC弹出窗口),CAB文件必须由“F5 Networks Inc”、“F5 Networks”或“uRoam Inc”签名。f5instd.exe二进制检查签名“签名者名称”字段中的字符串:
你可以决定使用这些名称中的任何一个来获得受信任的代码签名证书的真实程度。我要说的是,“uRoam Inc”可能并不存在,因为F5在2003年买下了它。如果你想尝试一种更复杂的方法来执行任意代码,可以看下图。
然而,无论如何,即使CAB签名中的“签名者名称”不是这三个字符串里的一个,任意代码仍然会运行,用户只需点击另一个警告即可。
实际的漏洞利用过程,请点此视频观看。
注意:弹出的URL白名单框通常显示在新的网页上,但它确实不一致。
另一个提示会询问用户,他们是否真的想要提取恶意CAB文件,尽管它不是由F5或uRoam签名的。
不管怎样,这就是F5说它不是漏洞的原因。具体说明如下:
我们的团队已审核了你们分析的报告,并确定它不是一个漏洞。安装弹出窗口清楚地显示签名者和名称,并显示警告消息。此行为与用户从网络下载文件并单击它以在浏览器中运行它没有什么不同。其中也没有自动权限升级的情况,如果安装需要管理员权限,而用户没有同意,那么其他人将无法安装该软件包。
但,其中的问题却是:
1.为什么允许CAB签署第三方证书呢,阻止所有第三方证书肯定会更不容易被利用?
2.在提取和处理CAB之前,为什么不检查证书中的“签署者名称”字段?
3.为什么要在2019年通过提取CAB文件来更新你的软件?有更好的方法来做到这一点;
4.这与用户从互联网上下载文件并点击它进行运行是不同的;
5.除此之外,F5是CVE编号机构(CNA),所以他们可以自行决定那些东西是不安全的;
3.让公司决定问题是漏洞而不是意外状况时,是否存在固有的利益冲突?
时间线
2019.5.23:向F5报告
2019.5.27:F5确认收到
2019.5.29:由F5给出事件号码
2019.6.3:F5要求我们提供CVSS评分。
2019.6.19:F5回复说这不是漏洞。