Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

ADSL/VDSL
💡

Cómo lograr acceso de administrador en el router NuCom NC-DS224WTV

BocaDePez
BocaDePez
2

Estos routers NuCom son una mina de vulnerabilidades. Después de lograr lo propio en el NuCom NU-GRNV5, os traigo otro tutorial sobre como hacerlo en el NuCom NC-DS224WTV.

Se trata de un router VDSL2/ADSL2+ y el exploit que voy a explicar lo he encontrado en un aparato con las siguientes especificaciones.

Product TypeNC-DS224WTV
Hardware VersionV0.0.1
Software VersionDS224WTVSTA034
Specsnucom.es/wp-content/uploads/2020/02/NC-DS224WTV.pdf

Cuenta de usuario y superusuario

Como viene siendo habitual, a las compañías telefónicas no les apetece dar control total a sus clientes sobre el router que instalan en su domicilios. Es por ello que nos facilitan una cuenta de usuario con privilegios capados. Con este modelo de router mi compañía me facilitó los datos de esa cuenta por medio de una pegatina adherida detrás del dispositivo. Esa cuenta se llama user, y la contraseña vamos a suponer que fuera 1234.

Este router cuenta además con una cuenta de superusuario llamada admin cuya contraseña no es revelada al cliente. Vamos a suponer que esa contraseña misteriosa fuera 5678.

Seguramente en este router como en tantos otros exista la posibilidad de resetearlo de fábrica manteniendo pulsado el escondido botón de reset durante un buen rato, para que de este modo la contraseña de admin vuelva a ser 1234 o alguna de ese estilo. Lamentablemente, en ocasiones eso no es una opción porque se corre el riesgo de que al resetear se pierda la configuración de la línea telefónica IP o el paquete de televisión contratado.

Requisitos

Requisitos para poder llevar a cabo el hack.

  • Conocer la contraseña de la cuenta user. En principio te la facilita tu ISP.
  • Un navegador con herramientas de desarrollador. Actualmente, tanto Firefox como Chrome la tienen y es accesible mediante la tecla F12. Yo utilizaré Firefox.
  • Conocimientos básicos de programación no vendrían mal, pero en la medida de lo posible trataré de que el tutorial lo pueda seguir cualquiera.

Pasos a realizar

1. Abrir un navegador y escribir en la barra de direcciones la dirección IP de tu router, típicamente es 192.168.1.1. En mis pantallazos veréis 172.16.0.1 porque yo me puse esa.

2. Identificarse con el usuario user y la contraseña facilitada por la compañía. El router nos dará la bienvenida mostrándonos la página http://192.168.1.1/index.html.

ncds224wtv-1.png

Si estás convencido de que sabes la contraseña de la cuenta user pero no puedes acceder a esa pantalla, me solidarizo contigo. A mi también me pasa. Ve al final del tutorial y sigue las instrucciones de la sección “¿Y si no puedo acceder al router ni como user?”

3. En el menú de la izquierda pulsar sobre Management → Account Management → Passwords. El router nos devolverá esta página:

ncds224wtv-2.png

Como veis contiene un desplegable para escoger a qué usuario queremos cambiarle la contraseña, un campo donde escribir la contraseña actual, y dos donde escribir la nueva contraseña. El botón Apply es el que pulsaremos cuando toque hacerlo.

En mi caso el desplegable de selección de usuario está habilitado (color blanco). Eso es porque ya lo tengo hackeado. En vuestro caso seguramente esté deshabilitado (color gris).

4. Pulsamos sobre el desplegable con el botón derecho y en el menú contextual que se abre escogemos Inspeccionar elemento. Aparece el menú de desarrollador mostrando el código HTML de la página web actual.

5. Pulsamos sobre el pequeño triángulo a la izquierda del elemento <select id=… para revelar las opciones de ese desplegable.

ncds224wtv-3.png

6. Hay que cambiar el atributo value de ese option de user a admin. Para ello hacemos doble click sobre la palabra user, y la cambiamos por admin, quedando la cosa tal que así:

ncds224wtv-4.png

De este modo, cuando cambiemos la contraseña, realmente se la estaremos cambiando al usuario admin, no a user.

7. Pasamos a la pestaña Depurador desde la cual podremos alterar la ejecución del código Javascript que entrará en acción cuando pulsemos el botón de Apply. Hacemos click en el número de línea 73, esa que dice:

if(SHA256(node_psd[2].value) != OldPassword)
ncds224wtv-5.png

Con eso acabamos de crear un punto de ruptura, de manera que la ejecución del código se detendrá en esa sentencia cuando más adelante pulsemos el botón de Apply.

