Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

Fibra
💡

Sustituir router Digi de fibra por un router neutro

yorelito
3

¿Alguien ha conseguido sustituir el router que instala Digi por un router neutro?

¿Cuales son los datos de configuración que ha tenido que poner?

Actualizado

Posibles métodos que funcionan:

Ya no funcionan:

vukits

Cuales son los datos de configuración que ha tenido que poner?

Se hace como con Vodafone.

Sacas los datos mediante un hub, o mediante un router openwrt con port mirroring habilitado.

Es decir pones el switch modificado, o el hub entre el router neutro de Digi y la ONT.

🗨️ 4
BocaDePez
BocaDePez

Prometes mucho sin haber probado nada 😐

¿Cómo vas a sacar la contraseña de PPPoE desde los datos capturados? La contraseña en CHAP no se manda como texto sino sólo un hash que es cada vez distinto. Como la contraseña no es una palabra, se tardaría meses intentando desencriptarla probando todas las posibilidades.

¿O crees que el router de DIGI se descarga la configuración como el texto no encriptado como en el caso de Vodafone? Los equipos de ZTE no parecen funcionar así. Por lo menos no oí de nadie haberlo conseguido sacar los datos de esta menera con un router ZTE.

🗨️ 3
vukits

estoy dando ideas nada más.

Fijate, lo del hash,se puede probar unas RainBowTables.

De hecho, para eso está este hilo.. Para discutir de técnicas viables

BocaDePez
BocaDePez

Se puede obtener con una vulnerabilidad de samba

🗨️ 1
PezEnLaBoca

Aún no la han solucionado? Bueno saberlo. La verdad es que con el truñaco de firmware que gasta zte veo difícil el arreglo, pero ya que están pueden caparlo aún más.....

BocaDePez
BocaDePez

Analizando el tráfico, parece que el router lanza por el puerto WAN un PADI tagueado con la VLAN 20. Podría intentarse esto: github.com/qingxp9/PPPoE-Phisher en esa VLAN por si hay suerte para sacar el usuario y contraseña PPPoE.

BocaDePez
BocaDePez

Una pregunta porque no lo tengo claro:

Digi utiliza ONT+Router por lo que veo: ¿La VoIP quién la da, la ONT o el Router? Lo pregunto porque las fotos que veo por Internet parece que ambos llevan puertos VoIP.

Esto es importante, porque si la VoIP la hace la ONT, entonces debería ser mucho más fácil cambiar el Router por uno neutro.

Por favor, aclarad esto.

🗨️ 2
vukits

saber si es la ONT da VoIP es tan sencillo como conectarle un telefono a la clavija de telefono (si es que lleva), y probar si funciona..

BocaDePez
BocaDePez
2

La ONT Alcatel-Lucent 7368 G-010G-P que da DIGI no tiene puerto para el teléfono. Y el Gigaset que dan no tiene conexión de red. Así que sólo puede ser el router ZTE.

BocaDePez
BocaDePez
2

Hay un método sencillo para obtener el fichero de configuración completo en otros modelos de routers ZTE, os pongo las instrucciones por si quereis probar:

  1. Con cualquier distro de Linux creamos en un pincho USB, formateado a NTFS, un enlace simbolico a /proc/cfg/db_user_cfg.xml (ln -s /proc/cfg/db_user_cfg.xml).
  2. Conectamos el pintcho USB al router.
  3. Hacer login en la Web del router con las credenciales "normales" (user/user, 1234/1234, o las que sean).
  4. Ir a "Management & Diagnosis - System management - User configuration management" y hacer un backup de la configuración. No es necesario descargar el config.bin, basta con darle al botón de "Backup configuration".
  5. Ahora en Windows1 ir al recurso compartido por samba \\192.168.1.1, explorar hasta llegar al raiz del USB, generalmente esta en \\192.168.1.1\samba\usb1_1 pero la ruta puede cambiar.
  6. Descargar el archivo db_user_cfg.xml.
  • Los datos de configuración y las credenciales de PPPOE están en Tbl name="PPPIF".
  • Datos de VLAN y 802.1P en Tbl name="EthVlan".
  • Credenciales de usuarios del router y niveles de acceso en Tbl name="DevAuthInfo"
  • Credenciales de Telnet (usuario root camuflado) en Tbl name="TelnetCfg"
  • Idem para Samba en Tbl name="SambaCfg"

1 Usuarios de Windows 10. El protocolo SMBv1 que utiliza el router esta deshabilitado por defecto, consultar en Google como activarlo y desactivarlo.

Ya contareis como os va.

Saludos

🗨️ 4
BocaDePez
BocaDePez
1

El fichero en /proc/cfg esta cifrado en este caso. Aunque es un buen truco

🗨️ 3
BocaDePez
BocaDePez
1

Si, de normal está cifrado, pero en otros routers, HN267N por ejemplo, si haces un backup de la configuración vía Web, el fichero db_user_cfg.xml se usa de alguna manera para construir el config.bin y en ese momento queda descifrado en /proc/cfg y accesible en claro desde el link del USB.

🗨️ 1
BocaDePez
BocaDePez

Por ahí dicen que se puede descomprimir el fichero db_user_cfg.xml con la utilidad offzip.

otraver

Llego hasta acceder a la raiz del USB por samba en el router, pero no existe el archivo db_user_cfg.xml. Sin embargo, en Linux y Windows si que puedo verlo, con un tamaño de 58 bits y un contenido ininteligible

IntxLNK / p r o c / c f g / d b _ u s e r _ c f g . x m l

Si examino con Notepad++, en el primer espacio tras IntxLNK me aparece "SOH" y en los espacios entre letras y símbolos del resto aparece "NUL"

he tenido que suprimirlos y sustituirlos por espacios porque sino no me dejaba subir el mensaje

Imagino que no se ha creado bien el enlace simbólico. Ya me pasó otros días creando el enlace simbólico smb.conf

BocaDePez
BocaDePez

¿Alguien puede enumerar las funcionalidades que no se pueden hacer con el router de Digi, además de abrir o cerrar puertos?

Supongo que al menos se podrá cambiar el nombre de la WiFi, ocultarlo y cambiar la contraseña, ¿no?

¿Se puede asociar IPs locales (192.168.1.*) por Mac?

🗨️ 2
nfaguade

Se puede cambiar el nombre de las redes WIFI, la contraseña de las mismas y ocultar el SSID. Lo de asociar IPs locales, ni idea.

🗨️ 1
mceds

Se refiere a una pantalla en la que se puede introducir la MAC de una tarjeta de red (es algún así como su número de bastidor) y el servidor DHCP siempre le asignará la misma IP, la que tú escojas.

Por ejemplo, tienes un sobremesa cuya tarjeta de red tiene de MAC 11:22:33:44:55:66. Y quieres que su IP sea siempre 192.168.1.2. Estableces esa relación en la pantalla de configuración y ya está.

En todo caso, eso siempre me ha parecido útil en oficinas con gran número de equipos. Para casa, con configurar la IP fija en cada equipo, basta.

BocaDePez
BocaDePez

Buenas, aprovecho el hilo para hacer una consulta. ¿Cómo se debe proceder correctamente para capturar los datos entre el router y la ONT? Estoy intentándolo con un router con openwrt instalado (llamemoslo "sniffer"), pero cuando conecto el sniffer entre el router del operador y la ONT, el router no coge servicio de Internet ni teléfono. Mi sniffer no es compatible con el plugin port mirroring por lo que estaba intentando redireccionar el tráfico con iptables.

El problema es ese: router conectado directamente a la ONT, coge Internet y teléfono. Router y ONT con sniffer en medio, no coge Internet ni teléfono.

Mencionar también que no entiendo al 100% cómo funciona la "red" o lo que haya entre el router y la ONT. Sé que la ONT Alcatel tiene la dirección IP 192.168.4.254, pero no estoy seguro de si esa IP es puramente para conectarse por Telnet a la ONT o via interfaz web para la configuración.

A ver si alguien me echa un cable. Saludos

🗨️ 3
vukits

el driver del switch debe permitir el por mirroring

🗨️ 1
BocaDePez
BocaDePez

Gracias por responder.

