En esta ocasión vamos a hablar sobre la posibilidad de recuperar contraseñas, en concreto las almacenadas en el archivo de configuración de equipos Cisco que corran Cisco IOS. Éstas son almacenadas en el archivo de configuración del dispositivo de tres formas distintas:
a) De tipo 0, se guardan en texto plano. Ni qué decir del nivel de seguridad que esto proporciona.
b) De tipo 5, a cada contraseña se le aplica el algoritmo MD5 Unix, almacenándose su correspondiente hash. Se considera el más seguro.
c) De tipo 7, similar al anterior siéndole aplicado un algoritmo definido por Cisco. Fácilmente crackeable.
La idea a perseguir es ¿qué sucedería si un atacante lograse tener acceso a un equipo de red por el robo de credenciales de un administrador; backup´s de las configuraciones almacenadas en un servidor o soporte físico (DVD, pen drive, etc.)? ¿qué maneras existen para descifrar las contraseñas?
Pues bien, yendo desde lo más fácil a lo más difícil, empezaremos por las de tipo 7 ya que poco se puede decir sobre las que se almacenan en texto plano, ¿no?
Para descifrarlas podemos hacerlo online desde sitios como:
http://www.ifm.net.nz/cookbooks/passwordcracker.html
http://www.ibeast.com/content/tools/CiscoPassword/index.asp
http://www.firewall.cx/general-topics-reviews/cisco-cracker.html
Pero si no tenemos conexión a Internet, también lo podemos hacer con “Cain”. Partiendo de las siguientes líneas en la configuración rescatada de un equipo:
username edorta password 7 141216041E102B
username edorta01 secret 5 $1$PHM7$LukCBXSHLmkCJZ0jEIpk80
Y como se suele decir “una imagen vale que mil palabras”:
Sobre esto ya poco más se puede añadir, con lo que pasaremos ahora a las de tipo 5.
Como he dicho, lo que se almacena es un hash, generado por el algoritmo MD5 (Unix) y la contraseña que nosotros hayamos elegido. Este método es la forma más segura de almacenamiento en cuanto a hashes se refiere ya que como acabamos de ver las de tipo 7 son “algo” fáciles de obtener. En esta ocasión utilizaremos el software “Hashcat, advanced password recovery”. La ventaja de este crackeador es que permite no sólo emplear nuestra CPU sino además nuestra GPU de nuestra tarjeta gráfica, lo cual acelera notablemente la capacidad para obtener contraseñas por su mayor capacidad de cálculo.
En nuestro caso, y por facilidad de uso, emplearé la versión “Hashcat-gui” para sistemas operativo Windows 7. Descargado y descomprimido, ejecutaremos el archivo “hashcat-gui64″, que para este primer ejemplo utilizaremos un ataque por fuerza bruta empleando la CPU:
Allí deberemos indicar el archivo de texto donde tenemos nuestro hash $1$PHM7$LukCBXSHLmkCJZ0jEIpk80 ; método de crackeo “Brute-force” ; tipo de Hash “MD5(Unix)” y finalmente presionar el botón de “Start”. En realidad lo que se ejecuta es el comando que figura a la derecha de dicho botón. Si hacemos lo propio en una consola y lo ejecutamos obtendríamos el mismo resultado:
hashcat-cli64.exe –hash-mode 500 –attack-mode 3 –bf-cs-buf abcdefghijklmnopqrstuvwxyz0123456789 –bf-pw-min 1 –bf-pw-max 16 X:/xxxx/xxxxx/xxxxxx/hashmd5UNIX.txt
Como hemos hablado, también podremos utilizar la GPU de nuestra tarjeta gráfica, si es que disponemos de ella. En mi caso lo haré con una NVIDIA GeForce GTS 450.
En este segundo ejemplo realizaremos un ataque de diccionario al que le he agregado la contraseña utilizada en el configuración del equipo. Por cierto la gente de http://www.blackploit.com/ tienen una excelente recopilación de diccionarios aunque hacerte los tuyos propios también te dará tus buenos resultados… Finalmente dicho ataque será por método directo.
Y tras darle a “Start” a calcular se ha dicho:
Como se puede intuir y comprobar este software tiene multitud de opciones, algoritmos, métodos de crackeo, etc. con lo que es necesario leerse el manual del mismo, y que lo podréis encontrar en la misma Web. Se podría hablar mucho más pero no es objetivo enseñar sobre cómo funciona sino dar una idea sobre alguno de los métodos disponibles para hallar las contraseñas almacenadas en los archivos de configuración de nuestros equipos ded.
Y por hoy terminamos, seguiremos informando…
Pingback: Peligroso SNMP Parte II « Enredando con redes …