8. A continuación escribimos la antigua contraseña de admin en el primer campo de texto de la página. No la conocemos, así que escribid por ejemplo 8888. Escribid la nueva contraseña que queréis para admin en los dos campos de texto siguientes y finalmente pulsad el botón de Apply. Voy a suponer que queremos poner como contraseña 6666.

ncds224wtv-6.png

9. La ejecución se debería detener en la línea 73.

ncds224wtv-7.png

Veis ese chorizo largo de números y letras a la derecha de f8638b… Es la contraseña actual de admin (5678, en teoría no la sabemos) encriptada mediante el algoritmo SHA256.

10. Si la contraseña es muy débil se puede directamente hacer un ataque de diccionario para tratar de revertir el hash. Se puede hacer ese ataque desde páginas como md5hashing.net/hash/sha256 y md5decrypt.net/en/Sha256, o directamente buscando en Google la contraseña encriptada. Si se averigua la contraseña actual de admin, el tutorial termina aquí, enhorabuena.

Pulsa F8 o el botón de play (triángulo señalando a la derecha) para que el guión termine la ejecución. Cierra sesión y entra de nuevo en el router como admin con la contraseña que acabas de descubrir.

11. Si revertir el hash resulta imposible, lo cual es lo más probable, no queda otra que machacarla con una nueva. Para ello vamos a alterar en tiempo real el valor de la variable OldPassword de la línea 73 para que coincida con el valor que resulta de aplicar la función de hash SHA256 al valor que hemos escrito antes en el formulario como antigua contraseña (8888). Recordar que nos la hemos inventado porque la desconocíamos.

Para ello vamos a la pestaña Consola del menú de desarrollador y escribimos OldPassword=SHA256("8888") y pulsamos Intro.

ncds224wtv-8.png

Volvemos a la pestaña Depurador y pulsamos F8 o pulsamos el botón de play (triángulo señalando a la derecha) para que el guión termine.

Por como está programado el código, acabamos de cambiar la contraseña de admin desde la cuenta user. Nos mostrará el mensaje "Web server will restart". Ahora ya podemos entrar como admin porque ahora la contraseña es la que hemos establecido nosotros (6666).

¿Y si no puedo acceder al router ni como user?

Es lo que me pasa a mi. No sé si es un bug en el software del router, pero muy normal no parece. Como admin puedo entrar sin problema, pero cada vez que quiero acceder como user, tengo que:

  1. Hacer una intentona fallida de entrar como admin, introduciendo una contraseña incorrecta. No os será difícil puesto que si estáis siguiendo este tutorial se supone que no conocéis la contraseña correcta. Os mostrará mensaje en rojo diciendo que la contraseña es incorrecta.
  2. A continuación introducir nombre de usuario user y su contraseña. Esta sí que la conocéis. A pesar de haber introducido una combinación válida de usuario y contraseña os quedaréis en la misma pantalla sin que se os muestre mensaje ninguno. Raro.
  3. Ahora en la barra de direcciones del navegador introducid http://192.168.1.1/index.html y pulsad intro. Llegaréis a la pantalla del punto 2 del tutorial. Ya podéis continuar por su punto 3.
vukits

oh, muchas gracias :D

BocaDePez
BocaDePez

No ha habido manera. Punto 11 y al pulsar F8 dice: The old pasword is wrong!

🗨️ 3
BocaDePez
BocaDePez

Puedes comprobar varias cosas:

  • ¿Te has asegurado en el punto 11 de ejecutar OldPassword=SHA256("XXXX"); donde XXXX es el password que pusiste en el campo "Old Password" del formulario?

  • ¿Cuándo ejecutas OldPassword=SHA256("XXXX"); ves que en la consola sale algo con pinta de hash sha256 como en mi pantallazo o te da un error?

🗨️ 1
BocaDePez
BocaDePez

Sí y sí. Sale igual que lo tuyo pero lanza el error que te comento.

Tengo que probar de nuevo, pero...

Gracias por contestar.

BocaDePez
BocaDePez

A mi me funcionó, pero puedes intentarlo hacer desde la página sin marcos, no sea que el depurador de Firefox se lie por eso.

Para ello en haz click con el botón derecho en el enlace "Passwords" del menú de la izquierda y selecciona "Copiar ruta del enlace" en el menú contextual. Pégalo en la barra de direcciones y Enter. Verás la misma página pero sin estilos ni menus. El botón de la izquierda es el de "Apply". Inténtalo así a ver.

jorti

Funcionó. ¡Mil gracias!