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.


