Post76 nn

Recolección de información con [MSF] Metasploit Framework


Logo uri spioni mh 1
Cristian Palma P

La Recolección de información es la base para cualquier prueba de penetración exitosa, en esta fase el objetivo es recopilar la mayor cantidad de información de modo que nos permita hacernos una idea de los sistemas y programas en funcionamiento.

A continuación veremos 3 técnicas utilizadas en la recolección de información con ayuda de la herramienta Metasploit Framework  y sus módulos auxiliares.

- Escaneo de Puertos

- Identificación de Servicios

- Sniffing de Contraseñas

MSF es una de las herramienta de auditoría más útil para los profesionales de seguridad, proporciona una amplia multitud de herramientas que nos pueden ayudar en las diferentes etapas del proceso de una auditoría, mediante su librería de exploit, payload, auxiliary, post, encoder y nop.


Imagen inicial de metasploit framework

 

1.- Escaneo de puertos

A través del escaneo de puertos podremos identificar posibles vulnerabilidades, antes de comenzar a utilizar los módulos dentro de MSF una de las buenas prácticas es operar junto a la base de datos interna asignada por el gestor postgreSQL y crear un espacio de trabajo dedicada a la auditoría en específico, esto nos facilita el trabajo cuando debamos generar el informe final.

Una característica de MSF, es que nos permite ver de manera organizada nuestros descubrimientos y poder identificar separadamente los host, services, workspace, notes, loot y vulns.


-                              Lista de comandos de la base de datos de MSF



Db_connect: Nos permitirá conectar con una base de datos existente en el sistema

Db_disconnect: Nos permitirá desconectar de la instancia de la base de datos actual

Db_export: Nos permitirá exporta un archivo con el contenido de la base de datos

Db_import: Nos permitirá importar un archivo de resultado de escaneado

Db_nmap: Nos permitirá ejecutar NMAP dentro de MSF y registrar la salida automáticamente en la base de datos conectada

Db_rebuild_cache: Nos permitirá reconstruir el caché del módulo almacenado en la base de datos.

Db_status: Muestra el estado de la base de datos actual (conectada, desconectada o algunos casos no se encontrará, en este momento debemos inicializar la BD con Msfdb init)

Hosts: Nos visualizará una lista de todos los hosts identificados previamente con db_nmap o importados en la base de datos.

Loot: Nos permitirá visualizar una lista de los volcados hash extraídos desde una máquina comprometida y registrada en la base de datos conectada a MSF.

Notes: Nos visualizará una lista de todas las notas creadas en la base de datos

Services: Nos visualizará una lista con todos los servicios identificados previamente en el host/s registrados en la base de datos

Vulns: Nos permitirá Enumerar todas las vulnerabilidades identificadas previamente en los host/s

Workspace: Nos permitirá tanto crear como cambiar entre espacios de trabajo registrados en la base de datos


Para crear nuestro espacio de trabajo en MSF primero iniciamos los servicios de postgreSQL y msfconsole, de la siguiente manera:


                Inicio de postgreSQL y MSF

Posteriormente en algunos casos la base de datos no viene iniciada en el sistema, esto lo haremos mediante el comando msfdb init 


                      Inicialización de DB “msf3”


     Para crear comenzar a trabajar en un espacio de trabajo dentro de la consola de MSF, primero debemos crear uno mediante el siguiente comando Workspace –a


Comando workspace


Posteriormente para volver a trabajar en el mismo espacio de trabajo, solo se debe indicar el nombre del workspaceworkspace Backtrack_1


1.1.- db_nmap

Teniendo claro cuál será nuestro espacio de trabajo donde iremos recompilando la información que vayamos obteniendo, podemos utilizar el comando db_nmap para ejecutar NMAP dentro de la consola de MSF de manera que nuestros resultados de análisis sean almacenados automáticamente en nuestra base de datos.

