Vagando por el SO de mi router

Image

El otro día me encontré con un jailbreak temporal en el sistema operativo del enrutador que mi proveedor de servicio de internet instaló en mi casa.

De manera general se conoce que el Sistema Operativo de un router debe ser de propósito específico, es decir, no está pensado para proveer de funcionalidades extras además de las necesarias para tener servicios como dhcp, ip forwarding, port triggering, port forwarding, conexiones vpn, conexiones ppp, etc. Es por ello que el fabricante normalmente no brinda al usuario o administrador del dispositivo el acceso a los detalles técnicos de su implementación.

Además de la interfaz administrativa a través del protocolo http este router, como muchos otros, provee de administración vía ssh/telnet. Nos autenticamos al router de la siguiente manera:

ssh usuario@ipDelRouter.

En mi caso: ssh admin@192.168.0.1

Ya autenticados vemos un prompt con > y tenemos acceso a una lista de comandos básica que podemos consultar con “help” o “?”.

Image

Por ejemplo el comando sysinfo:

Image

La manera de saltar las restricciones en la línea de comandos es invocar alguna de las utilidades permitidas e inmediatamente invocar al shell añadiendo “;sh” o “& sh”.

Image

Luego veremos el prompt con el sharp o numeral indicando que ya tenemos root id.

Como vemos en el mensaje de bienvenida tiene instalado BusyBox un conjunto de utilidades comunes en sistemas UNIX pero con versiones reducidas pensadas en la optimización de recursos.

Con help podemos ver los comandos disponibles:

Image

Una ojeada a los procesos ejecutándose con “top” y “ps”:

Image

Image

Destacan los demonios de ssh, dhcp, http, syslog, y ppp para establecer la conexión DSL con el proveedor (por razones obvias omito el username).

Ejecutanto dmesg podemos ver algo más de info, la versión del kernel de linux y datos como la memoria flash que usa.

Image

Los directorios situados en la raíz con un ls artesanal: (ls no está entre los comandos incluidos)

Image

Los usuarios del sistema en se almacenan en “/var/passwd” en lo que parece ser un enlace simbólico a “/etc/passwd”. Y luego un archivo “passwd.ct” con los usuarios y sus contraseñas sin encriptar.

Image

Haciendo un resumen del conjunto de software que tiene el dispositivo:

Linux everywhere🙂

fuente para obtener usuario root

código fuente

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: