BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate
Fibra
💡

Ingeniería inversa al Sagemcom 5656 para sacar SIP

SirLouen
✎
8
⋮

En mi afán de sacar los datos de conexión SIP de Orange para mi cuenta, he estado invirtiendo casi todo el fin de semana viendo todos los temas relacionados al mundillo de la ingenería inversa en los últimos años de routers Orange. Me interesa mucho este tema, porque tengo un servidor Asterisk en activo con una cuenta SIP de pago, y ya que estoy pagando por Orange, pues la verdad que me gustaría poder aprovechar mi línea fija más. Llevaba ya unas semanas pensando en pillarme un gateway FXO y conectarlo a una de las dos tomas, pero si puedo hacerlo directamente con los datos de acceso, mejor que mejor. Además he visto que esto se ha conseguido sacar en un porrón de modelos. La mayoría, salvo el Arcadyan 3399, no son de Orange, sino de los sucedáneos de Orange como Jazztel. Además, obviamente era de esperar que los últimos modelos, a contar desde el Sagemcom Fast 5656 en adelante (los nuevos Arcadyan y Sagemcom, y qué decir del nuevo Livebox Infinity que ya ni sé qué marca y modelo eso) están totalmente verdes.

En mi caso, tengo un Arcadyan PRV33AX349B-B-LT y un Sagemcom 5656 y aunque ahora mismo estoy usando el Arcadyan, no quiero meterle mano al UART porque como me salga mal, lo mismo me cargo el router y me quedo sin internet y no está el horno para bollos (aunque los venden por 15 y 20€ tampoco sería un drama total, pero no quiero estar liándola de momento).

Lo cierto es que el Sagemcom 5656 ahora mismo no le estoy dando ningún uso y además, a diferencia del Arcadyan PRV33AX todavía tiene lo del cliente super-obsoleto del Softphone, así que me gustaría darle una oportunidad además que he localizado más info online de los routers equivalentes al Sagemcom. Si consigo sacarlo con el Sagemcom, lo mismo le meto al Arcadyan PRV más adelante.

Hardware

De momento lo he desmontado y estoy analizando los componentes. Hay muy poca info online sobre este router.

Por un lado para el wifi tenemos el Broadcom BCM43217TKMLG y por otro lado tenemos el Zentel A3T1GF40CBF-GM, gratísima sorpresa, si soy capaz de conectar el UART, quizá podría parar el bootloader con el clásico bug del NAND y pudiere meterle el firmware del 5355 el cual permite cambiar el servidor del TR069.

Como datos curiosos y como ya comentaba, se nota que el Sagemcom 5656 es una personalización para Orange, que se aleja de las versiones del 5655v2 y del 5657, aunque en el fondo trae lo mismo y es exactamente igual en los componentes. Un poco la info que voy siguiendo va por aquí.

Trae lo del Softphone que también podría ser una opción para buscar un backdoor en la misma aplicación. No estoy muy seguro como funciona, no se si se trae las credenciales SIP del router, o si establece un servidor SIP en el propio router y se crea unas credenciales contra ese servidor SIP, pero de momento con el nmap no he visto el 5060 abierto.

Además trae todavía la opción esta de "habilitar la conexión al técnico", lo que me hace pensar que es una personalización a medida para Orange del ACS del 5657

Ya os contaré si encuentro algo. Como digo, mi objetivo es sacar los datos del router (especialmente los datos de conexión SIP).

Actualización al 27/2/23

De momento no he encontrado nada interesante, estoy viendo donde podría conectar mi UART-TTL pero no me queda claro si es posible hacer esta conexión.

Por lo que veo la NAND es una Spansion S34ML01G200BHI000 de 128Mb. También quiero retirar esos dos disipadores para ver qué chips van ahí abajo. Creo que la UART son los 4 pines que hay a la izquierda de la siguiente imagen, pero igual no estoy al 100% seguro. He revisado la placa por todas partes y no veo un claro candidato aparte de estos. Lo malo que los pines ya están soldados, no son los clásicos 4 agujerillos listos para soldar, así que lo mismo me estoy equivocando.

Sagemcom

Por otro lado he estado revisando el código fuente de la app Softphone. Al parecer tira prácticamente al 100% de otro Softphone llamado Acrobits (una versión muy antigua de 2013).

Por lo que he podido observar, es necesario pasar algunas pruebas antes de arrancar y mi teléfono (un Poco F1 con una custom ROM con Android 13) no las pasa (básicamente es necesario unos permisos que se retiraron en Android 9). Así que voy a probar a desempolvar un Samsung Galaxy Nexus que tengo ahí en un cajón abandonado, y a meterle un Lineage 13 (que viene a ser un Android 6) y probar de nuevo cuando lo tenga listo. Lo mismo por el camino de la app Softphone encuentro algo, por lo que he visto en el código, parece que la mayoría de la info la almacena y la usa desde ficheros de configuración que posiblemente se guarden en la carpeta Android/data como la mayoría de las apps Android.

