Configurar y Usar la Base de Datos de Metasploit

Kali LinuxBeginner
Practicar Ahora

Introducción

Metasploit Framework es una potente herramienta utilizada para pruebas de penetración e investigación de seguridad. Si bien se puede usar sin una base de datos, conectarla a una base de datos como PostgreSQL mejora significativamente sus capacidades. Una base de datos le permite almacenar información sobre hosts, servicios descubiertos, vulnerabilidades y evidencia recopilada (loot). Esto hace que la gestión de datos en evaluaciones a gran escala sea mucho más eficiente.

En este laboratorio, aprenderá los pasos fundamentales para configurar y utilizar la base de datos de Metasploit. Inicializará el servicio de base de datos, verificará la conexión y aprenderá a usar espacios de trabajo (workspaces) para mantener sus proyectos organizados.

Inicializar la Base de Datos de Metasploit con msfdb init

En este paso, inicializará la base de datos de Metasploit. Metasploit Framework incluye un script útil llamado msfdb para gestionar la base de datos PostgreSQL. El comando init iniciará el servicio de PostgreSQL, creará una base de datos y un usuario dedicados para Metasploit, y guardará los detalles de conexión para que el framework pueda utilizarlos automáticamente.

Necesita ejecutar este comando con sudo porque gestiona servicios del sistema y crea usuarios de base de datos.

Abra una terminal y ejecute el siguiente comando:

sudo msfdb init

Verá una salida que indica que la base de datos se está inicializando. Este proceso puede tardar un momento. La salida debería ser similar a esta, confirmando que se han creado el usuario de la base de datos, la base de datos y el archivo de configuración.

[+] Starting database
[+] Creating database user 'msf'
[+] Creating database 'msf'
[+] Creating database 'msf_test'
[+] Creating configuration file '/home/labex/.msf4/database.yml'
[+] Creating initial database schema

Este comando solo necesita ejecutarse una vez. Después de esto, la base de datos estará lista para que Metasploit la utilice.

Verificar el Estado de la Conexión a la Base de Datos con db_status

En este paso, verificará que Metasploit está conectado exitosamente a la base de datos que acaba de inicializar. Para hacer esto, primero necesita lanzar la consola de Metasploit Framework, que es la interfaz principal para interactuar con Metasploit.

Lance la consola escribiendo msfconsole en su terminal:

msfconsole

Después de un momento, verá el prompt msf6 >, indicando que la consola está lista.

Ahora, para verificar el estado de la conexión a la base de datos, use el comando db_status dentro de la consola de Metasploit:

db_status

Si la conexión es exitosa, verá un mensaje de confirmación.

[*] postgresql connected to msf

Esto confirma que Metasploit está correctamente conectado a su base de datos y listo para almacenar datos. Por ahora, permaneceremos dentro de msfconsole para los siguientes pasos.

Crear un Nuevo Espacio de Trabajo para un Proyecto

En este paso, aprenderá cómo crear un nuevo espacio de trabajo (workspace). Los espacios de trabajo son una de las características más útiles de la base de datos de Metasploit. Actúan como contenedores separados para sus datos, permitiéndole mantener diferentes compromisos de pruebas de penetración o proyectos completamente aislados entre sí. Por defecto, comienza en un espacio de trabajo llamado default.

Para crear un nuevo espacio de trabajo, utiliza el comando workspace con la opción -a (que significa "add" o "agregar"), seguido del nombre del nuevo espacio de trabajo. Crearemos un espacio de trabajo llamado project_alpha.

Dentro del prompt de msfconsole, ejecute el siguiente comando:

workspace -a project_alpha

Metasploit confirmará que se ha agregado el espacio de trabajo y lo cambiará automáticamente al nuevo espacio de trabajo.

[*] Added workspace: project_alpha
[*] Workspace: project_alpha

Ahora, cualquier dato que recopile —como información de hosts, resultados de escaneos o credenciales— se almacenará dentro del espacio de trabajo project_alpha, manteniéndolo separado del espacio de trabajo default.

Listar Todos los Espacios de Trabajo Disponibles

En este paso, listará todos los espacios de trabajo (workspaces) disponibles en la base de datos. Esto es útil para ver todos sus proyectos actuales e identificar en cuál está trabajando actualmente.

Para listar todos los espacios de trabajo, simplemente ejecute el comando workspace sin ningún argumento.

Dentro del prompt de msfconsole, ejecute el comando:

workspace

La salida mostrará una lista de todos los espacios de trabajo. El espacio de trabajo actual estará marcado con un asterisco (*). Debería ver tanto el espacio de trabajo default como el espacio de trabajo project_alpha que creó en el paso anterior.

  default
* project_alpha

Este comando le proporciona una visión general rápida de sus proyectos y le ayuda a mantener un seguimiento de su contexto actual.

Cambiar Entre Diferentes Espacios de Trabajo

En este paso, aprenderá cómo cambiar entre diferentes espacios de trabajo (workspaces). A medida que trabaje en múltiples proyectos, necesitará cambiar frecuentemente su espacio de trabajo activo para acceder a los datos asociados con un compromiso específico.

Para cambiar a un espacio de trabajo diferente, use el comando workspace seguido del nombre del espacio de trabajo que desea activar. Cambiemos de nuevo al espacio de trabajo default.

Dentro del prompt de msfconsole, ejecute este comando:

workspace default

Metasploit confirmará el cambio con un mensaje.

[*] Workspace: default

Puede verificar el cambio ejecutando nuevamente el comando workspace. Verá que el asterisco (*) ahora está junto a default.

workspace
* default
  project_alpha

Ahora ha cambiado exitosamente su contexto de trabajo. Para salir de la consola de Metasploit y regresar a la terminal normal, escriba exit:

exit

Resumen

¡Felicitaciones por completar este laboratorio! Ha aprendido las habilidades esenciales para administrar la base de datos de Metasploit, que es una parte fundamental para usar el framework de manera efectiva en compromisos profesionales.

En este laboratorio, cubrió:

  • Inicializar la base de datos PostgreSQL para Metasploit usando sudo msfdb init.
  • Iniciar la consola de Metasploit con msfconsole.
  • Verificar la conexión a la base de datos con el comando db_status.
  • Crear nuevos entornos de proyecto aislados usando workspace -a <name>.
  • Listar todos los espacios de trabajo disponibles con el comando workspace.
  • Cambiar entre diferentes espacios de trabajo usando workspace <name>.

El uso adecuado de la base de datos y los espacios de trabajo le ayudará a mantenerse organizado y eficiente durante sus actividades de pruebas de penetración.