Ejecución de comandos en Zhone GPON-2520 y remote root shell (puerta trasera)

·3 min de lectura
Advisories

El Zhone GPON-2520 con firmware R4.0.2.566b contiene dos vulnerabilidades serias:

La primera es la ejecución de comandos arbitrarios (como súper usuario) a través de la interfaz de administración web. Esta vulnerabilidad ya había sido encontrada y documentada anteriormente en el siguiente artículo http://www.websec.mx/advisories/view/Ejecuci%C3%B3n-de-comandos-en-Alcatel-Lucent-I-240W-Q por mi colega Luis Colunga que afecta módems Alcatel.

La otra vulnerabilidad no documentada es que además de que podemos ejecutar comandos remotos existe la posibilidad de habilitar el acceso al servicio de SSH (que por default esta filtrado por firewall) y conectarnos a los diferentes entornos de comandos que nos permiten cambiar y modificar configuraciones del GPON a través de una puerta trasera.

Para hacer más sencillo el proceso, he creado un POC que permite deshabilitar las reglas del firewall que filtran el tráfico entrante ssh/telnet/ftp hacía el GPON y así conectarnos a las diferentes consolas de comandos como súper usuario (sin afectar la conectividad, teléfono ni servicios de televisión).

Primero revisemos los puertos abiertos que son visibles por default a través de internet al GPON (utilizando https://w3dt.net/ para el port scan)

Puertos abiertos visibles a través de la red local:

Los únicos requisitos para correr el POC es saber la IP interna del GPON, el usuario y password del usuario web (por default son root/admin) aunque en mi caso lo cambié por: root/gp0wn:

Una vez que confirmamos acceso al GPON, podemos correr el POC.

Ya con esto habremos desactivado la regla del firewall que bloquea las conexiones entrantes a telnet, ssh y ftp.

Ahora utilicemos la cuenta “backdoor” para entrar por ssh y tener acceso como súper usuario.

Para fines de documentación, la puerta trasera se encuentra configurada en el archivo /etc/ rg_zhone.xml

Por otro lado también está la backdoor mencionada en otro advisory de módems Alcatel de otra compañía de servicios:

Hay otra cuenta de ftp (ont:ont) que se encuentra en el passwd y en la configuración del router:

Así como en el /etc/passwd junto con la cuenta de root, cuyo password es 111111:

Comento que la interfaz de súper usuario tiene varios modos (después de entrar al modo enable)


Cómo podrán darse cuenta, se obtiene acceso prácticamente a toda la unidad, por ejemplo, para deshabilitar los leds del router, basta con ejecutar los siguientes comandos:

Por último, si requieren hacer rollback a algún cambio, basta con reiniciar el GPON o en su defecto, si gustan agregarle una capa más de protección, aquí les dejo los comandos de iptables para filtrar el tráfico hacia el GPON desde Internet así como desde la compañía de servicios:

Bloquear el tráfico desde internet:

iptables -A INPUT -i wan0 -p tcp –dport 22 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 22 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 23 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 53 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 80 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 7001 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 7002 -j DROP

iptables -A INPUT -i wan0 -p tcp –dport 49152 -j DROP

Bloquear el tráfico desde red interna

iptables -A INPUT -i wan8 -p tcp –dport 22 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 22 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 23 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 53 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 80 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 7001 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 7002 -j DROP

iptables -A INPUT -i wan8 -p tcp –dport 49152 -j DROP

Resultado de un port scan desde internet:

Saludos, no documenté cómo hacer los cambios permanentes porqué se corre el riesgo de dañar las unidades, así que las pruebas que hagan son bajo su propio riesgo y responsabilidad, aunque si quieren compartir algo o quieren hacer intercambio de ideas de que más se puede hacer no duden en ponerse en contacto con un servidor.

Kaczinski : lramirez@websec.mx