对于漏洞评估来说,前面我们一直都在吐槽CVSS评分体系,实际上在很多年前开始我们一直在强调“实战化”的漏洞评估,近几年网络安全热炒的概念也开始强调“实战”的视角,比如啥EASM/CAASM、BAS、VPT等等,都是开始强调攻击者的“实战化视角”,对于漏洞运营方面的可以参考2022年6月知道创宇404实验室发表在《中国信息安全》杂志上的一篇文章《专题·漏洞治理 | 面向实战的漏洞运营实践》对我比较关注的朋友,可能有印象历史上我在朋友圈或者推特上发布过很多我们漏洞应急评估的案例,都是CVSS评分非常高的,但是实际影响现实中的目标的寥寥无几甚至是没有的那种所谓的“高危”漏洞 ...
当然今天我要说的不只是CVSS,而是被现实中攻击者“受宠”过“实战化”,但是也是那种实际影响可能非常有限的漏洞。因为关注度跟时效性的问题,今天这里主要聊两个漏洞:
1、2022年最“名不符实”的漏洞:Spring4Shell (CVE-2022-22965)
首先我得承认,这个漏洞之所以火一起,第一把火可能算是我点起来的
我当时只是发了个本地验证截图,不过在后面的测试中我们发现这个漏洞实际影响是非常非常有限的,这个漏洞有好几个限制条件,最核心的是JDK 9的限制,当然还有一些其他限制,详细分析大家可以去paper.seebug.org上看看,以至于当时实际无害探测成功率为 0/3740
可能是因为这个漏洞太火了,所以很多的黑车攻击者也开始把这个漏洞加入到他们的“抓鸡”的攻击漏洞中,在《中国信息安全测评中心》推出报告《2022上半年 网络安全漏洞态势观察》
http://www.itsec.gov.cn/zxxw/202209/P020220902118368141314.pdf
中就引用了我们知道创宇安全大脑:创宇智脑 的拦截数据,该漏洞排在2022年上半年的第10位,当然在其他的一些报告里我们也可以看到这个漏洞的身影,由此可以看出这个漏洞还是非常受到攻击者“宠幸”的!!
2、Fortinet FortiNAC RCE (CVE-2022-39952)
这个漏洞就是我们知道创宇404实验室上周应急过的新鲜漏洞
漏洞细节可以参考:
https://www.horizon3.ai/fortinet-fortinac-cve-2022-39952-deep-dive-and-iocs/
我当时看到这个漏洞的时候还以为是个“后门”,不需要认证可以上传Zip文件并自动解压,以至于我们可以上传任意文件,因为大家可能受到Fortinet这个品牌的影响,所以当漏洞发现者发布这个细节后得到广泛的关注,于是大家理所当然的想到了用网络空间搜索引擎来进行评估,采用的搜索语法用得比较多的就是搜索Fortinet设备的http.favicon.hash:945408572
如果按这个量来统计影响面应该是巨大的,这个必然引起黑产攻击者的关注,果不其然,从GreyNoise上的数据1.22开始出现大量的攻击
https://viz.greynoise.io/tag/fortinac-rce-attempt?days=30
(友情提示:GreyNoise是最早为了对抗搜索引擎等大量扫描探测诞生的,通过部署大量的蜜罐等系统收集互联网上扫描探测及攻击数据)
最开始我也是觉得这个漏洞应该影响面比较大,因为我跟很多推上的人一样觉得这个应该是Fortinet产品通用的一个Web服务器组件,于是我找了个ZoomEye搜索语法:"L=Sunnyvale, O=Fortinet"
这个是一个Fortinet设备通用证书的一个指纹,然后进行无害实际探测(判断 /configWizard/keyUpload.jsp 这个文件存在与否)成功率为:0/10107
由此可以看出前面这些都是YY,那么我们看看实际能不能找到属于FortiNAC的独有指纹,直接ZoomEye 搜索“FortiNAC” 找到一个比较通用的指纹:
<title id="welcomeViewTitle">fortinacvm::::FortiNAC</title>
看起来这个应该是FortiNAC默认的title,所以我选用了
fortinacvm::::FortiNAC</title>
这个作为搜索语法,随后我发现了一个问题:这些目标都打上了“honeypot”蜜罐标签,所以这些都是蜜罐?!看下端口的聚类:如下图:
按道理来讲,一个设备的通用端口应该会表现集中在某个端口,比如8443这种,而这里发布都比较分散,而且都是比较“奇怪”的端口,而这就是典型的“蜜罐”行为,我们找几个IP简单访问下:
ubuntu@primary:~$ curl -i 20.68.112.176
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title id="welcomeViewTitle">fortinacvm::::FortiNAC</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
显示为FortiNAC,我们再次访问:
ubuntu@primary:~$ curl -i 20.68.112.176
HTTP/1.1 200 OK
Content-Type: text/html
Server: Microsoft-IIS/8.5
<html>
<head>
<title>ShareFile Storage Server</title>
<style type="text/css">
每次访问返回的内容都一样,这个很显然是某种设备的行为导致的,这个可能不太好证明是蜜罐,那么再看看这个IP:
ubuntu@primary:~$ curl -i xx.79.239.204:4210
HTTP/1.1 200 OK
content-type: text/html; charset=UTF-8
content-length: 28836
server: Apache
x-frame-options: SAMEORIGIN
content-security-policy: default-src 'self'; style-src 'self' 'unsafe-inline' https://cdn-web.citrix.com/can.cdn/marketing/assets/fonts/citrix-fonts-linking.css; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self' data: blob:; font-src 'self' data: https://cdn-web.citrix.com/can.cdn/marketing/assets/fonts/citrix-sans/; frame-ancestors 'self'; object-src 'none';
feature-policy: camera 'none'; microphone 'none'; geolocation 'none'
referrer-policy: no-referrer
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Citrix ADC VPX - Dashboard</title>
第一访问返回“Citrix ADC VPX”,再一次访问:
ubuntu@primary:~$ curl -i xx.79.239.204:4210
HTTP/1.1 200 OK
content-type: text/html;charset=UTF-8
content-length: 5210
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Pragma" content="no-cache" />
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="object" property="og:type">
<meta content="GitLab" property="og:site_name">
<meta content="Help" property="og:title">
<meta content="GitLab Community Edition" property="og:description">
<meta content="summary" property="twitter:card">
<meta content="Help" property="twitter:title">
<meta content="GitLab Community Edition" property="twitter:description">
<meta content="GitLab Community Edition" name="description">
<meta content="#474D57" name="theme-color">
<meta content="#30353E" name="msapplication-TileColor">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="Rm9yIGludGVnZXJzLCB0aGVyZSBpcyB1bmlmb3JtIHNlbGVjdGlvbiBmcm9tIGEgcmFuZ2UuIEZvciBzZXF1ZQ==" />
<title>DEN401-16E</title>
</head>
<body>
<p hidden="hidden">
<!--
<TITLE>Login</TITLE>
<a href="jpg.html">LIVE JPEG</a><br>
<a href="liveie.html">Internet Monitor (Microsoft Internet Explorer 8, 9, 10, 11) </a><br>
<a href="DVRRemoteAP.exe">Download 32 bits DVR Client (Windows 7, Windows 8, Windows 10)</a><br>
<a href="DVRRemoteAP_X64.exe">Download 64 bits DVR Client (Windows 7, Windows 8, Windows 10)</a><br>
<a href="DVFPlayer.zip">Download 32/64 bits File Player (Windows 7, Windows 8, Windows 10)</a><br>
<\?xml version="1.0" encoding="utf-8"?><base64Binary xmlns="http://micros-hosting.com/EGateway/">
Location: /admin
<meta name="generator" content="vBulletin 5.5.4" />
这个就不说了吧,这种类型的蜜罐我提过很多次了,我第三次访问才看到 FortiNAC的指纹:
ubuntu@primary:~$ curl -i xx.79.239.204:4210
HTTP/1.1 200 OK
content-type: text/html;charset=UTF-8
content-length: 8293
server: Apache-Coyote/1.1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title id="welcomeViewTitle">fortinacvm::::FortiNAC</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="login.css" type="text/css">
<script type='text/javascript' src='js/prototype.js'></script>
<!-- <link rel='stylesheet' type='text/css' id='themeLink'>
<script type='text/javascript' src='common/themeSettings.js'></script>
<script type='text/javascript' src='common/themeManager.js'></script> -->
<script src="js/JSData.js" type="text/javascript"></script>
fortinacvm::::FortiNAC</title> 这个字纹ZoomEye搜索出来984条数据结果,单从为这个量来判断已经算少了(当然你可能会发现其他搜索引擎可能数据比较多一点点),但是这些基本上都是属于蜜罐,而且实际每个目标端口每次访问返回的banner是不一样的,如果你用这个数据来去判断这个漏洞甚至来评估搜索引擎的效果是非常非常不靠谱的!
从这些“蜜罐设备”既然能选用FortiNAC这种banner那说明肯定是有这个设备存在的,有一种可能是这些主要存在于本地访问或者内网!当然我们也留意到在我们的实际过程中确实发现在互联网上存在改漏洞文件并且测试存在漏洞的目标,只是那个指纹对应的banner完全看不出来跟FortiNAC有啥关系,但是图标来看确实是跟飞塔的设备的图标长得很相识,不过影响的数量级也算是非常少的了,这里就不放那个指纹了!当然不排除还有其他类型的设备指纹受到这个漏洞影响!
小结
我们之前被CVSS评分影响,认为评分高的就是危害大的,然后我们又觉得被攻击者宠爱的,肯定就是实际危害大的漏洞,老美CISA由此还估计攻击者使用的漏洞制定了一套必须修复的漏洞列表及规则,当然我这里没有去留意文章提到的这两个漏洞是不是在列表里,当然攻击者使用的漏洞我们必须要重视,这个肯定是没错的。虽然攻击者使用这个也属于“实战”,但是我们看不到结果,甚至可能攻击者都看不到具体的结果,因为他们使用的多个漏洞攻击包,黑产攻击者都是贪婪的,对于他们来说来搞到一个是一个,“蚊子肉那也是肉啊”!在我们漏洞评估的体系里,需要我们从“实战”的“结果”视角去看待!
上图为百度AI生成https://wenxin.baidu.com/ ,提示词为:王大锤 万万没想到 海报