olivluca / zte-digi-admin

Como obtener acceso admin, telnet y credenciales voip en el ZTE H298A de digi (fimware T12)
33 stars 7 forks source link

¡Enhorabuena por el trabajo llevado a cabo, lo voy a probar! #1

Closed UltrashRicco closed 3 years ago

UltrashRicco commented 3 years ago

Buenos días @olivluca , sólo quería felicitarte por el trabajo llevado a cabo.

He estado trasteando con el router de Digi (ZTE H298A con fimware T12), sacando los credenciales PPPoE, e incluso consigo hacer un downgrade de firmware poniendo el router en modo bootloader accediendo mediante el puerto serie, etc.

Voy a probar el procedimiento que propones. Cambiar la contraseña de admin mediante TR-069, entrar y bajarse el config.bin, modificarlo para habilitar Telnet, restablecer el config.bin modificado, entrar con Telnet y bajar el archivo de configuración XML... ¡madre mía lo que hay que hacer para conseguir los credenciales VOIP!!!

¡Enhorabuena por haber ideado esto y muchas gracias por compartirlo! No soy experto pero voy a probar con mi Raspberry Pi y una segunda interfaz USB/Ethernet.

Saludos,

olivluca commented 3 years ago

Sí, la verdad es que no quieren que la gente saque las credenciales voip, por eso no excluyo que, en cuanto puedan, tapen el pequeño agujero que queda. De momento no han actualizado el firmware (por lo menos el mio), así que debería funcionar.

UltrashRicco commented 3 years ago

En todo caso se podría hacer un downgrade del firmware para volver a aprovechar el agujero, intuyo. Lo tengo documentado aquí: https://bandaancha.eu/foros/desmontando-router-zxhn-h298a-1735364#r1lnke y más abajo alguien me facilita el firmware T10 de Digi que sí conseguí utilizar. No se actualiza de inmediato a la versión T12, pero se acaba actualizando a cabo de pocos reinicios.

olivluca commented 3 years ago

Ah, y de momento omito el procedimiento para obtener root (que también se puede) hay que guardar algún as en la manga :wink: En cuanto a hacer el downgrade, imagino que, si pueden, actualizaran el bootloader para que no sea posible :scream:

UltrashRicco commented 3 years ago

Podría ser que bloquearan la posibilidad de downgrade efectivamente. Me parece curioso que Digi, con los recursos limitados que me imagino que tendrá, dedique tanta energía al tema de la protección de los credenciales VOIP. Ya los podrían comunicar con condiciones de uso "fair use" como hacen otros proveedores.

UltrashRicco commented 3 years ago

Hola @olivluca , De nuevo, muchas gracias, me ha funcionado todo perfectamente.

Alguna dificultad inicial con las VLAN y luego para habilitar el servidor lighttpd, pero al final todo bien.

Ojo, que entre los "watchers" de tu proyecto esta un tal Florin Rediu, que si lo buscas, trabaja para Digi en Rumania.

He conseguido los credenciales VOIP, ahora toca probarlos con un teléfono soft VOIP o algo así, y a probar configurarlo en un router DLINK que he comprado.

Por último, solo comentar que creo que se puede inhabilitar el TR-069 desde los parámetros WAN en vez de cambiar la URL, que también funciona, claro.

Como lo sugieres, también he inhabilitado los accesos remotos de Digi entre las reglas del firewall, aunque esto no les impide cambiar los credenciales SIP cuando se les antoje, al igual que ocurrió cuando la gente los sacaba por fuerza bruta.

A ver cuanto nos dura la alegría! :D

Aunque no tenga demasiados conocimientos, me mantengo a tu disposición para intercambiar ideas. ¡Muchas gracias! Saludos,

olivluca commented 3 years ago

Era de esperar que los de digi estuvieran al tanto :wink:

olivluca commented 3 years ago

He cambiado la url del tr-069 en lugar de deshabilitarlo para interceptar los comandos y ver si intentan alguna jugada (actualizar firmware, cambiar passwords, etc.).

UltrashRicco commented 3 years ago

He cambiado la url del tr-069 en lugar de deshabilitarlo para interceptar los comandos y ver si intentan alguna jugada (actualizar firmware, cambiar passwords, etc.).

Ah, vale, no obstante, en el tutorial indicas que es el router el que inicia los intercambios TR-069, entonces si las solicitudes del router no llegan al servidor, este no respondería nunca, ¿correcto?

UltrashRicco commented 3 years ago

Voy a dar un poco más de detalles que me parecen útiles sobre cómo conseguí seguir el wiki exitosamente.:

Las VLAN me dieron problemas. Resulta que NO hay que habilitar ni IPv4 ni IPv6. Esto lo resolví acordándome de que no hay que habilitar DHCP cuando sacas los credenciales PPPoE haciendo un bridge entre dos interfaces LAN.

Creo que la mayor dificultad es que el wiki no explica con mucho detalle cómo configurar y ejecutar el servidor lighttpd. Lo siguiente vale para Kali Linux 2020.3:

Crear los enlaces simbólicos: sudo ln -s /etc/lighttpd/conf-enabled/ /etc/lighttpd/conf-available/

Habilitar módulo cgi (no me funcionaba poniéndolo en /etc/lighttpd/lighttpd.conf): sudo lighty-enable-mod cgi

Habilitar módulo accesslog (aunque yo no he tenido que consultar los logs): sudo lighty-enable-mod accesslog

No olvidarse de ejecutar el servidor lighttpd 😆: sudo systemctl start lighttpd

Todo esto lo resolví buscando en Google, ¡pero seguro que le viene bien a alguien que sepa menos que yo! 😄

Simular un servidor TR-069 al que dirigir las peticiones del router, y usarlo para cambiar la contraseña admin desde luego es una idea genial, ¡enhorabuena! 👍

olivluca commented 3 years ago

Cuando tenga tiempo y, sobre todo, ganas de hacerlo, pondré algo más sobre las vlanes, lighttpd está explicado en miles de tutoriales y en la documentación de cada distribución. Respecto al tr-069 he puesto la url de un servidor local (en este caso también lighttpd) que hace de mitm y me envía un email con cada petición y respuesta del servidor (que no reenvío al router).