He estado revisando un poco a nivel HTTP y me he dado cuenta que hay un usuario registrado llamado orangecare. De la contraseña no tengo constancia, pero si que buscando la misma, me he dado cuenta que hay una vulnerabilidad registrada para el Livebox Fibra y aunque es otro modelo (el Arcadyan 3399).

Y ahora resulta que el usuario ApiUsr y ApiUsrPass funcionan como si fuera el usuario y password de Admin, lo que me ha tocado los coyons (tuve que tener ese router como unos 5-6 meses abierto), pero al fin al cabo es una brecha de seguridad que en cambio, no veo que me acerque a mi objetivo (por que encima no se pueden cambiar los datos de este usuario y contraseña directamente desde el panel de control).

Me pregunto si seré capaz de sacar la password de orangecare y si habrá más contenido detrás de este user.

Actualización al 28/2/23

He quitado disipadores para ver los modelos de los componentes que hay abajo.

En primer lugar, el más importante, el procesador Broadcom BCM68380 exactamente el mismo que el Sagemcom Fast 5655v2, lo que son grandísimas noticias.

Luego tenemos el chip Wifi 5 Quantenna QT3840BC, y el QT2518B, un receptor de radiofrecuencia, no tengo muy claro pero al parecer van juntos de la mano en un solo chipset llamado QV840. Así que entiendo que el Broadcom BCM43217TKMLG es para el WiFi N. También he desmontado la carcasa del ONT pero no hay nada relevante aparte de la electrónica específica para tal, no es algo de lo que se pueda sacar nada en particular.

Finalmente la memoria RAM parece que es una Micron MT41K128M16JT-125 de 2Gb DDR3 (solo veo inscrito el código D9PTK y el símbolo de Micron así que lo infieron por esto) y por tanto entiendo que la Flash es la Spansion que comentaba el otro día.

Revisando otra vez la PCB entera, sigo sin localizar un UART, ni un JTAG, así que tengo la sospecha que posiblemente tenga un cliente TFTP para flasheos. Ni siquiera podría hacerse una ruptura del bootloader porque no hay pins que cortocircuitar como pasaba en los anteriores Arcadyan. Así que ahora toca conectar a PC y hacer pruebas con los típicos puertos.

Con toda esta información sobre el hardware, puedo concluir que en el fondo parece un 5655v2 personalizado el software para Orange. Así que me aventuraría a decir que si hubiera una forma de flashear un firmware, por ejemplo con el TFTP como comentab antes, y encontrara algún dump del 5655v2 me atrevería a intentar el flash. Lo alucinante es que el jodido 5655 si qué trae una UART ya preparada.

5655

Por otro lado sigo intentando localizar el jodio Galaxy Nexus que no se dónde lo he dejado para hacer la otra prueba con la app Softphone porque visto lo visto me parece que va a ser la última esperanza para sacarle tajada a este tiesto.

Acabo de encontrarme esto: tripleoxygen.net/wiki/ont/f5655v2

Y básicamente pone que tiene un cliente TFTP que apunta al 192.168.1.100 con el nombre de fichero bcm963xx_fs_kernel.bin para el nuevo firmware. Además estoy mirando el hardware y salvo los controladores Wireless 2.4 y 5Ghz, el resto es clavado. Si flasheara otro firmware, lo malo es que dejaria al router sin wifi.

Por otro lado, acabo de observar que no todos los routers llevan el UART directamente en la placa, sino pueden pincharse en un lateral: Cómo obtener la contraseña/password SIP de Adamo, por dSStripanteL.

He estado revisando el router y no localizo ninguna entrada UART lateral, pero como sospechaba, hay varios puntos candidatos para el UART y en Polonia les ha dado por soldar y preparar las tomas

uart1uart2

Es curioso porque en Polonia se llama Funbox 3 y entraba por debajo la ONT. He estado revisando posts del foro de Orange polaco y por lo que se ve en ningúno de los dos puertos UART han encontrado nada. Por un lado tienen el acceso por CFE y por el otro parece que hay un cliente TFTP que conecta al 1.1.1.1 (o al 1.1.1.2, no me queda muy claro, ni siquiera si es cliente o servidor TFTP). Pone Quantenna Mini U-Boot, así que sospecho que tiene que ver con el firmware del chipset QV840 que comentaba antes. Por tanto de haber alguna clave, se encuentra en el CFE. Mirando el post que enlazaba antes de dSStripanteL es capaz de interrumpir el CFE pulsando enter antes de los 3 segundos. En este caso, al igual que en el 5655v2, el Boot delay está en 1 segundo, así que entiendo que sería posible parar el boot y quedarse en el CFE al segundo (más complicado, lo mismo no se dieron cuenta). Lo cierto es que no tengo claro que se pueda sacar algo de ese CFE y nunca he usando uno. Tendré que echar un ojo al openwrt.org/docs/techref/bootloader/cfe