Entiendo, pero también tengo el problema de que cuando pongo el router con openwrt entre el router del operador y la ONT, el router tampoco levanta Internet ni teléfono.

BocaDePez
BocaDePez

hola a todos yo tambien estoy intentndo sacarlo con OpenWrt y no soy capaz de configurarlo

a ver si alguien me puede ayudar

fc69f8f5-1b01-41ca-b9e4-65092ab74f02.jpg
BocaDePez
BocaDePez
1

He encontrado esto en una página de Rumanía: donde dice usuario es user

translate.googleusercontent.com/translat…b4kY9IEo_iQw

- ingrese como usuario simple en el dispositivo (usuario / Digi)

- Ir a las herramientas del sistema y luego restablecer la configuración predeterminada
- Mientras arranca, quite la fibra de la máquina (no podrá obtener la configuración de RDS y permanecer con la configuración predeterminada)
- Acceda a 192.168.100.1 telecomadmin / admintelecom
- Cargar la interfaz de administración de la interfaz.
- para los próximos pasos, no deje demasiada interfaz sin hacer clic en ella, ya que sale del tiempo de inactividad y se emitirá
- Conecte la fibra y deje que se conecte. En este paso, descargaremos la configuración de RDS pero ya estamos en la interfaz administrativa.
- Una vez conectado e internet (no encienda la bombilla) vaya a las herramientas del sistema → archivo de configuración → descargue el archivo de configuración
- Ahora habrá descargado un XML que contiene la configuración completa del enrutador después de que ya se haya inicializado con la configuración del ISP, incluidos los usuarios / la contraseña.
- Use un editor de texto - He usado WordPad para interpretar correctamente la línea con el archivo XML. pero Notepad ++ está bien
- buscar el archivo después de "UserInterface" sin los cubos
- en esa sección verá que hay 2 usuarios (root y Romtelecom) y probablemente será un usuario y aún algo que haya configurado el RDS.

- La clave para cambiar es "UserLevel", que si es 1 significa acceso limitado, si es 0, significa acceso de administrador.
- así establecido para usuario limitado, UserLevel = "0"
- También aquí, opcionalmente, puede cambiar su contraseña / contraseñas en línea y desde la contraseña de texto generar un MD5, luego generar un SHA256 a partir del resultado de MD5. El código que obtiene aquí lo coloca en los valores actuales de los campos de Contraseña para los usuarios que desea.
- Puedes cambiar otros milagros pero no te lo recomiendo.
guarda el archivo
- vuelva al equipo (p. ej., 192.168.100.1), inicie sesión con el usuario normal y restablezca la configuración predeterminada, reinicie la fibra, luego vaya a la interfaz telecomadmin / admintelecom
- Vaya a las herramientas del sistema→ archivo de configuración→ navegar→ seleccione el archivo XML modificado y guardado del disco→ Actualizar archivo de configuración
- Después de la configuración, la máquina se reiniciará aplicando la configuración modificada.
- puede volver a conectar la fibra ya que el equipo no reanudará la configuración RDS porque ya está presente.
Mucha paciencia !!!

🗨️ 2
iCrono

¿Alguien ha podido probar ya este método con el router de Digi?

Yo me quiero poner en un rato, pero no tengo claro que me vaya a dar tiempo...

🗨️ 1
iCrono

Nada, no hay manera. No paso del primer punto.

Quitando la fibra y el RJ45 que va a la ONT, por mucho que reseteo el router a valores de fábrica, ya sea a través del botón de la interfaz o a través del pequeño botón reset de la parte trasera (dejándolo pulsado unos 20 segundos), el dichoso router mantiene parte de los parámetros de Digi. Por ejemplo, me pide volver a establecer una contraseña de acceso, pero el SSID y las claves del WiFi, son las que aparecen en la pegatina. Vamos, que la configuración no la pilla por telecarga. Está grabada en el router a fuego!

¿Alguna sugerencia?

andressis2k
1

En la mayoría de los casos, el CPE admite PAP/CHAP, y es el BRAS el que le “obliga” a usar CHAP

Con cualquier router Mikrotik se podría configurar un servidor PPPoE en la VLAN20, activando solamente PAP, y con el propio Packet Sniffer del router capturar. Si funciona, con solo conectar el ZTE por su boca WAN tendríamos los datos del PPPoE (no puedo probarlo por no tener acceso a un router de estos ni vivir en Madrid)

🗨️ 1
BocaDePez
BocaDePez

Tengo DIGI, si alguien tiene un Mikrotik o algún PC con routerOS que avise.

mceds

Buen trabajo. Si alguien prefiere guiarse en inglés y con unas capturitas de pantallas y archivos, ésta es la fuente de la fuente:

zedt.eu/tech/hardware/obtaining-administ…wei-hg8247h/

Eso sí, la viabilidad del método exige que en DIGI España no hayan cambiado el firmware para modificar la contraseña de root.

BocaDePez
BocaDePez

Indico cómo obtener el fichero jquery-1.7.2.min.js que se utiliza en el router para todas las acciones, por si alguien que sepa de Jquery/Angular me puede decir cómo meterle mano, si es que se puede.

wget --user=user --password=_password_ 192.168.1.1/jquery/jquery-1.7.2.min.js

Otros ficheros que se pueden obtener:

wget --user=user --password=_password_ 192.168.1.1/common_page/UpDownLoad_Prevent_Ctl.lua?sessToken=token_que_da_al_principio
🗨️ 2
ajoms
1

Trabajo en telefonica y lo que os puedo decir es que la VLAN es la 20 y el priority es 0. Me he pasado a DIGI por el buen precio que tiene. He estado viendo la opcion que comentan arriba desde linux y el pincho USB, pero que va no funciona. Me he descargado el fichero de configuracion desde la web, 192.168.1.1 y esta encriptado y desde los sistema de telefonica solo puedo ver la conectividad del circuito más nada. Alguien tiene otra idea de como obtener los datos pppoe? seria bueno utilizar un router neutro.

Gracias de antemano.

🗨️ 1
BocaDePez
BocaDePez

Hay un software por ahi dificil de conseguir que te descifra la clave de admin del router, lo se porque en su momento el instalador me dio la clave usando dicho software y me pidio por favor que no cortase el acceso a la administracion remota de Digi ya que se usa para garantizar el servicio, pero por desuso olvide la contraseña yo solo digo que existe el software porque lo he visto en accion y es posible que solo lo tengan los tecnicos de DIGI

Mayden
1

revisando las request y reponse de los archivos ajax encuentro lo siguiente:

