Ingresar al mundo de Metasploit es dar un paso fundamental como hacker. MSFConsole, la interfaz de línea de comandos de Metasploit, es la puerta de entrada a un vasto conjunto de herramientas de penetración. En este artículo, exploraremos cómo navegar con destreza en MSFConsole, aprovechando su potencia para ejecutar pruebas de seguridad efectivas y fortalecer las defensas digitales.

¿Te gustaría enterarte de cuando lanzamos descuentos al Máximo o Nuevos Cursos?

Metasploit Framework Console (MSFConsole) es una interfaz de línea de comandos (CLI) y la forma principal de interactuar con Metasploit. A algunos usuarios novatos puede resultarles difícil de usar, principalmente aquellos que no están acostumbrados a trabajar con aplicaciones basadas en CLI.

La sintaxis específica del contexto de Metasploit puede resultar confusa al principio, por lo que hemos escrito esta guía para ayudar a explicar los conceptos básicos que necesitará comprender. Una vez que haya aprendido algunos comandos básicos de Metasploit, podrá aprovechar cientos de módulos para escanear sistemas y realizar exploits.

En este artículo, cubriremos:

  • Cómo trabajar con módulos
  • Configurar parámetros
  • Ejecutando exploits y cargas útiles
  • La base de datos PostgreSQL
  • Preguntas frecuentes (FAQ)

¡Vamos a empezar!

Navegación y comandos básicos

En esta guía, ejecutaremos Metasploit Framework en un dispositivo virtual Kali Linux ya que viene precargado (junto con un unos cientos de otras herramientas y utilidades útiles). Metasploit Framework también se puede instalar como una aplicación independiente para otras distribuciones de Linux, macOS y Windows.

Iniciando la consola de Metasploit Framework

Puedes iniciar Metasploit buscandolo desde el menú Aplicaciones.

También puedes iniciar Metasploit en Kali Linux abriendo una consola de terminal (CTRL+ALT+T)  y escribiendo

Podemos dividir este comando en tres partes básicas:

Notara que la ruta es: msf6 post(linux/gather/enum_network) > si es la primera vez que lo habre solo dirá msf6 >. En mi caso aprece asi porque estuve usando metasploit anteriormente.

  1. En primer lugar, el comando sudo se utiliza para elevar los privilegios
  2. A continuación, el comando msfdb init inicializa la base de datos Metasploit PostgreSQL (utilizada para guardar datos de prueba)
  3. Por último, el operador lógico “Y” (&&) le indica que inicie la consola de Metasploit Framework con msfconsole si el comando anterior fue exitoso

Al iniciar, se muestra un banner artístico ASCII cada vez que ejecuta MSFConsole, pero también puede mostrar uno nuevo usando el banner comando:

Si prefiere iniciar MSFConsole sin un banner, hágalo usando el parámetro -q:

Hay varios otros modificadores disponibles para el comando msfconsole, puede usar -h para mostrarlos todos:

El símbolo del sistema variará según la versión de Metasploit que esté utilizando. En las versiones 5 y 6 de Metasploit, al símbolo del sistema de MSFConsole se le añade el número de versión (por ejemplo, “msf5 >” o “msf6 >”), mientras que las versiones anteriores aparecían como “msf >” sin el número de versión.

Desde aquí, puede ingresar comandos para interactuar con la consola.

Obteniendo ayuda

El primer comando con el que debe familiarizarse es help, que muestra una lista de comandos disponibles en MSFConsole:

Para obtener más información sobre un comando específico, puede ejecutar help, seguido del nombre del comando sobre el que desea obtener más información. Por ejemplo, 

help core

Buscando módulos

Hay miles de módulos disponibles en Metasploit. Puede utilizar el comando de búsqueda para reducir esa lista. Al escribir help search o search -h se mostrará una lista completa de opciones disponibles:

A continuación se muestran algunos parámetros de uso común:

  • Nombre (sin parámetros): Si desea lanzar una red amplia, simplemente puede escribir search seguido de una palabra clave. por ejemplo, search portscan
  • CVE: Vulnerabilidades y exposiciones comunes (CVE) es una lista de vulnerabilidades divulgadas públicamente para aplicaciones y bibliotecas de software específicas, cada una con un identificador único o ID de CVE. por ejemplo, search cve:2021-45046
  • Tipo: Limite su búsqueda a tipos de módulos particulares, como módulos auxiliares (es decir, escáneres) o módulos de explotación. por ejemplo, search type:auxiliary mysql