Pero lo que tengo claro es que el UART importante es el que está en el lado del procesador, es el de la segunda foto.

Sobre la clave ONT

Hay mucha gente que le interesa este dato, y tengo que decir que en este router no es un reto conseguirlo como ocurre en otros. casos. Parece que lo que han dado de beneficio ofreciendo acceso full admin (a diferencia del 5655 y el 5657 que vienen capados en este sentido desde el minuto 0 y la gente ha encontrado las mañas para descaparlos), y ofreciendo la clave ONT desde la interfaz si dificultad ninguna.

He visto que dan una opción aquí pero en caso que haya todavía algun despistado hay dos formas para mi gusto, mucho más sencillas, desde la interfaz directamente entrando en las URL:

  • http://ip_de_tu_router/setupConnection.html
  • http://ip_de_tu_router/supportSystemInformationGPONEs.html

En cualquiera de estas dos URL te aparecerá la contraseña GPON, es un secreto a gritos, estaría bien que hubiera lo mismo, pero para los datos SIP. Por lo que me han informado se ve que tienen ahí comercializando la centralita Orange que en cierto grado le hace la competi a esto y puede que estuviera generando algún conflicto de intereses.

Por ahora el caballo ganador parece que está siendo el del Softphone, y ya tengo localizado mi Galaxy Nexus, así que mañana a ver si encuentro el hueco para arrancarlo (si es que arranca porque lleva mil años ahi guardado, lo bueno que la batería es extraible a la vieja usanza, así que podré usarlo sin batería conectado por USB si es que funciona).

El tema del UART lo tengo crudo, porque no tengi NPI como soldar los pines ahí. No soy muy ducho en temas de soldar, si no me lo ponen a huevo estoy más perdido que el barco del arroz.

También me he hinchado a mirar los ficheros Javascript a ver si, como ocurre con el 5655v2 hay algún comando por la consola JS que me permitiera jugar sucio y arrrancar algun server de estrangis. Lo curioso es que se ve claramente que se han ocupado de limpiar el barco (pero no se han molestado en quitar los registros de testing). La interfaz para arrancar el SSH la han dejado pelada por completo (lo unico curioso que me he dado cuenta gracias a ella, que al parecer hay un logo oculto en la interfaz, una curiosidad muy absurda, pero es lo que tiene hincharse de estar mirando el JS en balde).

En cuanto al usuario orangecare, totalmente inútil, simplemente accedes a la interfaz como Admin, al igual que lo harías con el usuario ApiUsr que comentaba antes, nada extra. Cuidadín porque si algún día entra el servicio técnico os pueden quinquilar todos los datos de configuración que tengais puestos (en especial las contraseñas, algo que yo no había tenido en cuenta tampoco)

logo

Actualización al 02/3/23

Probe al Samsung Galaxy Nexus, pero no arranca… debe tener la batería tiesa. Toca pedir una nueva por Ebay

Encima la web de Android-unlegacy está caida así que no voy a poder flashear una rom 6.0 (me preguntó cuál fue la última ROM que le metí a ese móvil). O al final me tocará buildear una ROM de LineageOS. Menuda trapatiesta para cada paso que doy.

Así que hasta que me llegue la ROM van a pasar unos días que dejaré en Standby este proyecto

Otra cosa que me intriga, es como han soldado esto:

uart

No tiene agujeros por ninguno de los dos lados. Entiendo que simplemente hay que destapar los pines tapados desoldando la cobertura para luego resoldar el conector de pines. Si hay alguien que está puesto en estos temas, me gustaría saberlo para no liarla demasiado. No creo igualmente que sea capaz de interrumpir la CFE para cargar un TFTP de Broadcom. Lo más que he encontrado es una lista de firmwares para el 5650 que podría ser de utilidad:

tripleoxygen.net/files/devices/sagemcom/…rmware/stock

Tengo que probar esto: tripleoxygen.net/wiki/modem/f5650

