Router Forensics: El ojo que todo lo ve.

No, en este artículo no os voy a hablar del “Ojo de Horus”, os voy a hablar de otro ojo que posiblemente tengáis mucho más cerca de lo que creéis, incluso en este mismo momento estéis leyendo este artículo gracias a ese “Ojo que todo lo ve”, un ojo que podéis encontrar en vuestra casa, en vuestra oficina o en la cafetería a la que vais a tomar café todos los días. Este ojo tampoco es una cámara IP, es algo mucho mas mundano. Este ojo es un simple router, si, ese dispositivo que todos tenemos en nuestros hogares y oficinas para poder conectarnos a Internet, ya sea a través de WiFi o de cable. Quizás os parezca otro cacharro más que podemos tener en casa, un cacharro que no merezca mas atención que la que le prestamos cuando se nos “cae” Internet o nos va lento.


En este artículo os voy a explicar todo el potencial que puede tener un simple router doméstico a nivel forense. Será un artículo extenso, ya que prefiero centralizar toda la información en un solo artículo, que en fraccionarlo en varias partes, de este modo será mas sencillo utilizarlo como artículo de referencia.

Fig. Router doméstico

Desde mi punto de vista, un router doméstico es uno de los elementos mas críticos que podemos tener en casa en cuanto a lo que ciberseguridad se refiere, pensad que para empezar es de los pocos dispositivos que podéis tener en vuestros hogares que están encendidos 24 horas al día, un dispositivo que tiene un sistema operativo y que es el que decide que conexiones de red se pueden establecer y cuales no, un dispositivo que está diseñado para ser administrado remotamente, y por si no fuera poco, un dispositivo que normalmente no esta adecuadamente actualizado y puede ser una puerta abierta de par en par a la red local de nuestra casa, es decir, una puerta abierta a nuestras SmartTV, nuestros PC, enchufes inteligentes, cámaras IP, smartphones… así como un sinfín de dispositivos que podemos tener conectados a Internet en nuestros domicilios, cuya única protección hacía el exterior es el router y su correspondiente firewall.

Fig. Seguridad en routers

Quizás ahora ya estáis viendo ese cacharro con luces que tenéis en vuestro salón con otros ojos, pero no se queda aquí la cosa, un router doméstico normalmente dispone de un punto de acceso WiFi para que podamos conectarnos a Internet desde nuestros teléfonos o ordenadores portátiles ¿y que ocurriría si alguien ataca nuestra red WiFi y se conecta a ella para cometer cualquier tipo de cibercrimen?¿estamos preparados para recoger todas los vestigios que el cibercriminal haya dejado en el router?. Y si una botnet toma el control de nuestro router para lanzar una campaña de DDoS contra una red concreta, ¿sabremos como detectarlo y extraer todas las evidencias?. De todo eso va este artículo, vamos a ver toda la información forense que se puede obtener de un simple router doméstico entregado por nuestra compañía telefónica.

Fig. Malware para routers “Ghost DNS”

Comenzamos por lo más sencillo, realizar un análisis desde el propio interfaz web del router, para esto tan solo tendremos que acceder a la página de administración avanzada. Normalmente la encontraremos en la dirección IP: 192.168.1.1:8000 o 192.168.1.1:8080. No hay que confundir este portal avanzado, con el portal de gestión básica, habitualmente el portal básico está diseñado por el propio operador telefónico, este nos permitirá configurar la contraseña de la WiFI, el nateo, quizás un filtrado por MAC y poco más. El portal básico no nos servirá para el análisis que pretendemos realizar. El acceso al portal “pro” del router suele estar en el puerto 8000 o 8080 y el básico en el 80.

En primer lugar vamos a ver que información podemos obtener a través del portal web del router, obviamente está será una información muy básica pero posiblemente en algunos casos nos será suficiente.

Fig. Router admin

En caso de tener una sospecha de que alguien nos pueda estar “pirateando” el WiFi, podemos acudir al menú “Lease DHCP” de nuestro router y ver un listado de todos los equipos que están conectados a la red WiFi, la ventaja de hacerlo así y no con aplicaciones móviles tipo Fing, es que podemos ver el tiempo de expiración (caducidad) de la IP. Básicamente el Lease DHCP es una tecnología que utiliza un router para repartir las direcciones IP disponibles a los distintos clientes de forma dinámica, normalmente esta dirección se la “alquila” (leasing) al cliente por 24 horas, si en 24 horas no se ha conectado se borrará de la lista y se podrá asignar esa misma IP a otro cliente / usuario (dispositivo). La ventaja de esto, es que no necesitamos que el pirata esté conectado al mismo tiempo que nosotros estamos analizando las conexiones, si se conectó en un plazo de 24 horas, quedará registrado en esta tabla, es más, podremos saber a que hora se conectó, ya que tan solo tendremos que restar la hora de expiración a la hora actual, como se puede ver en la siguiente foto.

Fig. Menú Lease DHCP Vodafone

Esta tecnológica es común para todo tipo de router domésticos, por ejemplo, en la fotografía superior lo podemos ver en router doméstico de la compañía Vodafone y en la siguiente fotografía, el mismo menú en un router también doméstico de Movistar, cambia el diseño pero la información es la misma. Con la dirección MAC y el nombre del dispositivo podremos identificar fácilmente a nuestro pirata.

Fig. Menú Lease DHCP Movistar

Hoy en día es común que nuestros routers domésticos puedan ser telegestionados en remoto por la propia compañía telefónica, esto nos puede ser útil para que nos lo actualicen, configuren o reparen de forma remota, sin necesidad de que un técnico acuda a nuestro hogar. Normalmente la compañía telefónica no utiliza VPNs o similar para conectarse de forma remota y segura a nuestro router, básicamente de forma previa han grabado sus IP públicas en el Firewall de nuestro router para que solo desde estas IP se puedan conectar de forma remota al router y configurarlo. Aquí nos podemos encontrar con dos problemas:

El primero es que alguien tome el control de alguna de esas IP por una cesión de rango, o incluso que por un fallo de routeo estas IPs puedan pertenecer al resto de clientes del mismo proveedor, es decir, cualquier cliente del ISP (operador telefónico) podría llegar a tomar el control remoto de nuestro router, con todo lo que esto implica, esto ocurre si la compañía ha grabado la misma dirección IP o rango de telegestión que las direcciones IP públicas que se le asignan al resto de clientes.

Por otra parte, en caso de que el operador telefónico sea comprometido, a través de su red podemos recibir un ataque contra nuestra red local (doméstica), al tener una puerta abierta a todo lo que llegue desde la red del operador (no de Internet), por ejemplo, un ataque del tipo ransonware contra algún servicio que tengamos levantando en nuestra red, como un SAMBA. Con esto no quiero decir que tener habilitada la telegestión del router es algo malo o inseguro, simplemente es conveniente tener en cuenta las implicaciones que tiene, por supuesto, en caso de avería nos resultará mucho mas fácil que la compañía se conecte al router y nos lo repare. Así es como se vería este menú con las diferentes direcciones IP grabadas, en caso de ver una dirección IP o rango, perteneciente a un país con tundra, igual nos deberíamos preocupar un poco y pensar que alguien nos ha modificado las “trusted ip” de nuestro router, ya que con una IP maliciosa en esta configuración, el cibercriminal podrá acceder a nuestra red local sin ningún problema, ya que tiene una puerta abierta a nuestra LAN a través del router.

Fig. Menú Trusted Network

Dejando ya a un lado el menú web de nuestro router doméstico, ahora vamos a subir un poco el nivel y vamos a entrar al corazón del dispositivo. Para ello necesitaremos conectarnos vía SSH a nuestro enrutador, normalmente no nos tendremos que complicar mucho, ya que no suelen estar los puertos cambiados, con un SSH al 22 y a la IP local del router será suficiente.

Fig. Acceso via SSH al router

Si por lo que sea no logramos establecer la conexión, siempre podemos analizar el router con la herramienta Nmap para ver que servicios tiene levantados y en que puertos están, en el caso de la siguiente fotografía está todo en su sitio. Si es la primera vez que escaneáis un router y veis tantos puertos abiertos, no os preocupéis, es normal.

Fig. Nmap al router

¿Y que hacemos una vez nos logremos conectar por SSH al router?, pues como no lo sabemos, vamos a ejecutar el comando “help” para que nos aparezcan por pantalla todas las posibilidades y comandos disponibles. Aunque en la fotografía no se vea completamente, realmente existen 68 comandos que podremos ejecutar en nuestro router. ¡Ahí es nada!. Es conveniente recordar que estos son los comandos que ofrece este modelo concreto de router, otros modelos ofrecerán otras posibilidades, la idea del artículo es explicar la información que se puede obtener de uno de estos dispositivos, no tanto el cómo, aunque también se explicará.

Fig. Opciones del router

El primer comando que ejecutaremos para realizar nuestro análisis, al igual que en el portal web, nos permitirá conocer el Lease DHCP de nuestro router, en este caso con el comando: “show dhcp status”, podremos obtener la misma información desde varios lugares distintos. En caso de estar realizando un análisis forense, no nos deberemos olvidar de ir capturando toda la información que vamos obteniendo para salvaguardarla y calcular las correspondientes firmas digitales de todos los ficheros y logs descubiertos.

Fig. Tabla DHCP del router

Otra tabla importante en nuestro router es la tabla ARP, en la cual están registradas las correlaciones entre direcciones IP y direcciones MAC de los distintos dispositivos conectados al router, ya sea en modo WiFi o modo cableado. Por ejemplo, en el caso de tener clientes o equipos con direcciones IP fijas, será aquí donde encontraremos sus direcciones IP y MAC, para ello ejecutaremos el comando “arp”.

Fig. Tabla ARP (Address Resolution Protocol)

Por contra, si solamente necesitamos obtener el listado de los clientes que están conectados por WiFi, y no por cable, ejecutaremos el comando “show wifi cliente list”, obteniendo un listado con todas las direcciones MAC de los dispositivos conectados en este momento a la red WiFi analizada.

Fig. Listado de clientes WiFi

¿Y cual es la WiFi que estamos analizado?, muy sencillo, con el comando “show wifi status” veremos la configuración de la WiFi del router, datos como: ESSID (nombre), tipo de seguridad y contraseña en texto plano (Sí, en texto plano).

Fig. Configuración de la red WiFi

Recordemos que un router, técnicamente hablando, solamente es un dispositivo que permite enrutar una comunicación IP desde una red a otra. Lo que significa que permite conectar nuestra LAN domestica a la WAN de Internet a través del ISP, esto implica que el router tiene que conocer en cada momento a que servicios o páginas web se están conectado cada uno de los clientes o dispositivos de nuestra red, es decir, conoce todo nuestro tráfico de Internet. Con el comando “show nat entries”, podremos ver todos los dispositivos que tenemos conectados a nuestra red (LAN) y a que páginas o servicios de Internet se están conectando, como es lógico, de este modo también conoceremos los puertos de origen y destino.

Fig. Tablar NAT (Network Address Translation)

Personalmente y por comodidad, esta información prefiero tratarla en un documento tipo CSV y no por consola, ya que me permite asociar IPs y colocarlas por tipo de servicio, es algo tan fácil como enviar la salida del comando a un fichero CSV como el que se muestra a continuación, estaréis de acuerdo conmigo que es mucho más fácil de leer e interpretar de este modo.

Fig. Exportación de la tabla NAT

¿Y a que sitios se están conectado mis dispositivos?, En este caso, la mayor parte de conexiones son contra los servidores de Google y Alibaba (se nota que estoy escribiendo este articulo durante el CyberMonday 😉 ), nada de lo que preocuparnos en este caso, pero si las IP fueran de rangos o proveedores de Internet sospechosos de fraude o cibercrimen, deberíamos realizar un análisis mas exhaustivo del tráfico de red, por ejemplo monitorizando las conexiones con un tcpdump o más en profundidad con en analizador de tráfico: WireShark.

Fig. Resolución IP

A los forenses nos gustan mucho los logs, y cuando encontramos un log para analizar ya nos quedamos tranquilos;) y en un router no iba a ser de otro modo, con el comando “show log”, veremos el log completo del router, igual que en el caso de las tablas de enrutamiento a Internet, os recomiendo que exportéis este fichero a un .TXT para poder analizarlo y tratarlo mas fácilmente.

Fig. Fichero Log

Por ejemplo, en el caso de la foto anterior vemos mucho movimiento en el router. En las lineas 28 a la 30 quedó registrado el acceso web al panel de administración; En la linea 24 vemos como se sincroniza el reloj de Internet NTP; Lineas 26, 22, 20,19, 16, 17 vemos todos los ataques que está sufriendo nuestro router, ademas de poder comprobar la dirección IP desde la que se realiza el ataque (no os asustéis si veis miles de lineas de ataque en vuestro router, es algo totalmente normal, el pan nuestro de cada día, preocuparos de los ataques que no aparezcan en este log, ya que esos si habrán podido ser satisfactorios); Finalmente de la línea 6 a la 1, vemos como un cliente se conecta a la red WiFi, esto es un ejemplo del router que he utilizado para este artículo, pero en otro router o en otro momento, pueden aparecer otros registros en nuestro log.

Comprobando el origen de los ciberataques o escaneos que estamos sufriendo en nuestro router doméstico, podemos ver que no es nada nuevo bajo el sol, ataques desde IP radicadas en: China, Rusia y Ucrania… todo en orden.

Fig. Resolución IP ciberataques

Pero un router doméstico hoy en día no solo enruta comunicaciones de Internet, también gestiona nuestras llamadas telefónicas (el teléfono fijo de casa), aunque no lo notemos, algunas compañías ya han migrado totalmente el cobre, por lo que en nuestros hogares el teléfono fijo funciona bajo VoIP, esto nos permite realizar un análisis forense de las llamadas que se han realizado a través de nuestro router. Con el comando “show call history” podremos ver el registro de llamadas de nuestro router (teléfono fijo), como ya he dicho, al ser VoIP, también veremos las IP de origen y destino al lado del número llamante y llamado. Incluso aunque sea una llamada perdida, también quedará registrada en este log. De hecho, en la siguiente imagen, se pueden observar el registro de llamadas de una linea de Internet que ni tan siquiera tiene un teléfono físico conectado al router, aún así, el router sigue gestionando las llamadas telefónicas aunque no tenga ningún dispositivo al que redireccionarlas.

