¿Estamos seguros de que estamos seguros? Realmente ¿nuestro router es seguro? Porque aún no somos conscientes de la dejadez de mantener actualizado y protegido nuestro router de los “cibermalos”. No es muy difícil seguir encontrando dispositivos vulnerables con exploit publicado y sin actualizar su firmware, o aún más fácil (aunque parezca mentira) con usuarios y contraseñas por defecto y/o débiles que pueden ser fácilmente “adivinados” usando ingeniería social o un diccionario.
Hoy os traigo un ejemplo con un router NuCom modelo NC-WR744G en el que hay, nada más y nada menos que 799 activos, curiosamente 748 activos en España.
Tras estar unos días de fiesta en casa de un familiar, descubrí que disponía de un router NuCom de este modelo, por lo que me puse auditarlo en busca de vulnerabilidades o fallos de seguridad.
Lo primero que hice, fue una fase de reconocimiento donde quería saber si su IP WAN (real) salía a Internet y aparecía en la lista de Shodan. Aquí el resultado:
* Se ha censurado datos sensibles como IP’s, Hosts, geolocalización, etc. por seguridad.
La respuesta es sí, el router sale en Internet con su IP privada y aparece en la lista de Shodan, por lo que cualquiera que conozca, o no el usuario y la contraseña del router podría acceder desde cualquier parte del mundo, y desde cualquier dispositivo que tenga acceso a Internet (Portátil, Smartphone, Tablet, Smart TV, etc.).
Claro, muchos pensaréis que seguro que el usuario y contraseña se corresponde a las típicas credenciales de “admin:1234, admin:admin, admin:<vacío>, root:….”. Pues no, la clave que se utiliza para el router no es tan sencilla, ya que viene personalizada por su ISP (Proveedor de Servicios de Internet).
El router no tiene ningún exploit publicado, por lo que probé a analizar la web de acceso al router, no encontré ningún fallo que pudiera utilizar para “saltar” el login. Intenté hacer un ataque de fuerza bruta al login, pero el router me bloqueaba al lanzar el primer ataque, por lo que efectivamente el router estaba debidamente protegido (al menos, en el puerto 8081).
Figura 1: Ejemplo de un ataque por fuerza bruta con Hydra
El siguiente paso es “rascar” por otro servicio que podamos “atacar” por alguna vulnerabilidad o fuerza bruta. El escaneo de puertos sacó los siguientes puertos abiertos:
Pues nada más y nada menos que 999 puertos abiertos (“supuestamente”), ya que posiblemente estén abiertos internamente pero no todos salen a Internet. Me centraré en servicios para poder trabajar remotamente desde la Shell. (ejemplo Telnet o SSH).
Efectivamente, los dos servicios parecen estar abierto, pero solo el servicio Telnet sale por la WAN, al cual atacaremos por fuerza bruta.
Figura 2: Ataque por fuerza bruta con éxito (El orden del diccionario se ha cambiado de forma aleatoria)
Una vez con la clave, puedo realizar la conexión por Telnet y acceder a los archivos del router.
ACCESO A LOS ARCHIVOS DEL ROUTER
Me llama la atención la carpeta “private” en el cual encuentro una clave privada (RSA), ya que con ella puedo tener acceso por SSH sin usuario y contraseña.
Ya con persistencia en el dispositivo, el siguiente paso de un “ciberdelincuente” es poder expandirse por el sistema, buscar dispositivos conectados a él con el fin de encontrar vulnerabilidades para poder hacerse con el control y poder sacarle “tajada”. (Ej. Un Active Directory, un servidor, una máquina industrial, el portátil del CEO para poder extorsionarle, hacerse con el directorio de un NAS del departamento I+D de una empresa y robar esos proyectos, etc.…).
Continuo con el ejemplo, ahora necesito poder acceder a su panel web, En la mayoría de los casos, la misma credencial obtenida anteriormente por Telnet bastaría, pero haré el ataque para comprobar la fortaleza del sistema. Para ello accedo al directorio “/etc/passwd” y guardo la línea de “admin” con su contraseña cifrada.
Figura 4: Usuario «admin» registrado en el sistema con su password cifrada.
Ejecuto el ataque por fuerza bruta con ayuda de un diccionario de las contraseñas más utilizadas para “crackear” el hash y obtener la password del administrador del sistema.
Figura 5: Cracking del fichero password (GNU/Linux) y obtención de la contraseña de administrador.
Ya dispongo de las credenciales para acceder al router desde su panel web, podría ver la contraseña Wifi y/o modificarla, también podría cambiar la password de acceso, incluso cerrar puertos para “fastidiar” a los usuarios que están conectados, pero no, un “ciberdelicuente” no se arriesgaría a ser descubierto y utilizaría otras técnicas para obtener beneficios (dinero) sin llamar la atención.
Un ejemplo sería realizar un ataque DNS Spoofing, en el cual cambiaría las DNS del router por unas falsas para redirigir sus usuarios conectados a páginas fraudulentas y así robar credenciales de otras plataformas web o incluso, realizar una estafa bancaria.
Si fuera un “ciberdelincuente” me estaría “poniendo las botas”, pero como comenté anteriormente, el objetivo es poder “llegar hasta la cocina” en algún dispositivo que esté conectado a la red.
Saco un listado de los dispositivos en el momento de la intrusión:
Figura 7: Listado de los dispositivos conectados al router
En la imagen se puede apreciar los dispositivos que están conectados al router y enumerados por su IP, por la descripción no me costará identificar qué tipo de dispositivo es y qué Sistema Operativo tiene.
Otro “fallo” encontrado, es que dos de esos dispositivos aparecía el Nombre y Apellidos de la persona (tapado con rectángulo rojo) por lo que podría utilizarlo para hacer algún ataque de ingeniería social (por ejemplo, un falso soporte técnico).
Y también puedo ver la clave Wifi.
Luces, cámara y ¡acción! “Explotando y hasta la cocina”
En esta simulación tomaré el “rol” de un ciberdelincuente que, tras conseguir ganar acceso desde el router, ha podido acceder a la red interna de una importante empresa.
Tras realizar un escaneo de todos los dispositivos conectados, me he centrado en la máquina con IP 192.168.0.168.
Esta máquina tiene los siguientes servicios disponibles:
Tiene servicios obsoletos y vulnerables, voy a explotar una vulnerabilidad en el servicio FTP.
En la evidencia, tengo acceso a una shell con privilegios de administrador (root), el siguiente paso será investigar por los directorios y hacerme con algún archivo importante.
Ese archivo parece interesante, lo voy a descargar:
¡Bingo! Tengo un fichero que contiene información de los trabajadores de la empresa (Nombres y Apellidos, ID de usuario de los aplicativos, sus contraseñas, etc. Imaginaros que repercusión tendría esto si cayera en manos equivocadas.
Y ahora os vuelvo a preguntar, ¿Estamos seguros de que estamos seguros?
Recomendaciones para proteger nuestro router
- Cambiar el usuario (si se puede, claro) y la contraseña de acceso al router por una más robusta, mezclando letras en mayúsculas y minúsculas, números y símbolos (Ej. He4X2tbt74*be#).
- Deshabilitar la salida de la IP WAN a Internet, o al menos a los servicios que no utilicemos.
- Activar filtraciones por direcciones MAC (aunque también se puede usar técnicas para conocer las direcciones MAC, pero esto retrasará al atacante).
- Usar sólo WPA2 con una contraseña de al menos 12 caracteres con mayúsculas, minúsculas, números y símbolos.
- Desactivar WPS, es un código de 8 números, con un ataque de fuerza bruta se puede obtener.
- Tener habilitado el firewall del router.