Ahora ejecutaremos NMAP con las opciones que normalmente utilizaría desde la línea de comandos. Si deseamos que nuestro análisis se guarde en nuestra base de datos, omitiremos el indicador de salida y usaremos db_nmap.

A continuación utilizaremos db_nmap -sS -sV -O 192.168.200.129 para identificar los servicios, host y sistema operativo:



Uso de nmap desde metasploit


1.2.- Escaneo de puerto (Portscan)

Adicionalmente a Nmap también podemos utilizar los módulos auxiliares para realizar un escaner, para el siguiente caso utilizaremos los payload syn.


Búsqueda de puertos en nmap


A continuación observemos cómo funciona el módulo syn:


Uso de Syn en metasploit


Syn scan: Puede realizar rápidamente un escaneo de miles de puertos por segundo en una red rápida que no se vea obstaculizada por firewalls restrictivos. También es relativamente discreto y sigiloso ya que nunca completa las conexiones TCP. La exploración de SYN trabaja contra cualquier pila de TCP compatible.

Esta técnica se refiere a menudo como escaneado semi-abierto, porque no se abre una conexión TCP completa. Envía un paquete SYN, como si fuera a abrir una conexión real y luego esperar una respuesta

Este módulo nos pedirá ingresar la interfaz de salida “eth1”, puerto a escanear “este caso escaneara los primeros 1000 puertos: 1-1000” y host destino “para este ejemplo será RHOST: 192.168.200.129”

Posteriormente a configurar nuestro payload procedemos a ejecutar “run” de manera que MSF comience a ejecutar el código e ir enumerando mediante el método Syn scan los puertos, identificando en la máquina víctima.


http://www.alunos.di.uminho.pt/~a43175/images/tcp-connect.png

SYN scan

2.- Identificar versión

Además de usar Nmap para realizar análisis de servicios en nuestra red destino, MSF también incluye una gran variedad de escáneres para diversos servicios a menudo nos ayuda a determinar servicios potencialmente vulnerables en máquinas de destino.

Para esta ocasión tenemos smb_version cual nos permitirá identificar el estado del puerto 445


Báscando la versión de smb


Para utilizar smb_version solo debemos ingresar la IP víctima, para este caso se utilizó RHOST: 192.168.200.122


Opciones del auxiliar


Como podemos visualizar en la imagen, smb_version identificó el estado del puerto 445 y adicionalmente permitió identificar que el equipo víctima corresponde Windows 10 Home Single Language, de esta manera nos ayudará a reducir nuestro tiempo y generar nuestros vectores ataque específicos al sistema.


3.- Sniffing de Contraseñas

Un Sniffer es una aplicación de redes informáticas, que nos permitirá capturar los paquetes que viajan en la red, en MSF disponemos de la herramienta Psnuffle un sniffer que nos permitirá, de una manera sencilla capturar datos de los protocolos POP3, IMAP, FTP y HTTP (solo peticiones GET).

Para utilizar Psnuffle buscamos search sniffer:


Búsqueda de sniffers en metasploit

Como podemos visualizar en la siguiente imagen, las opciones que nos ofrece Psnuffle es especificar la interfaz a atacar y definir un filtro de alguna palabra clave a interceptar.


Opciónes de configuración del sniffer

Sin embargo también podríamos realizar una captura de datos mediante la técnica Man In The Middle con la herramienta Wireshark y exportar los resultados analizados en formato PCAP e ingresar la ruta a Psnuffle para que esta realice un barrido en la información e identifique posibles credenciales basadas en alguno de sus protocolos compatibles.

En la siguiente imagen ingresamos la ruta de un análisis de datos extraídos desde Wireshark y favorablemente la herramienta identificó que mediante la red se transmitieron las credenciales de una máquina a un servidor FTP


Opciones del auxiliar

Adicionalmente mediante el comando creds podemos visualizar todas las credenciales obtenidas, para este caso y podemos visualizar la información del servicio FTP 


Credenciales de la víctima



Artículos que te pueden interesar