Obtención de información sobre módulos

Una vez que haya identificado un módulo que le interese utilizar, puede utilizar el comando info para obtener más información al respecto:

Cómo utilizar los módulos

Una vez que haya seleccionado un módulo, puede cargarlo con el comando use:

Esto agrega el mensaje con el nombre del módulo en rojo.

Retroceder en módulos

Puedes descargar un módulo usando el comando back:

Salir de MSFConsole

El uso del comando exit cerrará su conexión a MSFConsole y lo devolverá a la terminal

Configurar los parámetros del módulo

Ahora que hemos cubierto cómo buscar y utilizar módulos, explicaremos cómo configurarlos.

Visualización de opciones del módulo

Cada módulo tiene una lista de parámetros u opciones que puede configurar. Algunos de estos son obligatorios y otros son opcionales. 

Después de cargar un módulo con el comando use, puede escribir options (o show options) para mostrar una lista. de parámetros disponibles y sus descripciones:

Si desea verificar el valor de un parámetro específico, puede hacerlo usando el comando get:

Mostrar opciones avanzadas

Para ver las opciones avanzadas que pueden estar disponibles para un módulo determinado, puede utilizar el comando show advanced:

Configuración de los parámetros del módulo

Antes de poder utilizar un módulo para escanear o explotar un objetivo, es necesario configurarlo para su caso de uso específico. Puede utilizar el comando set para actualizar el valor de un parámetro:

Sabemos por la descripción de su parámetro que “RHOSTS” representa la IP del host remoto (léase: destino) (192.168.1.1 en mi laboratorio de pruebas). Puede anular el valor de cualquier valor de parámetro establecido previamente ejecutando el comando set nuevamente o usando el comando unset para borrarlo:

Configuración de variables globales

Notarás que algunos parámetros, como RHOSTS, aparecen una y otra vez en varios módulos. En lugar de ingresar repetidamente el valor de RHOSTS para cada nuevo módulo que cargamos, podemos usar el comando setg (como en “set global”):

En el ejemplo anterior, configuramos el valor global de RHOSTS en “192.168.1.1”, cargamos un nuevo módulo y verificamos el valor de RHOSTS usando el comando get. El resultado verificó que ya estaba configurado con nuestro valor personalizado.

Ejecución de módulos y exploits

Una vez que haya configurado todos los parámetros marcados como “requeridos” para el módulo que ha cargado, puede ejecutarlo usando run o exploit:

Después de ejecutar un exploit, se mostrarán los resultados, lo que le permitirá saber si el módulo se ejecutó correctamente o no.

Buscando cargas útiles

Algunos exploits requieren una carga útil (código adicional utilizado para interactuar con el objetivo). Puede utilizar el comando show payloads para ver las cargas útiles disponibles para su módulo de explotación:

Seleccionar una carga útil

Puedes seleccionar una carga útil usando el comando set payload, usando su nombre o número:

En el ejemplo anterior, hemos configurado el exploit para abrir un shell perl inverso en el objetivo después de comprometer una vulnerabilidad conocida en ese servidor FTP.

Comandos útiles de bases de datos

Como se mencionó anteriormente en esta guía, Metasploit admite el uso de una base de datos PostgreSQL para almacenar información capturada durante una sesión de prueba de penetración.

Nota: Puede ejecutar Metasploit Console sin estar conectado a una base de datos. Sin embargo, algunos comandos que requieren la ejecución de una base de datos (por ejemplo, db_nmap) no se podrán utilizar.

Comprobar el estado de la base de datos

El comando db_status mostrará si la base de datos Metasploit se está ejecutando o no:

Importación y exportación de datos

En algún momento, querrás ingresar y sacar datos de la base de datos de Metasploit. Algunos ejemplos de datos con los que quizás desee trabajar en Metasploit incluyen resultados de análisis de red (por ejemplo, Nmap) y evaluaciones de vulnerabilidad (por ejemplo, Nessus, OpenVAS).

Puedes usar el comando db_import para importar datos a tu base de datos Metasploit y db_export para exportar datos. Para la sintaxis y una lista completa de los tipos de archivos compatibles, puede utilizar el modificador -h (es decir, db_import -h). 

Uso de Nmap junto con su base de datos Metasploit

