
Scanner para produtos Zyxel que são potencialmente vulneráveis devido a uma conta de usuário não documentada (CVE-2020-29583)
Detalhes da vulnerabilidade: https://www.eyecontrol.nl/blog/undocumented-user-account-in-zyxel-products.html (Mas não tenho a certeza se é realmente possível fazer login com zyfwp através da interface web? Qualquer relatório seria apreciado. Além disso, o link para a "lista completa de dispositivos afetados" omite NXC2500 e NXC5500.)
A identificação da versão vulnerável é feita através de certas strings no index.html, por exemplo, v=200406233228 é um USG40 vulnerável. O scanner encontra de forma fiável a versão de firmware vulnerável nestes dispositivos:
Estas strings são únicas por modelo e não as conheço para os restantes modelos (a Zyxel eliminou a versão de firmware vulnerável dos seus servidores). Para todos os outros equipamentos, o scanner apenas verifica o modelo do dispositivo para determinar se são potencialmente vulneráveis.
O scanner não tenta a palavra-passe por razões legais, mas sinta-se à vontade para o fazer em quaisquer dispositivos que encontrar nas suas próprias redes. (Username: zyfwp Password: PrOw!aN_fXp)
Se precisar de examinar o firmware, a desencriptação ainda funciona como em 2010: https://www.redteam-pentesting.de/de/advisories/rt-sa-2011-003/-authentication-bypass-in-configuration-import-and-export-of-zyxel-zywall-usg-appliances bem descrita em https://twitter.com/cybercdh/status/1345654215654461440
O scanner é multithread e pode analisar ficheiros contendo máscaras de rede CIDR, mas para redes maiores ainda pode querer usar o nmap para encontrar portas TCP 443 abertas antes de as analisar para vulnerabilidades.
A porta padrão para análise de vulnerabilidades é TCP 443, altere com --port.
Dispositivos encontrados usando este script:
O scanner pode analisar:
Example: python3 scan_CVE-2020-29583.py 192.168.1.1/24 # vuln scan for cve-2020-0609 on UDP 3391
Example2 python3 scan_CVE-2020-29583.py 192.168.1.1/24 --webcheck # check webpage for RD gateway
Example3: python3 scan_CVE-2020-29583.py 192.168.1.1
Example4: python3 scan_CVE-2020-29583.py fakewebsiteaddress.com
Example5: python3 scan_CVE-2020-29583.py as15169
Example6: python3 scan_CVE-2020-29583.py file:hostfile.txt
usage: scan_CVE-2020-29583.py [-h] [--port PORT]
[--verbose]
target
Não é necessária instalação.
Debian/Kali needs: apt-get install python3-netaddr
Para ajuste de desempenho, pode alterar os parâmetros de threading no script em "kind of config".