Exposición de Credenciales Cifradas en Modems ZTE ZXHN H108N

  • Posted on: 26 February 2014
  • By: ReYDeS

En una reciente investigación personal, he tenido la oportunidad de realizar el análisis a un modem ZTE ZXHN H108N, el cual es una pasarela que integra un modem DSL, router y redes inalámbricas en un solo dispositivo. Estos modems son instalados por Movistar Perú. Según los resultados que he podido obtener, es factible obtener acceso "no autorizado" a este tipo de dispositivos, aunque la contraseña del usuario “admin” haya sido cambiada. La razón de esto se debe a que es el propio Modem el que revela sus credenciales de acceso cifradas. Una vez "descifradas" las contraseñas, un atacante malicioso puede tener control remoto del dispositivo.

Paso a detallar el procedimiento realizado.

Utilizar un escaner de puertos (nmap) para encontrar los puertos en atención o abiertos.

Realizar una conexión al puerto 80 o sencillamente ingresar con un navegador web.

Se intentó autenticarse utilizando el usuario y contraseña“ admin/admin “, el cual según el manual, son las credenciales por defecto. Pero no se obtuvo un resultado positivo.

Una de las técnicas más sencillas para obtener información sobre una aplicación web, y puntualmente sobre un formulario de autenticación es analizar la “fuente” HTML.

Es MUY sorprendente encontrar las “posibles” contraseñas cifradas. Menciono “posibles”, pues aun se tiene que verificar esta información con el siguiente proceso.


//get user info
var G_UserInfo = new Array();
var m = 0;
G_UserInfo[m] = new Array();
G_UserInfo[m][0] = "admin"; //UserName
G_UserInfo[m][1] = "$1$TW$uTZg2Us8xJa9Vot/SgqgZ0"; //Password
G_UserInfo[m][2] = "1"; //Level
G_UserInfo[m][3] = "1"; //Index
m++;
G_UserInfo[m] = new Array();
G_UserInfo[m][0] = "user"; //UserName
G_UserInfo[m][1] = "$1$TW$3q69ksdrX7zaaLg54vFxN0"; //Password
G_UserInfo[m][2] = "2"; //Level
G_UserInfo[m][3] = "2"; //Index
m++;
G_UserInfo[m] = new Array();
G_UserInfo[m][0] = "support"; //UserName
G_UserInfo[m][1] = "$1$TW$yS.Dzi9LPS3wn0qUQMBEA1"; //Password
G_UserInfo[m][2] = "2"; //Level
G_UserInfo[m][3] = "3"; //Index

Se procede a almacenar las “posibles” contraseñas cifradas en un archivo,

Se ejecuta un programa (John The Ripper) para “adivinar” las contraseñas cifradas. Y se obtienen dos usuarios y sus respectivas contraseñas.

support:support
user:user

El formulario de autenticación del modem, no permite definir otro usuario diferente al usuario “admin”. Para solucionar este pequeño inconveniente se utilizar un proxy de interceptación ( OWASP ZAP) para modificar los datos de nuestra solicitud por los del “support”.

¡Listo!. Ya se tiene acceso al modem utilizando el usuario Support.

En la siguiente imagen se expone más información sobre este Modem desde el interior.

Algunas consideraciones.

  • La información expuesta en el presente texto tiene como propósito mostrar lo sencillo que puede ser para un “atacante malicioso” tomar control de este modem.
  • Aunque la contraseña del usuario “admin” haya sido modificada, es factible ingresar utilizando las combinaciones de usuario y contraseña “user/user” y “suppor/suppor”.
  • Los usuarios detallados en el anterior punto, no están documentados en los manuales que es posible obtener del Modem

Fuentes:

http://enterprise.zte.com.cn/en/products/network_lnfrastructure/cpe/2012...
http://nmap.org/
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
http://www.openwall.com/john/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense