Mantener la configuración y credenciales de fabrica es una mala idea, muy mala, malisima, es peligroso, mas que nada porque son configuraciones conocidas y publicas, existen muchas paginas en internet que se dedican a recopilar las credenciales de fabrica de aplicaciones o dispositivos, como por ejemplo default-password.info.
Si decides mantener tus credenciales de fabrica debes saber que todos pueden conocerlas al igual que tu, cualquier sistema de seguridad queda anulado inmediatamente si mantiene las credenciales de fabrica, mantener la configuración de fabrica es una vulnerabilidad grave, y fácilmente explotable.
Esta vulnerabilidad esta dentro de los top 10 de OWASP, es la vulnerabilidad numero 6 de la revision 2017 de owasp. Claro que el punto A6:2017 abarca mucho mas que configuraciones de fabrica, pero incluye esta vulnerabilidad e indica que la explotabilidad es muy fácil(casi cualquiera puede explotarla) y la detectabilidad también (cualquiera puede descubrir que existe esta vulnerabilidad).
Las credenciales de fabrica son una de las primeras cosas que se prueba en un hacking ético (y no tan ético), como por ejemplo user: admin pass: admin y es lo primero que se debe cambiar después de instalar un sistema, aplicación, servicio o dispositivo.
Vamos a ver como se podría explotar esta vulnerabilidad en la vida real.
Hace poco tiempo pase muchos días internado en un hospital. Luego de algunos días empece a sentir curiosidad y me puse a revisar cajones, puertas, muebles buscando nada en particular mas bien explorando, y me di cuenta que en la cabecera de mi camilla, encontré lo que a simple vista pensé que era un puerto de red, pero en realidad era un puerto telefónico aunque sin teléfono conectado, claramente vestigios de un tiempo pasado.
Digo tiempo pasado ya que al día de hoy lo que se usa en las empresas es la telefonía IP. Como este teléfono que estaba al lado de la cama conectado a un puerto de red.
Se pueden ver claramente 2 puertos: Internet y PC. El primero va conectado a la red y el segundo sirve para conectar un pc en caso que el teléfono ocupe el único punto de red disponible, bueno no me aguante las ganas y me conecte al puerto PC.
En este punto es donde el administrador debería haber deshabilitado el puerto auxiliar del teléfono en la configuración de este o como mínimo configurado un dhcp filtrado por mac, por ejemplo, para que no cualquiera pudiera obtener una IP valida dentro de la red(aunque se puede saltar fácilmente esta validación con macchanger de igual forma es molesta) o definitivamente no poner un dhcp y dejar todas las ip fijas. Hay que tener en cuenta que un punto de red físico sin vigilancia es muy peligroso y mucho mas con un dhcp ya que quien se conecte obtiene una ip inmediatamente, bueno, me conecte y me dio una ip valida al instante.
Ya tengo una ip valida y conexión a internet sin filtro y con una buena velocidad. Acá el administrador debería haber limitado la salida a internet por lo menos a las ip y/o mac desconocidas, y ademas filtrar las url de destino en busca de direcciones maliciosas y/o peligrosas . Un atacante con salida a internet es mucho mas peligros ya que puede comprometer un equipo y tener conexión directa a un C&C por ejemplo.
Desde el menú del teléfono se puede obtener la ip configurada y también la mac del dispositivo, dato muy útil para el siguiente paso.
Con la ip del telefono podemos usar nmap para escanear los servicios que tiene activos. Usamos el comando nmap -sV [ip] y devuelve 3 servicios activos, vamos a por el http.
Lo primero que nos muestra al llegar a la url con la ip del teléfono es una ventana de login y lo primero que probamos son las credenciales de fabrica admin/admin, obvio.
Usando las credenciales de fabrica logramos acceder a la interfaz web del panel de control del teléfono, donde podemos entre otras cosas interesantes configurar el puerto de red adicional (el puerto PC) y lo podemos dejar como NAT o directo, si quisiéramos salir con la misma ip del teléfono para que no aparezcan mas nodos en la red lo dejamos como nat, pero si hay algo monitoreando el comportamiento de los nodos, fácilmente nos podría detectar por actividad inusual del nodo, que debería actuar como teléfono solamente no consumir paginas web u otros servicios
Solo como prueba de concepto modificamos el valor del campo label y le dejamos el clásico valor numérico 313373.
Podemos comprobar que se modifica inmediatamente en la pantalla del teléfono, así de fácil, podemos modificar cualquier valor de la configuración del teléfono solo con las credenciales de fabrica. y como solo era una prueba de concepto, volvemos al valor original del campo para no perturbar la paz de la empresa
Ok, un repaso rápido, primero nos conectamos al puerto de red auxiliar del teléfono, el servidor dhcp nos regalo una linda ip valida, tenemos salida a internet con buena velocidad y sin filtros de destino, el teléfono esta configurado con las credenciales de fabrica y podemos ingresar a la interfaz web para modificar los parámetros que se nos antoje. todo gracias a las credenciales y configuraciones de fabrica. muy mal ahí administrador.
Lo bueno, las redes wifi estaban bien aseguradas, con wpa2 y psk y ademas aisladas de las redes físicas lo que reduce el daño que podría ocasionar una intrusión en las redes wifi ya que el atacante no podría avanzar hasta los servidores críticos productivos. Ademas los servidores de base de datos, aplicación y dispositivos IoT no estaban al alcance de la red de telefonía ip. Bien ahí administrador.