Metasploit puede ejecutar Nmap contra objetivos y guardar los resultados en la base de datos. Simplemente ejecute db_nmap seguido de cualquier modificador [Nmap] que desee utilizar:

Preguntas frecuentes

¿Cuáles son los diferentes comandos de Metasploit?

A continuación se muestra una hoja de referencia para los comandos más utilizados:

Navegación

Help: 
Muestra una lista de comandos
Search: Buscar un módulo por nombre, CVE, etc.
Use: Carga un módulo por nombre/número
Back: Descarga el módulo actual
Exit: Cierra MSFConsole

Configuración y uso del módulo

Info: Proporciona información útil sobre un módulo
Opcions: Muestra una lista de parámetros para un módulo determinado
Set: Configura un parámetro determinado con un valor especificado valor
Run/Exploit: Ejecuta el módulo

¿Qué comando se utiliza para iniciar Metasploit?

En sistemas Linux y macOS, puede iniciar Metasploit usando el comando msfconsole desde la terminal. En Windows, deberá ejecutar msfconsole.bat desde el símbolo del sistema

¿Cuál es el comando para listar cargas útiles en Metasploit?

Puede utilizar el comando show payloads para mostrar todas las cargas útiles disponibles. Alternativamente, puede usar el comando de búsqueda para filtrar por el tipo de módulo de “carga útil”. Por ejemplo, tipo de búsqueda: carga útil.

¿Qué comando ejecutará un exploit en Metasploit?

Después de cargar un módulo (usar) y configurar sus variables requeridas (conjunto), puede escribir ejecutar o explotar para ejecutar el módulo.

Al llegar al final de esta guía, has desentrañado como moverse con confianza dentro de esta interfaz es esencial para cualquier profesional de ciberseguridad. Recuerda, Metasploit es una herramienta poderosa; úsala con responsabilidad y ética en tus esfuerzos de evaluación de seguridad.

Master en Metasploit. De 0 a Experto con Prácticas.

=================================================================

La herramienta por Excelencia en el Hacking Ético: Metasploit

=================================================================

Con Metasploit puedes realizar todas las fases del Pentesting, es una herramienta sumamente completa. Podrás realizar:

1 – Recopilación de información.

Antes que nada hay que recopilar información sobre el sistema que vamos a atacar, tenemos que conocerlo todo lo que podamos para realizar una auditoría completa, la información lo es todo y cuanta más tengamos más fácil se nos harán los pasos posteriores.

2 – Búsqueda de vulnerabilidades.

Una vez hemos recopilado suficiente información hay que buscar vulnerabilidades. Para ello justamente utilizaremos Metasploit.

3 – Explotación de vulnerabilidades.

Una vez hemos detectado vulnerabilidades, mediante la explotación se “obtiene provecho” de ellas, accediendo al sistema u obteniendo provecho de él.

4 – Post-explotación.

Ésta fase no se da siempre, cómo indica su nombre es lo que se realiza después de la explotación y de haber obtenido acceso. Sería posible hacer una recogida de información a nivel interno para intentar ganar privilegios o realizar otras acciones.

5 – Elaboración de informes

En el caso de un test de penetración real se elaborarán informes que indiquen las vulnerabilidades que se han encontrado y cómo se han explotado..

Hemos creado esta formación profesional donde aprenderás todo lo que necesitas para ser un experto, y con practicas que podrás aplicar en escenarios reales.

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 500.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma.

Y junto a mi compañero Walter Coto donde con él hemos dado formaciones profesionales en conjunto también en la plataforma de Udemy, hoy les traemos esta oportunidad de seguirse formando en hacking ético con la herramienta de Metasploit.

Tendrás acceso de por vida al curso, recibirás actualizaciones y respuestas a tus preguntas a través de la plataforma de Udemy.

Empieza a aprender ya mismo!

Lo que aprenderás

  • Conocimientos básicos para el uso de Metasploit
  • Comandos de Metasploit
  • Fases del Pentesting con Metasploit
  • Hacking Ético con Metasploit
  • Laboratorios reales donde podrá aplicar lo aprendido

La herramienta por Excelencia en el Ethical Hacking es Metasploit, ya que cubre todas las fases del Pentesting: https://achirou.com/metasploit

¿Te gustaría enterarte de cuando lanzamos descuentos al Máximo o Nuevos Cursos?