<ajax_response_xml_root>
	<IF_ERRORPARAM>SUCC</IF_ERRORPARAM>
	<IF_ERRORTYPE>SUCC</IF_ERRORTYPE>
	<IF_ERRORSTR>SUCC</IF_ERRORSTR>
	<IF_ERRORID>0</IF_ERRORID>
	<ID_WAN_COMFIG>
		<Instance>
			<ParaName>ConnTrigger</ParaName>
			<ParaValue>AlwaysOn</ParaValue>
			<ParaName>UpTime</ParaName>
			<ParaValue>95730</ParaValue>
			<ParaName>Dns2v6</ParaName>
			<ParaValue>2a02:2f0c:8000:8::1</ParaValue>
			<ParaName>IsNAT</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>Gua1PrefixLen</ParaName>
			<ParaValue>0</ParaValue>
			<ParaName>UserName</ParaName>
			<ParaValue>094535663@digi</ParaValue>
			<ParaName>ConnError</ParaName>
			<ParaValue>ERROR_NONE</ParaValue>
			<ParaName>xdslMode</ParaName>
			<ParaValue>NULL</ParaValue>
			<ParaName>Pd</ParaName>
			<ParaValue>2a0c:5a80:103:800::</ParaValue>
			<ParaName>wantype</ParaName>
			<ParaValue>pppoe</ParaValue>
			<ParaName>IPv6AcquireMode</ParaName>
			<ParaValue>Auto</ParaValue>
			<ParaName>WANCName</ParaName>
			<ParaValue>WANConnection</ParaValue>
			<ParaName>IpMode</ParaName>
			<ParaValue>Both</ParaValue>
			<ParaName>TransType</ParaName>
			<ParaValue>PPPoE</ParaValue>
			<ParaName>mode</ParaName>
			<ParaValue>route</ParaValue>
			<ParaName>uplink</ParaName>
			<ParaValue>2</ParaValue>
			<ParaName>IsSLAAC</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>pageType</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>VlanEnable</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>StrServList</ParaName>
			<ParaValue>INTERNET_TR069_VoIP</ParaValue>
			<ParaName>ConnStatus6</ParaName>
			<ParaValue>Connected</ParaValue>
			<ParaName>Gua1</ParaName>
			<ParaValue>2a0c:5a80:1ff:ffff::6440:9e6</ParaValue>
			<ParaName>_InstID</ParaName>
			<ParaValue>IGD.WD1.WCD1.WCPPP1</ParaValue>
			<ParaName>IsGUA</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>Priority</ParaName>
			<ParaValue>0</ParaValue>
			<ParaName>Gateway6</ParaName>
			<ParaValue>fe80::1</ParaValue>
			<ParaName>VLANID</ParaName>
			<ParaValue>20</ParaValue>
			<ParaName>Gua3</ParaName>
			<ParaValue>::</ParaValue>
			<ParaName>SubnetMask</ParaName>
			<ParaValue>255.255.255.255</ParaValue>
			<ParaName>WorkIFMac</ParaName>
			<ParaValue>7c:39:53:ab:9e:84</ParaValue>
			<ParaName>MTU</ParaName>
			<ParaValue>1492</ParaValue>
			<ParaName>DNS1</ParaName>
			<ParaValue>188.26.216.1</ParaValue>
			<ParaName>Gua3PrefixLen</ParaName>
			<ParaValue>0</ParaValue>
			<ParaName>DNS3</ParaName>
			<ParaValue>0.0.0.0</ParaValue>
			<ParaName>IsPdAddr</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>GateWay</ParaName>
			<ParaValue>10.0.0.1</ParaValue>
			<ParaName>linkMode</ParaName>
			<ParaValue>PPP</ParaValue>
			<ParaName>Unnumbered</ParaName>
			<ParaValue>0</ParaValue>
			<ParaName>UpTimeV6</ParaName>
			<ParaValue>95731</ParaValue>
			<ParaName>IsDHCPv6</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>LLA</ParaName>
			<ParaValue>fe80::6440:9e6</ParaValue>
			<ParaName>Dns3v6</ParaName>
			<ParaValue>::</ParaValue>
			<ParaName>Gua2</ParaName>
			<ParaValue>::</ParaValue>
			<ParaName>IsRS</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>IsPD</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>IPAddress</ParaName>
			<ParaValue>100.64.9.230</ParaValue>
			<ParaName>DNS2</ParaName>
			<ParaValue>188.26.217.1</ParaValue>
			<ParaName>AuthType</ParaName>
			<ParaValue>PAP,CHAP,MS-CHAP</ParaValue>
			<ParaName>Gua2PrefixLen</ParaName>
			<ParaValue>0</ParaValue>
			<ParaName>GuaNum</ParaName>
			<ParaValue>1</ParaValue>
			<ParaName>EnablePassThrough</ParaName>
			<ParaValue>0</ParaValue>
			<ParaName>PdLen</ParaName>
			<ParaValue>56</ParaValue>
			<ParaName>Dns1v6</ParaName>
			<ParaValue>2a02:2f0c:8000:3::1</ParaValue>
			<ParaName>ConnStatus</ParaName>
			<ParaValue>Connected</ParaValue>
		</Instance>
	</ID_WAN_COMFIG>
</ajax_response_xml_root>

Dentro de esa chorrera de XML encontramos cosas interesantes como el username, las VLAN y las prioridades:

Username:

<ParaName>UserName</ParaName>
<ParaValue>094535663@digi</ParaValue>

VLAN y prioridades

<ParaName>Priority</ParaName>
<ParaValue>0</ParaValue>
<ParaName>VLANID</ParaName>
<ParaValue>20</ParaValue>

Faltaría averiguar las password y corroborar que userName corresponde a username del PPPoE.

Un saludo

🗨️ 3
ajoms

hola amigo, tienes algun avance? necesitas alguna ayuda?

🗨️ 1
BocaDePez
BocaDePez

Hasta el sábado no puedo volver a ponerme, de cualquier forma he visto un enlace que parece interesante, por si alguien quiere probarlo.

n0tty.github.io/2017/02/25/ISP-Hacking/

Un saludo

Cris Kross

ES:Quen ha consegido conectarse con otro router ?

Puede explicar como se configura el router neutro

RO: Cine a reusit a se conecta cu alt router neutru sa explice ce anume trebuie setat si cum. Multumesc

BocaDePez
BocaDePez
1

Confirmo que se puede obtener con la respuesta de Ajax cierta información:

http://192.168.1.1/common_page/Internet_Internet_lua.lua?TypeUplink=2&pageType=1&_=<el_token>

En la respuesta a esta petición (indico algunos parámetros y su valor):

  • Dns2v6: ????:????:????:?::? (los '?' son un número hex)
  • IsNAT: 1
  • UserName: <identificador_numérico>@digi
  • xdslMode: NULL
  • wantype: pppoe
  • IPv6AcquireMode: Auto
  • WANCName: WANConnection
  • IpMode: Both
  • uplink: 2
  • VlanEnable: 1
  • StrServList: INTERNET_TR069_VoIP
  • ConnStatus6: Connected
  • Priority: 0
  • Gateway6: ????::? (los '?' son un número hex)
  • SubnetMask: 255.255.255.255
  • VLANID: 20
  • WorkIFMac: ??:??:??:??:??:?? (los '?' son un número hex)
  • MTU: 1492
  • DNS1: 188.*.*.* (los '*' tienen valor)
  • DNS3: 0.0.0.0
  • UpTimeV6: <número>
  • IsDHCPV6: 1
  • IPAdress: 100.*.*.* (los '*' tienen valor)
  • DNS2: 188.*.*.* (los '*' tienen valor)
  • AuthType: PAP,CHAP,MS-CHAP
  • EnablePassThrough: 0
  • Dns1v6: ????:????:????:?::? (los '?' son un número hex)

Creo que 'password' no tiene en la conexión, así que si hay alguien que tiene un router libre, ¿puede probar si con estos parámetros puede conectar?

A disfrutarlo.

🗨️ 6
BocaDePez
BocaDePez

hola Boca de Pez
= <el_token> a que se refierE? donde obtengo ese dato? gracias amigo

🗨️ 5
BocaDePez
BocaDePez

Tienes que dar a F12 en el navegador y la pestaña 'red' y luego en la pantalla de la web del router ir a la opción de 'Internet' y verás que abajo tienes una petición GET internet_eth_interface_lua.lua?_=<ESTE_ES_EL_TOKEN_QUE_TIENES_QUE_USAR>

BocaDePez
BocaDePez
1

Lo indico paso a paso por si alguien no lo ve claro:

  • Autenticarse en la página web del router (192.168.1.1).
  • Pulsar F12 en el navegador y seleccionar la pestaña 'red'.
  • Pulsar la opción de 'Internet' en la página web del router.
  • Abajo en la pestaña 'red' está la petición GET internet_eth_interface_lua.lua?_=<ESTE_ES_EL_TOKEN_QUE_TIENES_QUE_USAR>
  • Abrir nueva pestaña del navegador.
  • Pulsar F12 en el navegador y seleccionar la pestaña 'inspector'.
  • Abrir: http://192.168.1.1/common_page/Internet_Internet_lua.lua?TypeUplink=2&pageType=1&_=<ESTE_ES_EL_TOKEN_QUE_TIENES_QUE_USAR>
  • En el HTML de la pestaña 'inspector' están todos los parámetros de conexión (salvo la contraseña).
🗨️ 3
BocaDePez
BocaDePez

Funciona! pero sin la contraseña estamos igual.

uxiaga

Hay que desplegar la lista Ethernet Connection Status si no, no tienes la respuesta.

Confirmo que el user es: <9cifras_aleatorias>@digi

Numides

Lo confirmo yo también. Gracias por el aporte.

BocaDePez
BocaDePez

Para poder obtener la password necesitaríamos entrar en una pantalla como esta de WAN Connection que en el router de Digi la tienen oculta:

