Práctica 49 – Fuerza bruta con Medusa al servicio SSH (Secure Shell)
Herramienta: Medusa
Prerequisitos: Máquina objetivo con el servicio SSH habilitado y en ejecución
Contramedidas: Monitoreo de sesiones, Fuertes controles en las listas de acceso de los routers (ACLs), versión actualizada del servidor ssh, (más recomendaciones)

Descripción: Medusa es una herramienta desarrollada para llevar ataques del tipo brute force de manera paralela y modular, se destaca en su uso por la rapidez en que realiza dichos ataques. El aplicativo permite llevar a cabo multiples ataques a diferentes sistemas con diferentes usuarios. El objetivo de la herramienta es auditar el inicio de sesión de varios servicios entre ellos MS-SQL Server, VNC, HTTP, SMB, Telnet, el servicio SSH (Secure Shell) y un largo etc. SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X arrancado.

Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH. (más información sobre SSH)
Procedimiento: Descargar, configurar e instalar la herramienta. Luego ejecutar mediante la siguiente sintaxis:

medusa -h objetivo -u usuario -P passwords -M ssh

Para el objetivo del laboratorio utilizaremos como siempre la mejor distribución enfocada a los test de penetración entre muchas otras bondades: BackTrack. Esta distribución ya trae la herramienta Medusa instalada, configurada y lista para ser usada.

Además como máquina objetivo utilizaré otro sistema Linux con el servicio ssh habilitado, en ejecución y tristemente mal configurado. Cuando afirmo que está mal configurado es por que cambié los parametros que vienen establecidos por defecto, especificamente los que se refieren a intentos de inicio de sesión.

Este laboratorio lo único que pretende, al igual que los anteriores, es acercar de manera didáctica y metodológica a los investigadores y entusiastas del tema, en el manejo de herramientas, conceptualización, y puesta en práctica de conocimientos relacionados al proceder y actuar en técnicas de intrusión a sistemas.

Especificamente, este laboratorio quiere acercar al usuario en los conceptos técnicos del servicio ssh y como atacarlo de manera controlada. Quiero aclarar desde un comienzo, que el ataque por medio de fuerza bruta al servicio ssh es una técnica casi obsoleta, ya que por defecto este servicio viene configurado con un sistema de seguridad medio, el cual bloquea este tipo de ataques. No obstante se pueden dar casos en los que un administrador descuidado o “bondadoso”, tenga que habilitar de manera casi ilimitada los inicios de sesión a su servidor por motivos meramente en pro de ofrecer completa prestación y disponibilidad del servicio a usuarios “lentos” a los cuales se les olvida la contraseña, pero que al intento 200 la recuerdan XD.

Veamos entonces:

Comprovemos que efectivamente se encuentra habilitado el servicio ssh en la máquina objetivo (para ello haré uso de la herramienta insignia para este tipo de conexiones “PuTTY“) desde Windows.

Tratemos de inciar sesión con algunas contraseñas al azar

Algunos intentos fallidos de inicio de sesión

Vamos ahora a ejecutar medusa desde BackTrack

Para objeto del laboratorio crearé una carpeta en el escritorio de BackTrack con el nombre de medusa, en ella guardaré el diccionario con el cual realizaré los intentos.

Ejecutemos la sintaxis medusa sin ningún parametro para observar algunas de sus opciones de uso

Ahora agreguemos el comando -d para visualizar los módulos activos de medusa

Algunos de ellos son:
mssql, telnet, mysql, vnc, ftp, postgres, ssh, http, etc

Es justo esa, la tarea de cada investigador. Utilizar las diferentes opciones de configuración y uso de la herramienta medusa (más información y manual de uso de medusa).

Para nuestro laboratorio bastará con hacer uso de la siguiente sintaxis:

medusa -h 192.168.198.133 -u root -P password -M ssh

Donde:

medusa: Orden de ejecución de la herramienta
-h: Dirección IP objetivo (host)
-u: Usuario (en este caso root)
-P: Archivo contenedor de contraseñas (puede asignarse la ruta completa de ubicación de este archivo, ej. /root/Desktop/carpeta/passwords.txt)
-M: Módulo de ejecución de medusa, para este caso ssh (Secure Shell)

Veamos en acción la herramienta

Resultado en pantalla del ataque de fuerza bruta al servicio SSH

Hagamos ahora el intento de conexión con la contraseña encontrada

Se ha logrado con éxito el acceso al servidor objetivo. Solo queda aclarar que este tipo de ataques son de los más “ruidosos” en un sistema y que cada uno de nuestros intentos (691 en nuestro caso) quedarán registrados en el sistema objetivo.

Para finalizar quisiera mostrar algunos otros usos de la herramienta medusa para otros protocolos haciendo uso de los diferentes módulos del aplicativo.

Veamos como hacerlo para auditar a telnet

Resultado y conexión

Ahora para MS-SQL Server:
Servidor objetivo con SQL Server en ejecución

Sintaxis para el módulo mssql (en este caso tengo el servidor SQL estableciendo conexiones en el puerto 1074, el parámetro puerto puede ser configurado mediante -n)

Resultado

Ahora un ataque con medusa dirigido a un servidor FTP

Resultados

Y finalmente un ataque a un servidor mysql. Para ello identificaré la disponiblidad del servicio mediante nmap

Sintaxis de medusa para MySQL

Resultado:

Taller individual:
Uso de otras opciones de medusa (-n, -s, -g, -r, etc.)
Consultar acerca de como llevar a cabo una monitorización de sesiones.

Próxima sesión: Ataques por fuerza bruta (brute Force) VI

Congreso Hacker Colombia