Por otro lado, la mayoría de las soluciones tanto del 5655v2 como el de 5657 no tocan el firmware en ningún momento. Y como ocurría en el caso de @dSStripanteL no se conoce (de momento) ninguna vulnerabilidad con la que se pueda sacar una clave 3DES ni nada por el estilo. Curiosamente veo que él la saca tanto desde la interfaz con un websocket, como desde el puerto UART mirando el display names desde la CFE de Broadcom, en ningún caso opciones para el 5656, porque no veo que soporte sockets para la autenticación (aunque si parece que tiene un buen set de comandos JS que todavía no he conseguido entender del todo) ni tampoco creo que pueda sacar nada desde DN (aunque todo sea echar un ojo, no he hecho esto en mi vida y creo que va a ser un jeroglífico importante que escapa totalmente a mi conocimiento

De hecho, ni siquiera sé cual es el servidor de los aprovisionamientos de Orange, lo que es aún más inútil porque no tengo lo más importante de toda esta historia (en caso que pudiera localizar la clave 3DES si es que está encriptado con este algoritmo y no otro, que sería lo más probable). Vamos que sin una vunerabilidad ya detectada por un super-pro (que no es mi caso), ese camino va a ser inviable, así que lo doy por cerrado.

Así que de momento y para concluir hasta el regreso, en estos momentos solo tengo esperanzas en la app de Softphone y mi Galaxy Nexus con una Android 6.0.1 para ver si puedo trastear con la ingeniería inversa de la App Android que está dentro más de mi especialidad. Aunque todavía no descarto que por el Javascript se pueda hacer algo también, aunque no deja de ser otra vulnerabilidad. Vi que existían algunas funciones de cifrado en el código pero no vi funciones que las usaran. También nótese que la vulnerabilidad del 5655v2 se hizo a través del Javascript por tanto pareciere que los de Sagem no estuvieran muy finos en este aspecto en el momento que sacaron estos routers por lo que quizá, podría haber algún filón por ahí.

En el caso del 5657 todo se hace a través del ACS, cosa que no es configurable en el 5656, así que descartada esta vía también.

Una última opción que también he visto en el caso del exploit del 5657 es el de descifrar el fichero de configuración de backup descargable desde la interfaz. En el caso del 5355 y el del 5657 es un fichero basado en AEAD, es decir encriptación AES. Pero en el caso de los nuevos Arcadyan PRV y del 5656 parece así a ojo como si fuere un SHA que usa Orange, así que tengo poca fe para sacar algo por esa vía tampoco.

Actualización al 05/3/23

Hoy he probado a meterle una batería nueva que pedí hace tiempo para una tablet antigua (Nexus 7 2012, Grouper). Lo cierto es que la batería ni funciona ni nada. Una chusta total.

Tampoco he conseguido que nadie me facilite un ejemplo de cómo es el formato del SIP con Orange. Está siendo un poco cuesta arriba este asunto. Creo que voy a dejarlo reposar unos días a ver si se me ocurren ideas nuevas.

apocalypse
⋮

Yo lo haría con el Livebox Fibra, ya que se conoce la forma.

🗨️ 1
✖
SirLouen
⋮

Hay 3 o 4 routers que conozco el método para extraer los datos. Tampoco te creas que me va a cambiar la vida sacarlo, es más curiosidad que por interés. Incluso creo que si presionara un poco a mi comercial, me daría un dato técnico para que me consiguiera los datos.

Pero estoy seguro que a más de uno le vendría bien este método y lo mismo, quien sabe, lo mismo se abre la puerta para meterle un OpenWrt en el futuro: un Dumb AP nunca sobra y más contando que ahora mismo estoy usando cada mierda de Dumb AP Wifi N de 4/32 que se me cae cada dos por tres y estaría bien sustituirlo de balde.

Este por ejemplo, ha conseguido sacarle parche para el Sagem 3864 github.com/rikka0w0/openwrt-fast3864op

Tengo que sacarle el disipador a la CPU para ver de qué modelo estamos hablando

Zanorio
2
⋮

Muchas gracias por compartir tu conocimiento! Sigue así que al final siempre se encuentra una forma.

daviddrf
3
⋮

Hola @SirLouen, me ha encantado este post. Lo sigo con detenimiento y espero que seas capaz de conseguirlo. Un saludo.

Kalimist
⋮

Gracias por ir documentando tus hallazgos, esta clase de información siempre es útil, sobre todo para que otras personas que lo estén investigando no repitan lo que alguien ya ha intentado previamente.

y qué decir del nuevo Livebox Infinity que ya ni sé qué marca y modelo eso) están totalmente verdes.

El Infinity es un Arcadyan PRV65AX3448B-B-LT

En cuanto al usuario orangecare, totalmente inútil

Por curiosidad, ¿cómo has logrado cambiar el usuario para hacer login desde la página principal del router? Lo estoy intentando en un Livebox 6 pero el campo de usuario "admin" no se puede modificar. La contraseña para orangecare supongo que es orange como se indica en el artículo que citas.

🗨️ 1
✖
SirLouen
⋮

Tienes que cambiarlo quitando el campo disabled a través del codigo HTML (opciones para desarrolladores del chrome por ejemplo con F12)