captura-pantalla-2018-11-08-18-26-53.png

youtube.com/watch?v=sk8jOwdrv3s

BocaDePez
BocaDePez
1

Os paso unos pantallazos de algunas de las opciones que nos perdemos por no tener el usuario 'admin' en el router ZTE H298A:

ais.co.th/fibre/en/pdf/faq/WIFI_Router/P…TE_H298A.pdf

Opción de VoIP:

captura-pantalla-2018-11-08-18-38-44.png

Opción de Internet: Clear Control, QoS, Security (Filter Criteria, ALG, DMZ, Port Trigget, …), DDNS, Dynamic Routing, Multicast, …

captura-pantalla-2018-11-08-18-41-52.png
🗨️ 2
Experimentongod

Efectivamente, yo lo he estado investigando y lo que interesaría sería llegar a esta pantalla que os muestro más abajo (imagino que habrá un usuario ADMIN con el que acceder al router para tener más privilegios y opciones disponibles). Como podéis ver en la parte de abajo de la captura, la misma está extraída de un router que es exactamente el mismo modelo que el que instala DIGI en Madrid (ZTE ZXHN H298A).

2a4c67f6-7bba-4578-9514-7154a6ae7abe.jpg
🗨️ 1
BocaDePez
BocaDePez

Ojo, este pantallazo es para la V1.1. Para la V1.0 (que tenemos en DIGI) no es exactamente la misma pantalla. El usuario de PPP viene dividido en dos cajas de texto: una para el usuario y otra para @digi

BocaDePez
BocaDePez

Hola Boca de Pez, te lo estas currando tio. DIme en que te pùedo ayudar, yo he probado el wireshark

reddit.com/r/wireshark/comments/6zifrt/p…_isps_modem/

pero me termine cargando la distribucion linux porque no se que toque de las DNS 😂 y tuve que reinstalar

y al fial me lee datos pppoe pero encriptados

no entiendo porque DIGI no facilita los usuarios y contraseñas pppoe, si al final por mas que tengas todos los usuarios la unica forma de acceder es a través de la vlan 20 y todos los usuarios nos conectamos digamos que a una VPN a traves de telefonica y salimos a internet a traves de algun DATAINTERNET que debe ser propiedad de DIGI

en fin hacia donde nos orientamos? BocadePez

🗨️ 1
BocaDePez
BocaDePez

Te comento por dónde seguir:

Para los puntos indicados (menos el de wireshark y el último), habría que saber la url concreta donde se accede a WAN / PPPoE, podría ser algo como:

http://192.168.1.1/[common_page/Internet_WAN_pppoe_lua.lua?TypeUplink=2&pageType=1&\_=] <token>

Lo que está entre corchetes es lo que tendríamos que saber para poder obtener el usuario y contraseña PPPoE.

Posible problema: que con el usuario 'user' que tenemos puede que al consultar esta página (Internet / WAN / PPPoE), en caso de tenerla, nos rechazara la conexión ya que no es usuario admin.

Si con lo anterior no hay manera de meterlo mano, sólo quedaría la opción de Wireshark o esperar hasta que Digi se digne a dar los parámetros de conexión.

BocaDePez
BocaDePez

Información de utilidad para saber la forma en que DIGI Rumanía está gestionando IPv6.

digiromania.ro/asistenta/acoperire-servi…ilitate/ipv6

translate.google.com/translate?hl=&sl=ro…v6&sandbox=1

Aunque, según el test en test-ipv6.ro parece que no tenemos acceso a IPv6 completo (servidor DNS):

  • Since you have IPv6, we are including a tab that shows how well you can reach other IPv6 sites.
  • Your DNS server (possibly run by your ISP) appears to have no access to the IPv6 Internet, or is not configured to use it. This may in the future restrict your ability to reach IPv6-only sites.

El sistema operativo que está utilizando debe ser compatible con PPPoE / v6. Las versiones actuales de Microsoft Windows, Mac OS x y la mayoría de las distribuciones de Linux admiten PPPoE / v6. Para la conexión del enrutador, el dispositivo debe ser compatible con PPPoE / v6 y DHCPv6 Prefix Delegación (RFC 3769). Rutas con soporte oficial de IPv6 que han sido probadas previamente en los laboratorios DiGI:

  • Linksys E1500 (firmware 1.0.02)
  • Linksys E2500 (firmware 1.0.03)
  • Linksys E4200 (firmware 1.0.03)
  • Draytek Vigor 2130n (firmware 1.5.1.1)
  • D-Link DIR-825 (firmware 2.05EU)
  • Cisco 800 Series (IOS 12.4)
  • Juniper NetScreen SSG5 (ScreenOS 6.2)
BocaDePez
BocaDePez
1

Existe una herramienta que permite obtener la contraseña a partir de un fichero config.bin obtenido previamente de la copia de respaldo de datos de usuario desde la página web del router.

La descarga de estos ficheros es:

codeload.github.com/spark1991z/routerboa…d/zip/master

Modo de uso:

mkdir -p $HOME/TEMPORAL
cd $HOME/TEMPORAL
unzip $HOME/Descargas/routerboard-master.zip
cd routerboard-master/tools
cp $HOME/Descargas/config.bin .
./decode_zte_config.py config.bin config.xml --key "m8@96&ZG3Nm7N&Iz"

El problema es que para la versión del firmware que hay actualmente "ZXHN H298A V1.0 V1.0.25_DIGI.1T8" parece que la cabecera no le gusta:

./decode_zte_config.py config.bin config.xml --key "m8@96&ZG3Nm7N&Iz"
first version header magic:    0x04030201, 0x00000000, 0x0000000F, 0x5A58484E
second version header offset:  0x2048324d
ERROR: expected magic is 0x99999999, 0x44444444, 0x55555555, 0xAAAAAAAA
🗨️ 2
Experimentongod

Muy buen hallazgo. Efectivamente lo acabo de probar y me sale lo mismo.
El tema es que DIGI usa la versión 1.0 y los "rusos" usan la 1.1, probablemente sea por eso.

BocaDePez
BocaDePez

Aparentemente falta la cabecera con los 128 primeros bytes en el config.bin.

El config bin de otro modelo de router comienza por 99 99 99 99 44 44 44 44 55 55 55 55 AA AA AA AA y hasta el offset 128 no encontramos 04 03 02 01 00 00 00 00 00 00 00 0F 5A 58 48 4E .

99 99 99 99 44 44 44 44 55 55 55 55 AA AA AA AA
00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40
00 02 00 00 00 00 00 80 00 00 3F 33 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 03 02 01 00 00 00 00 00 00 00 0F 5A 58 48 4E
BocaDePez
BocaDePez

Algunas curiosidades de la versión de firmware actual (V1.0.25). Parece que esta versión está parcheada contra ataques phishing.

Patched on 30th April 2018. Updated firmware versions:
H298N: V1.1.3_HOP15T2
H298A: V1.0.25_HOP.1T3

The combination of a DNS rebinding vulnerability and a hardcoded root account allow an Internet-based attacker to compromise all customer routers of UK ISP Hyperoptic via a malicious webpage. The vulnerabilities are present on both “HyperHub” router models, the ZTE H298N and the newer ZTE H298A, affecting all customers using the provided routers.

contextis.com/en/resources/advisories/hy…home-routers

BocaDePez
BocaDePez
1

Curioso como DIGI permite consultar y gestionar el usuario y contraseña PPPOE con sus routers de Rumanía.

wan-67091-large
BocaDePez
BocaDePez
2

Descifrar el config.bin es facil, os paso un pequeño script que he hecho. Por otro lado, si lo que quereis es solo la pass de admin, desde el bootloader podeis hacer un dump de la particion tag del mtd y ahi teneis la pass.:

#!/usr/bin/env python2

import sys
import zlib
from Crypto.Cipher import AES
from hashlib import sha256
from struct import unpack

BASE_K = "8cc72b05705d5c46"
BASE_V = "667b02a85c61c786"

ENC_HEAD_LENGTH = 0x63
DEC_HEAD_LENGTH = 0x48

if len(sys.argv) != 3:
    print "decrypt_config.py <sn> <config.bin>"
    sys.exit(1)

