Docly Child

4.2.6. Metasploit: Armitage

Armitage es una interfaz gráfica de usuario (GUI) para Metasploit Framework escrita en lenguaje de programación Java. A diferencia de la consola de línea de comandos msfconsole, Armitage permite automatizar el escaneo de redes, recomendar módulos y parametrizar las diferentes opciones cuando no las propone la misma herramienta de forma amigable. Es usada para el aprendizaje de Metasploit y como herramienta para equipos de seguridad informática red team debido a su facilidad de uso y los automatismos que proporciona (es realmente útil para ejercicios de pentesting autorizados por una empresa en donde se exige rapidez y no importe mucho el ruido que genere la incursión).  

En este epígrafe se va a realizar una introducción y unas anotaciones sobre su uso aunque hay que advertir que puede parecer brusco y no es recomendable usar esta herramienta así en un contexto real donde prevalezcan otros criterios. En siguientes puntos se retomará esta herramienta para ver algunos aspectos destacables como cuando es combinada con msfvenom (generador de payloads de Metasploit) y módulos de postexplotación destinados a propagar el ataque a otros hosts del sistema.

En versiones de 2019 y anteriores de Kali Linux esta herramienta solía venir por defecto en la distribución. En la versión usada al escribir esto ya no, por lo que tendrá que descargarse con el gestor de paquetes apt (se sospecha que ha sido descartada por algunos fallos en la integración entre Java y Metasploit). El framework de Armitage consume recursos principalmente de Metasploit, por lo que al iniciar la herramienta automáticamente se abrirá una instancia de la API de Metasploit RPC, además, es obligatorio iniciar el servicio de PostgreSQL. La secuencia de comandos para instalar e iniciar correctamente seria la siguiente, mostrándose la pantalla:

				
					sudo apt update
sudo apt install armitage
sudo service postgresql start
#No root
armitage

				
			
Inicio Armitage

Una vez iniciada la herramienta, en segundo plano se mantendrá la consola proporcionando información de algunos servicios y procesos. Como se puede observar en la imagen, por defecto iniciará un servicio de escucha inversa denominado reverse handler, que es un instrumento tipo módulo para gestionar payloads y que se explicará en la sección de msfvenom. Por otro lado, se hace referencia a Cortana, que es un instrumento auxiliar para gestionar scripts con Armitage (no se va a explicar aquí). Se pueden consultar los servicios con netstat -antp por ejemplo.

Armitage en segundo plano

Iniciado Armitage, se puede observar que la aplicación se distribuye en varias secciones, las cuales son comentadas sobre la misma imagen. Destaca la visualización de los hosts reconocidos, que se irán añadiendo a medida que se vaya realizando escaneos de la red, identificándose por su IP y nombre y permitiendo una rápida interacción. En la barra de tags se tendrá una consola msfconsole disponible, permitiendo ejecutar instrucciones si fuera necesario. También se pueden ver los diferentes módulos para interactuar rápidamente con ellos así como un menú para realizar diferentes tareas de forma ágil.

Interfaz gráfica Armitage

La primera vez que se inicia Armitage este realizará un escaneo rápido de la red local para incorporar en la sección de hosts los equipos identificados. Del mismo modo, como se ha visto anteriormente se había iniciado automáticamente un módulo handler. Si se quiere se puede limpiar estos datos generados por defecto con el comando jobs de msfconsole (para el handler) y la secuencia de menú horizontal Hosts >> Clear Database

				
					msf6 > jobs
msf6 > jobs -k <Id>

				
			
Clear dabase y Kill Jobs Armitage

Antes de empezar con un caso práctico, con en el botón del menú de tareas View se puede abrir varias consolas de comandos así como ver la información mostrada por otros tags (se deja para probar). Estos se pueden cerrar con la X.

Tags y opciones de Armitage

A continuación se va a explicar el procedimiento básico para usar Armitage, que suelen mostrarse en casi todos los manuales (muy ruidoso, parecido a matar moscas con una escopeta), aunque intentando explicar qué resulta realmente útil o no de este procedimiento:

1. Escaneo de Hosts con NMAP: La herramienta permite realizar escaneos de redes y servicios con el clásico NMAP (como Metasploit). Tal y como se muestra en la imagen hay que ir a Hosts >> Nmap Scan y seleccionar algún tipo de escaneo. En el target se permite introducir un CIDR (rango de IPs de red) o una o varias IP específicas (locales o públicas).

Escaneo de hosts Nmap con Armitage

2. Reconocimiento de hosts: Después del escaneo se añadirán los que hayan sido reconocidos. La información se incorporará mediante la base de datos PostgreSQL, pudiéndose ampliar si se realizan más escaneos sobre uno o varios hosts. El proceso de Nmap ha generado un tag.

Escaneo de hosts completados

3. Funciones Scan y Services: Una vez determinado algún host, poniéndose encima de él con el botón secundario aparecen las funciones de Scan y Services. La primera de ella realiza un test de comprobación de estado de puertos, mientras que la segunda lista el resultado de los diferentes escaneos. Como se muestra también en esta imagen (compuesta), el host cambiará de imagen en función del Sistema Operativo identificado.

Función Scan y Services Armitage

4. Buscar Exploits para el target: Una función interesante de Armitage es la de proponer Exploits para el target escaneado en base a la información obtenida. Debido a algún error de Java, en el momento de escribir esto se debe ajustar el parámetro de Armitage >> Set Exploit Rank a poor (aunque igualmente buscara para todos los rangos). Posteriormente, se lanza este proceso de búsqueda de Exploits con la opción de menú Attacks >> Find Attacks.

Nota: Como se puede observar, hay una opción específica que es Hail Mary. Hail Mary realiza todos los ataques  posibles a la vez sobre el host. Como se denota, es una simple curiosidad divertida para probar quien quiera sin ningún recorrido en la vida real, aunque lo más probable es que se consiga colapsar la máquina virtual o el laboratorio.

Ajuste parámetro para búsqueda de Exploits Armitage
Escaneo de Exploits para targets Metasploit

5. Selección y uso de Exploit: Una vez se han identificado los posibles ataques, estos se agrupan por servicio. Para utilizar alguna de las propuestas, simplemente se selecciona y aparecerá el menú de parametrización con los diferentes parámetros que se podría setear con el comando set en msfconsole. Esta pantalla permite seleccionar el tipo de payload shell (inverso o no), target y las opciones avanzadas. Además, algunas las opciones básicas ya vienen parametrizadas por defecto, incluyendo la propuesta de payload.

Nota: Existe la función Check que permite comprobar de forma agrupada por servicio si alguno de los Exploits propuestos resulta factible. No es recomendable para nada pues gran parte de los módulos Exploit no admiten esta modalidad, además del ruido que genera y posible colapso de la máquina.

Explotación por Armitage

Si el Exploit seleccionado ha tenido éxito y se ha generado algún tipo de shell o sesión de meterpreter, el icono del host cambiará y aparecerá una especie de rayos. Ahora, sobre este host, se puede recuperar la sesión así como efectuar otras técnicas para explorar la red del host y propagar la incursión (pivoting). Se verá alguna de estas técnicas en siguientes puntos.

Gestión de sesiones shell con Armitage

Ya para terminar, comentar que también se puede seleccionar y usar módulos de Metasploit a partir del bloque específico, simplemente buscándolo, seleccionándolo e introduciendo los parámetros de forma manual, cosa que puede resultar mejor para quien no guste de usar msfconsole.

Uso de módulos forma libre Armitage