
Escáner para productos Zyxel que son potencialmente vulnerables debido a una cuenta de usuario no documentada (CVE-2020-29583)
Detalles de la vulnerabilidad: https://www.eyecontrol.nl/blog/undocumented-user-account-in-zyxel-products.html (Pero no estoy seguro de si realmente es posible iniciar sesión con zyfwp a través de la interfaz web. Agradecería cualquier reporte. Además, el enlace a la "lista completa de dispositivos afectados" omite NXC2500 y NXC5500).
La identificación de la versión vulnerable se realiza mediante ciertas cadenas en index.html, por ejemplo, v=200406233228 corresponde a un USG40 vulnerable. El escáner encuentra de forma fiable la versión de firmware vulnerable en estos dispositivos:
Estas cadenas son únicas por modelo y no las conozco para el resto de modelos (Zyxel ha eliminado la versión de firmware vulnerable de sus servidores). Para todos los demás equipos, el escáner solo verifica si el modelo de dispositivo es potencialmente vulnerable.
Por razones legales, el escáner no intenta la contraseña, pero siéntete libre de hacerlo en cualquier dispositivo que encuentres en tus propias redes. (Usuario: zyfwp Contraseña: PrOw!aN_fXp)
Si necesitas revisar el firmware, el descifrado todavía funciona como en 2010: https://www.redteam-pentesting.de/de/advisories/rt-sa-2011-003/-authentication-bypass-in-configuration-import-and-export-of-zyxel-zywall-usg-appliences (descrito muy bien en https://twitter.com/cybercdh/status/1345654215654461440)
El escáner es multihilo y puede analizar archivos que contengan máscaras de red CIDR, pero para redes más grandes quizás quieras usar nmap para encontrar puertos TCP 443 abiertos antes de escanear vulnerabilidades.
El puerto predeterminado para el escaneo de vulnerabilidades es TCP 443, se puede cambiar con --port.
Dispositivos encontrados usando este script:
El escáner puede analizar:
Ejemplo: python3 scan_CVE-2020-29583.py 192.168.1.1/24 # escaneo de vulnerabilidades para cve-2020-0609 en UDP 3391
Ejemplo2 python3 scan_CVE-2020-29583.py 192.168.1.1/24 --webcheck # verificar página web para puerta de enlace RD
Ejemplo3: python3 scan_CVE-2020-29583.py 192.168.1.1
Ejemplo4: python3 scan_CVE-2020-29583.py fakewebsiteaddress.com
Ejemplo5: python3 scan_CVE-2020-29583.py as15169
Ejemplo6: python3 scan_CVE-2020-29583.py file:hostfile.txt
uso: scan_CVE-2020-29583.py [-h] [--port PORT]
[--verbose]
target
No se requiere instalación.
Debian/Kali necesita: apt-get install python3-netaddr
Para ajustar el rendimiento puedes cambiar los parámetros de hilos en el script en 'kind of config'.