try:
    plain_k = BASE_K + sys.argv[1]
    plain_v = BASE_V + sys.argv[1]

    k = sha256(plain_k).digest()
    v = sha256(plain_v).digest()
    d = AES.new(k, AES.MODE_CBC, v[:16])

    o = d.decrypt(open(sys.argv[2]).read()[ENC_HEAD_LENGTH:])

    print zlib.decompress(o[DEC_HEAD_LENGTH:])

except Except, e:
    print "ERROR: %s" % e
    pass
🗨️ 65
BocaDePez
BocaDePez

Muchas Gracias! esto nos es de mucha utilidad, por otro lado, nos puedes decir como ejecutar el script, mis conocimientos en python son muy muy basicos.

Muchas Gracias!!

🗨️ 62
Mayden

Siempre se mete en el if, seguro que no le estoy pasando bien los parametros.

La forma en que lo estoy lanzando es la siguiente:

Python decrypt_config.bin config.xml config.bin

Gracias!

🗨️ 61
BocaDePez
BocaDePez

¿Qué es <sn>?, ¿Serial Number?, ¿El número de serie?

print "decrypt_config.py <sn> <config.bin>"
🗨️ 60
BocaDePez
BocaDePez
🗨️ 59
BocaDePez
BocaDePez
🗨️ 58
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 51
BocaDePez
BocaDePez
🗨️ 10
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 8
BocaDePez
BocaDePez
🗨️ 7
BocaDePez
BocaDePez
🗨️ 6
BocaDePez
BocaDePez
🗨️ 5
BocaDePez
BocaDePez
🗨️ 4
BocaDePez
BocaDePez
🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 5
BocaDePez
BocaDePez
🗨️ 4
BocaDePez
BocaDePez
🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 9
BocaDePez
BocaDePez
🗨️ 7
BocaDePez
BocaDePez
🗨️ 6
BocaDePez
BocaDePez
🗨️ 5
BocaDePez
BocaDePez
🗨️ 4
BocaDePez
BocaDePez
🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
BocaDePez
BocaDePez
iCrono
BocaDePez
BocaDePez
🗨️ 1
Mayden
BocaDePez
BocaDePez
🗨️ 18
iCrono
iCrono
1
🗨️ 15
Mayden
🗨️ 2
iCrono
🗨️ 1
Mayden
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 10
iCrono
BocaDePez
BocaDePez
🗨️ 8
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 2
iCrono
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
Experimentongod

Ese tipo de "decrypters" ya los hemos probado, te paso el error que sale:

:~/Downloads# ./decrypt_config.py --key H298A.key config.bin config2.xml

first version header magic: 0x04030201, 0x00000000, 0x0000000F, 0x5A58484E

second version header offset: 0x2048324d

ERROR: expected magic is 0x99999999, 0x44444444, 0x55555555, 0xAAAAAAAA

Para la gente que no sabía usar el script, el propio script te dice la sintaxis de los argumentos, primero el archivo de entrada (config.bin) y luego el de salida (el nombre que quieras)

:~/Downloads# ./decrypt_config.py config.bin

usage: decrypt_config.py [-h] [--key KEY] infile outfile

decrypt_config.py: error: the following arguments are required: outfile

Experimentongod

Os comento como va mi búsqueda:

He encontrado una herramienta que permite extraer usuario y password de varios modelos de routers ZTE:

nirsoft.net/utils/router_password_recovery.html

Dado que el H298A no está soportado me puse en contacto con Nir (el autor) y me comenta que necesitaría el archivo original del firmware del router (si alguien lo puede conseguir que avise :D ):

From: Nir Sofer

Sent: Sunday, November 11, 2018 8:27 AM

To: ----

Subject: Re: Config file that RouterPassView cannot decrypt and analyze (ZTE ZXHN H298A)

Hi,

Like many files of ZTE models, it's encrypted with AES.

In order to find the AES encryption key, I need the firmware file of this model, in unencrypted form.

I don't know if it's possible to get it with this model.
Nir

🗨️ 9
yomimmo

El firmware del ZTE si es el H298A revision 1.1.20 de hardware lo puedes obtener de aqui:

ftpext.mts-nn.ru/Router/Firmware/ZTE/H298A/

Si lo que necesitas es el firmware de Digi, la única opción es hacer un volcado de uno de sus routers

🗨️ 8
Experimentongod

Claro el que hay que pasarle a Nir es el ZXHN H298A V1.0 V1.0.25_DIGI.1T8, pero no sé cómo extraerlo del router.

🗨️ 3
Mayden

Comentaselo a Nir que es un firmaware modificado por la compañia y que no sabes como obtenerlo, lo mismo te da unas pautas

🗨️ 2
BocaDePez
BocaDePez
andresin123d

Hola,

tengo el típico H298A V1.0 V1.0.25_DIGI.1T10 y con este es imposible hacer nada desde el bootloader.

Como puedo hacer un downgrade ? Algún firmware anterior al T10 en algún sitio? He buscado en toda la red, y eso que es muy grande :-)

🗨️ 3
Ultrashricco

Tengo el mismo problema, accedo al bootloader mediante conexión serie e incluso consigo hacer downgrade del T12 al T10:

Los parámetros SIP he leído que el router los recupera…

Pero no encuentro el firmware T8.

¿Alguien lo tiene?

¿Cómo acceder a la información de interés desde el bootloader? partición MTD, etc.

Gracias de antemano,

🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez

Ahora, ¿cómo pillo la password? En la salida no aparece por ningún lado. En el fichero config.xml tampoco está.

captura-pantalla-2018-11-11-16-41-54.png
🗨️ 1
BocaDePez
BocaDePez

Como he puesto más arriba, al final he descargado la página web, he abierto el HTML y he podido comprobar que la contraseña es un espacio en blanco y 5 tabuladores.

Que alguien pruebe si tiene un router neutro a ver si funciona con esto.

BocaDePez
BocaDePez

Como no tengo teléfono contratado, los datos vienen vacíos. Alguien que tenga teléfono, ¿puede confirmar si el usuario de la cuenta SIP es el mismo usuario que tiene en PPPOE (<9_dígitos>@digi)?

Me va a venir muy bien para configurar mi propia cuenta SIP que tengo y quitar un trasto más. Ahora a por el teléfono Forma de Timofónica y a conectarlo!

captura-pantalla-2018-11-11-18-16-40.png
🗨️ 9
Experimentongod

Yo te lo miraría pero no he conseguido desencriptar el config.bin

¿El password de "admin" (http) era genérico?
¿Si ya lo has cambiado nos lo puedes pasar no?

🗨️ 7
BocaDePez
BocaDePez

Yo te lo pasaría, el problema es que no lo puedo cambiar en ssh. Está totalmente capado, por ahora.

Mi password empieza por 62. Hay alguien más que también ha podido entrar, que confirme si es el mismo y lo ponemos.

🗨️ 6
iCrono

El mío empieza (empezaba 😜) por "jS"

Experimentongod
1

Vale o sea que los cabrones de DIGI han puesto un pass de admin diferente para cada cliente y encima no se puede cambiar. Con razón no dejan poner router propio, quieren el máximo control por lo que veo...

🗨️ 4
Mayden
🗨️ 1
BocaDePez
BocaDePez
1
BocaDePez
BocaDePez
🗨️ 1
Experimentongod

El usuario SIP es

donde XXXXXXXXX es tu numero de telefono de 9 dígitos
el password sale en blanco igual que el de PPPoE (1 espacio y 5 tabuladores)

La contraseña admin del router es de 10 caracteres (alfanuméricos con al menos una minúscula y una mayúscula, son las restricciones que pone).

ajoms

hola a todos, ya he logrado sacar la pass con el script de python, he configurado mi servicio de VoIP betamax en el puerto del router, lo que no he podido es agregarle el dialplan. Por otro lado, he intentado sacar con wireshark ahora que entro en modo administrador a ver si saco la pass del PPPoE. A alguien se le ocurre algo?

si metemos un firmware que no este capado ftpext.mts-nn.ru/Router/Firmware/ZTE/H298A/ y luego le subimos la config,bin de Digi?

Saludos a todos

🗨️ 13
Experimentongod

