Conseguir acceso a router CISCO mediante fuerza bruta.

10:00 1 Comments A+ a-


Pues husmeando con mi propio servicio me dio por probar que tan bien configurada estaba la cosa del lado del ISP que me proporciona el servicio, y la verdad me sorprendi mucho con la flojera que ciertos administradores de red configuran los accesos, valiendose simplemente de un password realmente debil y nada mas, por lo que me dejaron entrar por Telnet de la forma mas sencilla FUERZA BRUTA!!. Posteriormente lo reporte al departamento y me sorprendi de la amabilidad del tecnico que me tomo el reporte, el mismo dia me di cuenta que lo habian solucionado y como punto positivo me decidi a compartir como hacerlo y posteriormente a como evitarlo, aunque esta vez lo hare de forma virtual ya que el acceso real no existe mas (al menos para mi).

Primero la parte aburrida...

A estas alturas la mayoria de nosotros domina los conceptos basicos, pero por si las moscas aqui vamos a definir algunos conceptos valiendonos de Wikipedia.

¿Que es Telnet?

Citar
Telnet (Teletype Network1 ) es el nombre de un protocolo de red que nos permite viajar a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella.

¿Que es fuerza bruta?

Citar
Se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso.

¿Que significa un acceso remoto?

En informática, se considera administración remota a la funcionalidad de algunos programas que permiten realizar ciertos tipos de acciones desde un equipo local y que las mismas se ejecuten en otro equipo remoto.

Definidos los conceptos anteriores creo que nos queda super claro lo que vamos a hacer, asi que manos a la obra.

Conociendo la red.

Primero vamos a dejar claro que estas pruebas fueron hechas totalmente de forma virtualizada con GNS3 y una maquina virtual corriendo Kali Linux, asi que asumiré que saben como configurar todo y me saltare el Setting de las mismas.

Normalmente accedemos a internet a travez de un pequeño router instalado en nuestras casas, pero ese router pequeñito no tiene la capacidad de enrutar nuestros paquetes al gran Internet, asi que mas bien se los manda a un Router mas grande que tienes mas capacidad de routing, y es asi como nuestro Default Gateway tiene otro Default Gateway mayor que es realmente quien nos conecta al mundo (es posible que este segundo se los mande a otro aun mas mayor "Backbone Router"). Asi que nuestra red exibe la siguiente topologia:


En un entorno normal se habilitan los acceso remotos a los routers por necesidad de administrarlos de forma remota, lo que significa que cualquiera con un cliente que gestione las conexiones y sabiendo de antemano el password podría entrar a la configuración de los mismos, y una vez dentro todo es posible. En este caso vamos a realizar el post atacando a un router CISCO que hace de Gateway para nuestro router local, en la ilustración es el que llama ISP_Gateway.

Entorno

Host: Kali Linux, dirección IP asignada por DHCP
Victima: ISP_Gateway (Router CISCO), dirección WAN 192.168.11.2
Herramientas: crunch, CAT (Cisco Auditing Tool) y un poco de tiempo.
Entorno de pruebas: 100% Virtual, por lo cual tanto los diccionarios, como el pass solo funcionan para este caso. (Ya que por cuestiones de tiempo creare un diccionario corto para un password muy debil)

Pues ya sentados y con las cabezas frías lo primero es probar la conectividad a nuestro Default_Gateway y para ello bastaría con hacer ping a la dirección del mismo:

ping 10.0.0.1

Con lo cual obtendríamos algo parecido a esto:


Luego a la interfaz WAN de nuestro Default_Gateway:

ping 192.168.1.1

así conseguiríamos esto:


Cabe aclarar que para la prueba estoy utilizando bloques de direcciones privadas, ya que por error no quisiera apuntar mis pruebas a ningún host real en el espacio publico.

Bien, ahora vamos a confirmar la conectividad con la interfaz WAN del ISP_Gateway haciendo ping a la misma:

ping 192.168.11.2

Y se vería así:


Muy bien realizado esto, ya estamos seguros de que la conectividad esta funcionando al 100% asi que vamos a comprobar que si tiene telnet habilitado:

Código: [Seleccionar]
telnet 192.168.11.2

Y si nos responde con un lindo mensaje de bienvenida como este:


Entonces esta habilitado. (Fijense en texto del warning...)

Comprobado todo entonces vamos, manos a la obra!!

Afinando nuestras hachas.

Cuando se trata de hacer fuerza bruta muchas personas prefieren descargar diccionarios muy pesados desde Internet, en mi caso particular me gusta mas generar mis propios diccionarios de acuerdo al perfil del objetivo y también por puras vainas mías, esto
es relativo a cada cual, asi que mi primer paso es generar el diccionario usando Crunch, lo hacemos con el siguiente comando:

Código: [Seleccionar]
crunch 5 5 123456789 -o brake_Cisco.txt

5 5 ----> Significa la longitud del password expresado de menor a mayor.
-o  ----> Es el argumento para especificar que queremos guardar la salida en un archivo .txt
brake_Cisco.txt ----> Es el nombre del archivo, le pueden poner el nombre que mas les guste.

Lo cual nos deja algo como esto:


Talando el árbol.

Una vez ya tenemos todo en su lugar solo nos queda atacar, y para esto usaremos una herramienta incluida en Kali Linux que se llama CAT (Cisco Auditing Tool), algo que hay que tener claro es que es posible usar cualquier otra herramienta para fuerza bruta tales como hydra, medusa, jhonn, etc... En esta ocasión utilice esta ya que ademas permite averiguar cosas como la versión de IOS que corre, así como mas información interesante, también es bueno saber que el comando se escribe en mayúscula para que el sistema pueda diferenciar "CAT" de "cat" ya que este ultimo es una herramienta nativa de sistemas GNU para concatenar y comparar valores.

Así que en la consola escribimos el comando:

Código: [Seleccionar]
CAT -h 192.168.11.2 -a brake_Cisco.txt

-h ----> Especifica la dirección del host al que lanzamos el ataque
-a ----> Indica que tenemos un diccionario con el que queremos hacer fuerza bruta. (si no especificamos un diccionario entonces CAT usara un diccionario por defecto que trae de forma nativa)

Y si el password esta en nuestro diccionario, entonces VOILA!!!!

Y una vez sabemos el password valido solo nos queda entrar:


¿Pero como evitarlo?
Pues las medidas que se recomiendan para mitigar un poco los ataques de fuerza bruta son casi siempre los mismos:

<> Limitar el numero de intentos de login, asi como el temporizador para admitir nuevos intentos de login (para esto es necesario activar SSH en las lineas telnet)

<> Crear ACL (Acces List) que eviten la conexión de host no deseados, esto sumamente sencillo de hacer y el beneficio es enorme.

<> Se podría configurar un servidor RADIUS para la autenticacion del acceso.

Y fin!!

Si existen mas medidas de seguridad pueden hacer sugerencias, saludos y abrazos a todos mis hermanos de underc0de y hasta la próxima.

1 comentarios:

Write comentarios
Anónimo
AUTHOR
28 de junio de 2015, 19:25 delete

me imagino que cuando nombraste el archivo en ingles the referias a usar la palabra "break" de quebrar/romper y no lo que pusiste "brake" es freno/frenar... hay te lo dejo de tarea... saludos.

Reply
avatar