Fig. Log de llamadas telefónicas

Dejando ya a un lado la parte de forense de comunicaciones, ahora es el momento de centrarnos en el análisis del hardware en si, es decir, del sistema operativo que hace funciona el router. No hay que olvidar que al fin y al cabo, un router es un mini servidor, con un sistema operativo embebido y diseñado para realizar una serie de operaciones de red, y este sistema operativo ha de ejecutarse en un entorno con procesadores, memoria RAM, almacenamiento… Al igual que cualquier otro ordenador o servidor. Por ejemplo, con el comando “show sysinfo”, podremos ver las características del hardware de nuestro router, como puede ser el modelo exacto, número de serie, tipo de procesador, firmware, uptime o tiempo encendido y fecha actual.

Fig. Información del hardware del router

Ademas con el comando “ps”, al igual que en cualquier otro sistema Linux, podremos visionar todos los procesos que están corriendo en nuestro router, como ya dije, esto un sistema operativo al uso. En este caso, no hay ningún proceso extraño en ejecución, pero si vemos algo que se llame por ejemplo: “minning core” o similar, quizás deberíamos sospechar que el router está haciendo algo para lo que no fue ideado, como puede ser, estar minando criptomonedas sin nuestro conocimiento.

Fig. Procesos en ejecucción

Pero, también existe otro método para saber o intuir si nuestro router está siendo utilizado para hacer algo que no debe, por ejemplo: un ataque DDoS, minar criptomonedas… con el comando “show CPU” veremos la carga de trabajo del CPU del router, si sabemos que no hay ningún cliente/dispositivo conectado al router y este está a un 90% de carga, deberemos intuir que algo extraño está pasando en nuestro router y realizar un análisis mas en profundidad de los procesos que se están ejecutando, como ya dije anteriormente, esto lo podemos hacer con el comando “ps”.

Fig. Utilización del CPU

Del mismo modo, podremos saber el uso de memoria RAM que esta utilizando el router, con el comando “show mem”, veremos la cantidad total de memoria disponible y cuanta de ella está utilizando en este instante.

Fig. Utilización memoria RAM

Como habéis podido comprobado en este artículo, cualquier dispositivo electrónico, por pequeño que sea o aunque pensemos que no almacena ningún tipo de información, nos podemos llevar una sorpresa y sacar infinidad de datos relevantes de algo tan insignificante como un simple router. En este caso no me he centrado en realizar un análisis indirecto de los dispositivos que se conectan al router, pero perfectamente, con acceso al router, podemos analizar todos los dispositivos que están conectados al WiFi o por cable. Incluso, nuestros smartphones tienen un registro de los Acess-Point o Router WiFi a los que se han conectado, de este modo podremos saber si una persona se conectó un día a un router concreto. Así que a partir de ahora, en función del análisis que tengáis que realizar, no os olvidéis de vuestro amigo que os estará esperando en cualquier domicilio u oficina: el router.

¿Te ha gustado este artículo? Si quieres, puedes ayudarme a escribir el siguiente artículo de GLIDER invitándonme a un rico café.

 

Pulsa Aquí para invitarme a un café con hielo.

  Salu2.

Manuel Guerra

Manuel Guerra

Mi nombre es Manuel Guerra. Investigador especializado en: [eCrime] | [Forensic] && [Hacking]. Editor de GLIDER.es

Navegación de la entrada


Comentarios

  • Avatar

    Mani Attico

    Buenas!

    Muy interesante el artículo. Me gustaría hacerte una pregunta referente al acceso SSH del Router Avanzado de Fibra de Vodafone (el que aparece en la cabecera).

    Llevo un tiempo queriendo acceder por SSH, pero el puerto aparece como filtered en nmap y no hay acceso. ¿Has conseguido hacerlo de alguna forma?

    Gracias!

    • Manuel Guerra

      Manuel Guerra

      Hola, muchas gracias por tu valoración.

      En cuanto a lo que me comentas sobre el SSH, dependerá del router, firmware, ISP que tengas… El proceso sería conseguir la clave de admin (lo mas engorroso), luego accedes via web y habilitas SSH (si no lo está ya). Una vez habilitado, te conectas via ssh con la misma contraseña de admin.

      Salu2

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puede usar las siguientes etiquetas y atributos HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>