No tiene sentido; ya tenemos acceso "admin" por web al router, más descapado que eso no va a estar. Lo que interesa es sacar el password de PPPoE.

Hay que verificar por que el script de Python3 que tenemos no saca el archivo de configuración entero.

ajoms

he estado viendo en foros de rusia a ver que consigo! si logramos tener la pass de enable se pudiera sacar con un sh config via CLI. Eso si hay que soldar unas patitas a la placa del router para hacer eso.

🗨️ 9
Experimentongod

Ya tenemos acceso por SSH, el password de Enable es "zte".

Los comandos CLI estan capados, no funcionan ni la mitad de los "show".

Sería bueno si alguien pudiera accceder al router por conexión serie para dumpear el firmware/configuración desencriptada completa/etc.

🗨️ 8
iCrono

¿Hoy te llegaba el switch con port mirroring para poder "sniffear" el tráfico, no?

Lo mismo así sacamos algo....

🗨️ 6
iCrono
iCrono
BocaDePez
BocaDePez
Numides
BocaDePez
BocaDePez

He conectado por serial, pero no tengo las claves. He probado con todo (root, admin..) ¿alguna sugerencia?

BocaDePez
BocaDePez

Según comenta el empleado (o enterado) de Digi, no es posible actualizar el router con un firmware que no esté firmado (supongo que por Digi).

BocaDePez
BocaDePez

Alguien que haya sacado la contraseña voip me puede decir cuantos caracteres tiene, que tipo de caracteres son (mayusculas, minusculas numeros, simbolos) etc

Es para ver si la puedo romper por fuerza bruta y la captura del paquete sip con el wireshark

Experimentongod
5

Bueno chicos ya estoy conectado con mi Asus RT-AC5300 directamente a la ONT. Ya puedo mandar el ZTE a la mierda por fin.

Os explico como lo configuré por si tenéis uno similar (Asuswrt-Merlin):

Advanced Settings => WAN

-Basic Config

--- WAN Connection Type: PPPoE

- Account Settings

--- PPP Username: (sacado de sniffear con un Netgear GS105E con port mirroring o por html del router)

--- Password: (sacado de sniffear con un Netgear GS105E con port mirroring)

- Special Requirement from ISP

---MAC Address: XX:XX:XX:XX:XX:XX (OPCIONAL: se puede copiar de la caja/pegatina del router ZTE)

Advanced Settings => LAN => IPTV

- LAN Port

--- Select ISP Profile: Manual Setting

--- Internet: VID => 20 // PRIO => 0

Advanced Settings => IPv6

- Basic Config

--- Connection type: Native

Lo de configurar IPv6 no se si es obligatorio, ya que lo configuré primero (cuando aún no conectaba), pero si os puedo decir que hasta que no configuré la VLAN como "VID => 20" (porque me costó encontrar donde se metía), el router no mandaba paquetes PPP o sea no había manera de conectar.

RESUMIENDO: si queréis los datos de la conexión poned un switch con port mirroring entre la ONT y el router, tendréis usuario y contraseña PPPoE en texto claro lista para usar. El único otro dato necesario es VLAN = 20 y Prioridad = 0

A disfrutar chavales!!!

🗨️ 20
BocaDePez
BocaDePez

Ahora que tienes el router neutro funcionando, ¿puedes probar si se puede instalar un firmware libre que se ha puesto el enlace un poco más arriba en este post?

Antes de instalar el firmware libre haces una copia de seguridad de los datos. Luego la recuperas con el firmware ya instalado.

Si todo va bien podrías entrar al router con ssh y luego la opción shell para entrar dentro.

Muchas gracias y que disfrutes mucho con tu router neutro.

🗨️ 1
Experimentongod

Este hilo es para sustituir el router de DIGI (ZTE).
Como he comentado, se usa un switch con port mirroring se sacan los datos del PPPoE y a conectar.

Sinceramente, no pienso volver a tocar la basura esa del ZTE ni con un palo. Además ese firmware no le va a entrar y me podría cargar el router, que necesitaré poner si viene algún dia un técnico a revisarme algo.

Demasiado riesgo para ningún beneficio.

Mayden

Entiendo que te aparecen como paquetes pppoe en el wireshark no??

Puedes poner un pantallazo?

Gracias!!

🗨️ 2
Experimentongod

Os paso la captura.

Explicación:
- Filtré la dirección MAC de mi PC para que no saliera spam de mensajes ARP (Botón derecho en la MAC del PC => Apply as filter => Not selected)

- Encendí primero la ONT (paquetes con fondo rosado) y unos 56 segundos mas tarde el router ZTE (paquetes con fondo blanco)

- Como podéis ver salen todos los mensajes de autenticación de PPPoE y en uno de ellos sale usuario y password a pelo sin ningún tipo de encriptación ni similares. Os dejo el password visible por si fuera el mismo para todos pero lo dudo bastante

- He ocultado el usuario de PPPoE y las direcciones MAC "por si acaso" (no son relevantes)

captura.png
🗨️ 1
Pacote1o

Hola a todos, estoy intentando con Wireshark y las 2 tarjetas de red en puente (Entre Ont y Wan del router), y nada, no consigo nada, es mas no se pueden capturar paquetes con las conexiones en puente.

Si le pongo una tercera conexion (esta conectada a un pueto Lan del router), esta si captura, pero en ningun sitio veo el password.

El usuario lo he sacado con navegador y F12, pero la pass, no hay manera.

Alguien me puede echar una mano?

Gracias de antemano.

mceds

Este hilo me provoca sensaciones dispares. Por un lado, magnífico trabajo el de hacking e investigación os habéis marcado. Por otro, el impresionante absurdo y cabezonería de un puto proveedor (y no es sólo Digi el que últimamente se comporta así) a la hora de impedir a sus clientes una operación que, por más vueltas que le doy, no encuentro modo de que perjudique a la compañía.

mazmardigan

Ummm... ¿y con un HUB funcionará? Al fin y al cabo el HUB manda todos los paquetes a todos los puertos :)

🗨️ 6
BocaDePez
BocaDePez
1

Instala Ubuntu y un servidor pppoe y lo enganchas a la Wan del router y capturas paquetes. Tienes info en Internet. No hay necesidad de gastarse dinero en switches ni otros componentes.

🗨️ 3
apocalypse

Creo que solo hace falta poner la tarjeta de red en la VLAN20 tagged y abrir wireshark. Se deben ver los paquetes del cliente pppoe que manda el router aun sin un servidor pppoe.

🗨️ 2
iCrono
🗨️ 1
apocalypse
Experimentongod

Efectivamente un HUB te vale ya que los puertos están permanentemente "reflejados". La única diferencia es que en el switch eliges que puertos de entrada "reflejas" en uno de salida en el HUB lo que entra por un puerto sale por todos los demás menos ese mismo :)

🗨️ 1
mceds

Un router antiguo, como los 3Com OCR 812 que instalaba Telefónica con sus primeras ADSL, también funciona como "hub".

Mayden

A modo informativo, la password me que no la vamos a poder sacar con js, ya que, trae los js del servidor y ya vienen precargados con esta función.

image.png

he probado parando antes de la ejecución de esa función pero ya vienen cargados los valores sustituidos, si hay otra forma de sacarlo por js la desconozco, yo por lo pronto voy a utilizar el método de port mirroring a través de un switch.

Josh
1

¿Puedes abrir un nuevo hilo y lo ponemos como chincheta en el foro?

🗨️ 2
BocaDePez
BocaDePez
1

No acabo de entender porqué se da por acabado este post, si es porque una persona se ha comprado un switch con port mirroring y ha podido obtener el usuario y contraseña de conexión, pues muy bien, pero en este post quedan temas pendientes como son el descifrado completo del fichero config.bin, cosa que veo bastante útil, sobre todo para no tener que gastarse dinero en un switch o un hub que luego no va a valer para nada más.

🗨️ 1
Experimentongod

Tienes toda la razón, sólo lo hemos resuelto 3 o 4 personas usando hardware adicional. El tema de descomprimir entero el archivo config.bin sigue pendiente, yo no daría el hilo por "solucionado".

BocaDePez
BocaDePez

Hola, siguiendo tus pasos y utilizando un router Draytek con portMirroring, he conseguido los datos del PPOE, pero a la hora de configurarlo, no consigo hacer que funcione la WAN... mientras sigo haciendo pruebas, quiero entrar con el usuario ADMIN al router, pero no puedo sacarlo del config, ya que ahora no permiten descargarlo... la contraseña de admin es generica para todos los routers? me podeis echar una mano¿?¿?¿

Muchas gracias!!!

BocaDePez
BocaDePez

Podes decir como configurar el Netgear?

Port mirroring en puertos 1 y 2, escucha por el 5.

que puertos hay que configurar en VLAN 20 si es necesario?

Gracias.

Pitakson

Hola, yo también tengo instalado un Asus ac5300 pero de ninguna forma puedo abrir los puertos. (Tengo la conexión plus contratada) a ti te deja abrir los puertos?

iCrono
1

Hay otro método tontísimo para sacar la password usando Wireshark. Tan tonto que no sé como no se me ha ocurrido antes. Y sin comprar nada.

Es tan "sencillo" como pillar un ordenador con dos tarjetas de red, conectar a cada tarjeta la ONT y el ZTE, meter las tarjetas en la VLAN 20, crear una conexión de puente y pasarle el Wireshark.

Necesitas:
- Un PC con Windows
- Dos tarjetas de red ethernet (valen tanto las integradas, como USB, PCI....)

Pasos:
- Conectas la ONT a una tarjeta
- Conectar el router a la otra tarjeta
- En Windows, en el panel de administración de conexiones de red, pincha botón derecho sobre una de las conexiones de red y pincha en propiedades. A continuación, pincha en "Configurar" y entra en la pestaña "Opciones avanzadas". Busca la opción de "tagear" la VLAN y pon el valor 20. Acepta todo.
- Repite lo mismo con la otra tarjeta de red
- Selecciona ambas conexiones de red y pincha con el botón derecho sobre una de ellas. Pincha en "Conexión de puente".
- Una vez que tengas creado el puente, comprueba que el ZTE sale a internet (a través del WiFi, por ejemplo).
- Si el ZTE sale a internet, vas bien. Abre Wireshark, ponle a capturar paquetes en cualquiera de las dos conexiones ethernet y resetea el ZTE. A los pocos segundos te cantará el password.

Yo acabo de sacar así mi password y me dispongo, tras publicar este post, a configurar mi Synology RT2600AC como router neutro y en load-balancing con la conexión de Movistar que todavía no he dado de baja, y dar un patadón al ZTE. Ya solo falta que nos saquen del CGNAT, y a vivir.

Este método también debería funcionar con macOS o Linux. Yo lo he intentado con ambos antes de irme a Windows, pero no he sido capaz... y eso que en macOS crear conexiones de puente es aun más fácil que en Windows, si cabe... manda webos...

Ale! Sed buenos!

🗨️ 7
Experimentongod

Hombre lo de "no comprar nada" lo dudo. Prácticamente nadie tiene un PC con dos adaptadores de red disponibles.

Lo más fácil es comprar un switch con port mirroring, sacar la password y al día siguiente decir en la tienda que no te ha gustado y devolverlo xD.

Al final la filosofía es la misma: conectarte entre el router ZTE y la ONT y sacar los datos vía Wireshark

A pesar de que yo sí que tengo un par de tarjetas de red PCI por ahí tiradas, prefiero usar el métido del switch (ya lo he devuelto de hecho).

Pero bueno, reconozco que habría molado meterle una tarjeta de red PCI a mi PC viejo y trastear así :P

🗨️ 3
mceds

Como abusáis de MediaMarkt 😋

BocaDePez
BocaDePez

Pues yo al leeros acabo de recordar que sí tenía por casa dos tarjetas ethernet antiguas PCI extra (3 si contamos la que viene en la placa), de la época en la que no venían integradas en las placas base 😆 . Una es de 10 Mbps y la otra 100 Mbps, pero para esto valen.

Sí que fue buena idea 😄

🗨️ 1
BocaDePez
BocaDePez

Joder! La placa base no tiene ranuras PCI!!

Cuando han desaparecido? Jajaja 😂

Chewakaka

Muchas gracias, yo cogí una tarjeta de red de un pc viejo y la monté en mi torre. Yo soy usuario Linux y monte el Bridge con el comando brctl. Luego puse wireshark a escuchar en el Bridge y saqué usuario y password. Todo funcionando correctamente con mi router propio.

nfaguade

Algo tengo que estar haciendo mal, no consigo que el ZTE salga a internet. No veo ninguna opción de tagear VLAN o algo parecido. El único sitio que veo la opción para poner yo algún valor se llama "Locally Administered Adress" y por mucho 20 que ponga ahí no hace nada. ¿Alguna idea?

EDITO: ¿Debería tocar también el tema de las IPs? Ahora mismo están en obtención automática.

🗨️ 1
KER

A mi me pasa igual, no me sale opción Tagear, a ver si alguien sabe, la tarjeta de red que por casualidad tenia es mas vieja que el sol... Eso es lo único que me deja poner a 20, pero en la tarjeta de red del portátil, que si me salen mil opciones mas, tampoco sale tagear.

ip.jpg
BocaDePez
BocaDePez
2

Bueno, pues como parece que lo más inteligente en este post es el método de comprarse un swtch o un hub o aprovechar una tarjeta de red, os voy a poner el código para extraer todo el fichero sin necesidad de gastar dinero o perder tiempo en mierdas de comprar tarjetas, switches, etc.

Aprovecho las pistas que nos han ido dejando por aquí algunos del foro y con mis limitados conocimientos, os pongo el código para conseguirlo. No os voy a dejar pistas, os lo voy a poner tal cual para que sea más sencillo.

Primero, necesitamos saber el serial number de nuestro router. Mirar la pegatina por debajo del router.

Luego tenemos que descargarnos python3 (si no lo tenemos). Recomiendo bajarse una instalación de Ubuntu 18.04 en un pen-drive.

En dicha instalación ya tiene python3. Ejecutamos el siguiente comando:

./decrypt_config.py <SN> config.bin

El fichero config.bin lo habremos obtenido previamente de un volcado de copia de seguridad de nuestro router.

#!/usr/bin/env python3
#Uso: ./decrypt_config.py <SN> config.bin

import sys
import zlib
from Crypto.Cipher import AES
from hashlib import sha256
from struct import unpack

BASE_K = "8cc72b05705d5c46"
BASE_V = "667b02a85c61c786"

ENC_HEAD_LENGTH = 0x63
DEC_HEAD_LENGTH = 0x48

if len(sys.argv) != 3:
    print ("%s <sn> <config.bin>" % sys.argv[0])
    sys.exit(1)

try:
    plain_k = BASE_K + sys.argv[1]
    plain_v = BASE_V + sys.argv[1]

    k = sha256(plain_k.encode('utf-8')).digest()
    v = sha256(plain_v.encode('utf-8')).digest()
    d = AES.new(k, AES.MODE_CBC, v[:16])

    o = d.decrypt(open(sys.argv[2], "rb").read()[ENC_HEAD_LENGTH:])

    #print (zlib.decompress(o[DEC_HEAD_LENGTH:]))

    fs = open(sys.argv[2] + ".dec", "wb")
    fs.write(o)

except (ValueError, IOError) as e:
    print ("ERROR: %s" % e)
    pass

La ejecución anterior, nos habrá generado un archivo config.bin.dec

Antes, tendremos que ir a 'Software y actualizaciones' para indicarle que vamos a usar todos los repositorios y desmarcamos la opción de usar el cd-rom:

captura-pantalla-2018-11-18-12-56-40.png

En nuestro ubuntu, ejecutamos los siguientes comandos:

sudo su
apt-get install binwalk
exit

A continuación ejecutamos:

binwalk -e config.bin.dec

El comando dará como respuesta:

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
72            0x48            Zlib compressed data, best compression
5643          0x160B          Zlib compressed data, best compression

Y habrá creado una carpeta con dos ficheros en texto (160B y 48):

ubuntu@ubuntu:~/Desktop/_config.bin.dec.extracted$ ls -la
total 140
drwxr-xr-x 2 ubuntu ubuntu   120 nov 18 12:50 .
drwxr-xr-x 3 ubuntu ubuntu   160 nov 18 12:58 ..
-rw-r--r-- 1 ubuntu ubuntu 54622 nov 18 12:50 160B
-rw-r--r-- 1 ubuntu ubuntu  6101 nov 18 12:50 160B.zlib
-rw-r--r-- 1 ubuntu ubuntu 65536 nov 18 12:50 48
-rw-r--r-- 1 ubuntu ubuntu 11672 nov 18 12:50 48.zlib

En el fichero 160B buscáis por 'Digi' y encontraréis la contraseña de la conexión PPPoE. Ojo, que hay 2 passwords, una es la password del usuario 'admin' y otra es la password de la conexión PPPoE.

Se lo dedico al chaval que decía que tenía conocimientos limitados en programación, pues sí, totalmente cierto, pero también es cierto que con tus pistas lo he obtenido. Al menos aquí nadie ha puesto 'en claro' y paso a paso cómo se ejecuta. Sólo pequeñas pistas sin más.

Así que creo que ahora sí que se puede dar por solucionado este post. Sería bueno ponerle una chincheta, creo yo.

🗨️ 5
ajoms

hola bocadepez gracias mi amigo, ya he configurado un router hgu y va de lujo me has ahorrado la ont y el ATA gracias gracias y gracias

un abrazo hermano

🗨️ 3
BocaDePez
BocaDePez

Has podido poner el fijo?

🗨️ 2
ajoms

con el de movistar HGU no he podido, yo uso voip (betamax), esto son los servicios como "hotvoip, voipbuster y otros" que te dejan llamar a 1 o menos centimo el minuto tanto por la app android, o configurando un ATA que puede ser el del hgu o zte de digi. estoy viendo porque no me registra el usuario voip en el hgu

BocaDePez
BocaDePez

Para configura la VoIP en ZTE 298A indico los pasos:

Seleccionamos la etiqueta VoIP de la web del router. Luego vamos a la opción 'Básico'. Seleccionamos: Activar (encendido) y en cuenta SIP introducimos el usuario de nuestra cuenta VoIP (sin @servidor, p.e. usuario-100). En nombre de usuario de autorización introducimos el usuario@servidor (p.e. ). Introducimos la contraseña de la cuenta y damos en el botón 'aplicar'.

Posteriormente vamos a la opción 'Avanzado' y nos aseguramos de que en DTMF está seleccionada la opción 'RFC2833'. Luego vamos a la opción 'Protocolo SIP' y ponemos los valores de la siguiente forma:

  • Puerto local: 5060
  • Servidor proxy primario: sip.pbxes.org ← Aquí pones el que tenga cada uno
  • Servidor proxy primario de salida: el mismo valor que el anterior
  • Puerto proxy principal: 5060
  • Servidor proxy secundario: 0.0.0.0
  • Servidor proxy secundario de salida: el mismo valor que el anterior
  • Puerto proxy secundario: 5060

Le damos a 'Aplicar' y ya tenemos la conexión VoIP activa.

BocaDePez
BocaDePez
2

Gracias por la dedicatoria! Aunque lo que estaba diciendo es que tienes conocimientos técnicos limitados, no de programación. Te has montado un carajal de narices para hacer algo que, sin conocimientos de programación, puedes conseguir con openssl, sha256sum, gunzip y dd. Pero para eso tendrias que saber que es eso de sha256, aes, un cifrado, etc etc etc.

Por cierto... pistas? en serio crees que darte las claves que tienes que usar e incluso un script que descifraba la primera parte del binario son pistas? Madre mia...

BocaDePez
BocaDePez
3

Gracias a BocaDePez, he recopilado los dos Script de este foro y unido para que generen un xml con los datos de nuestro router.

Desde un Linux con python3 (en mi caso un ubuntu 14.04).

Ejecutamos:

$sudo gedit xmldigi

Copiamos el código:

#!/usr/bin/env python3
#Uso: ./xmldigi <SN> config.bin

import re
import sys
import zlib
import struct
import sys
from Crypto.Cipher import AES
from hashlib import sha256
from struct import unpack

BASE_K = "8cc72b05705d5c46"
BASE_V = "667b02a85c61c786"

ENC_HEAD_LENGTH = 0x63
DEC_HEAD_LENGTH = 0x48

if len(sys.argv) != 3:
    print ("%s <sn> <config.bin>" % sys.argv[0])
    sys.exit(1)

try:
    plain_k = BASE_K + sys.argv[1]
    plain_v = BASE_V + sys.argv[1]

    k = sha256(plain_k.encode('utf-8')).digest()
    v = sha256(plain_v.encode('utf-8')).digest()
    d = AES.new(k, AES.MODE_CBC, v[:16])

    o = d.decrypt(open(sys.argv[2], "rb").read()[ENC_HEAD_LENGTH:])

    #print (zlib.decompress(o[DEC_HEAD_LENGTH:]))

    fs = open(sys.argv[2] + ".dec", "wb")
    fs.write(o)

    config_bin = open(sys.argv[2] + ".dec", "rb").read()

    config_xml =b""
    for zlib_chunk in re.finditer(b"\x78\xda", config_bin):
        zlib_chunk_start = zlib_chunk.start()
        zlib_chunk_header = config_bin[zlib_chunk_start - 12: zlib_chunk_start]
        xml_chunk_length, zlib_chunk_length, config_bin_length = \
            struct.unpack(">LLL", zlib_chunk_header)
        if xml_chunk_length == 0x10000 or config_bin_length == 0:
            zlib_chunk_end = zlib_chunk_start + zlib_chunk_length
            zlib_chunk = config_bin[zlib_chunk_start: zlib_chunk_end]
            xml_chunk = zlib.decompress(zlib_chunk)
            assert xml_chunk_length == len(xml_chunk)
            config_xml += xml_chunk

    fs = open(sys.argv[2] + ".xml", "wb")
    fs.write(config_xml)

except (ValueError, IOError) as e:
    print ("ERROR: %s" % e)
    pass

Cambiamos permisos:

$chmod 777 xmldigi

Descargamos de nuestro router y copiamos el config.bin al directorio actual. A continuación, ejecutamos:

./xmlDigiZTEXXXXXXXXXX config.bin

Siendo ZTEXXXXXXXXXX el serial de nuestro router, esta en la pegatina de detrás.

En el directorio se nos generan dos ficheros un config.bin.dec y config.bin.xml, siendo este último el xml con toda la configuración de nuestro router. XD

BocaDePez
BocaDePez

Alguien tiene idea de como sacar la contraseña del SIP telefono VOip. Solo me falta eso para poder cambiar el router.

🗨️ 1
BocaDePez
BocaDePez

Parece que los datos de voip (sip) o no se guardan en el fichero config.bin o el script no es capaz de recuperarlos. Daba la impresión de que el archivo extraído config.bin.xml ya estaba completo, pero parece que no.

BocaDePez
BocaDePez
1

Comentan por el Telegram que DIGI ha actualizado el firmware y ya no permite la descarga del .bin

🗨️ 6
mazmardigan

Qué higos de fruta. Gracias a $DEITY yo ya saqué todos los datos y he sustituido el router y el ONT por el F680 que tenía antes con Jazztel, que va a las mil maravillas.

Imagino que la alternativa ahora será descuajeringar el cacharro y entrar por consola.

🗨️ 5
BocaDePez
BocaDePez

O el método del switch, ¿No?

🗨️ 1
BocaDePez
BocaDePez

Si, ese también debería de funcionar.

BocaDePez
BocaDePez

¿Alguien tiene ya el firmware del router posterior al T8? En mi caso, tengo capado el TR-069 para que no actualice nada.

🗨️ 1
BocaDePez
BocaDePez

Yo lo tengo, ayer me instalaron el router.Ya he descifrado el ppoe con el método del switch.

Una dudilla, se puede conectar solo el router de movistar o necesito la ont si o si y poner uno de los puertos como wan?

He probado con la configuracion en el ppoe con la fibra directa en el router y no funciona, bien porque paso algo por alto o que quizas no se pueda.

BocaDePez
BocaDePez

Hola, puedes poner la foto donde se pine los datos, borrando las cosas sensibles tuyas, claro. Gracias

Hay 2 páginas posteriores con más temas