Conceptos Básicos de Navegación en la Consola Metasploit

LinuxBeginner
Practicar Ahora

Introducción

¡Bienvenido al mundo de Metasploit! El Metasploit Framework es una herramienta poderosa utilizada por profesionales de la seguridad para pruebas de penetración y evaluación de vulnerabilidades. En su núcleo se encuentra la Consola Metasploit, o msfconsole, una interfaz de línea de comandos interactiva que le brinda acceso a la vasta gama de módulos, exploits y payloads del framework.

En este laboratorio, aprenderá los comandos esenciales para navegar por msfconsole. Dominar estos conceptos básicos es el primer paso para utilizar Metasploit de manera efectiva. Cubriremos cómo obtener ayuda, administrar sus proyectos con espacios de trabajo (workspaces), buscar módulos, ver información detallada sobre ellos y salir correctamente de la consola.

Comencemos iniciando la consola.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 95%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Explore Comandos Centrales con el Comando help

En este paso, iniciará la Consola Metasploit y utilizará el comando help para explorar los comandos disponibles. El comando help es su recurso más valioso cuando no está seguro de lo que hace un comando o de qué comandos están disponibles.

Primero, iniciemos la Consola Metasploit. Usaremos la bandera -q (quiet/silencioso) para omitir el banner de inicio y obtener una interfaz más limpia.

Ejecute el siguiente comando en su terminal:

msfconsole -q

Notará que el prompt de su comando cambia a msf >, lo que indica que ahora se encuentra dentro de la Consola Metasploit.

Ahora, usemos el comando help para ver una lista de todos los comandos disponibles.

help

Verá una larga lista de comandos, categorizados para una navegación más fácil.

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Help menu
    banner        Display an awesome metasploit banner
    cd            Change the current working directory
    color         Toggle color output
    connect       Communicate with a host
    ...

Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Displays advanced options for a module
    back          Move back from the current context
    info          Displays information about a module
    ...

También puede obtener ayuda detallada para un comando específico. Por ejemplo, para obtener más información sobre el comando search, puede escribir help search.

help search

Esto mostrará la sintaxis y las opciones para el comando search.

Usage: search [options] <keywords>

Search for modules, plugins, and other framework objects.

OPTIONS:

    -h, --help             Help banner.
    -o <file>, --output <file>  Send output to a file in csv format.
    -S <string>, --search <string>  Search string for row filtering.
    -t <type>, --type <type>  The type of module to search for (exploit, payload, auxiliary, etc)
...

Siéntase libre de explorar otros comandos usando help antes de pasar al siguiente paso.

Visualizar la Gestión de Espacios de Trabajo con el Comando workspace

En este paso, aprenderá sobre los espacios de trabajo (workspaces). Los espacios de trabajo son una forma de organizar su trabajo en Metasploit. Cada espacio de trabajo es un entorno autónomo que almacena información sobre hosts, servicios, vulnerabilidades y botín (loot) para una evaluación específica. Esto es increíblemente útil para mantener separados diferentes proyectos de pruebas de penetración.

Por defecto, usted se encuentra en el espacio de trabajo default. Puede ver los espacios de trabajo actuales y disponibles utilizando el comando workspace.

workspace

La salida le mostrará los espacios de trabajo disponibles, con un asterisco * indicando aquel en el que se encuentra actualmente.

* default

Creemos un nuevo espacio de trabajo para nuestro proyecto. Lo nombraremos myproject. La bandera -a se utiliza para añadir un nuevo espacio de trabajo.

workspace -a myproject

Metasploit confirmará la creación y lo cambiará automáticamente al nuevo espacio de trabajo.

[*] Added workspace: myproject
[*] Workspace: myproject

Ahora, si lista los espacios de trabajo nuevamente, verá tanto default como myproject, siendo myproject el activo.

workspace
  default
* myproject

Todas las acciones subsiguientes, como escanear hosts o recopilar datos, se guardarán ahora dentro del espacio de trabajo myproject.

En este paso, aprenderá a encontrar módulos utilizando el comando search. El Metasploit Framework contiene miles de módulos, que son los componentes centrales que utilizará para realizar acciones. Estos incluyen exploits, escáneres auxiliares (auxiliary scanners), payloads y más. El comando search es esencial para encontrar la herramienta adecuada para el trabajo.

Puede buscar módulos basándose en palabras clave. Por ejemplo, busquemos módulos relacionados con smb (Server Message Block), un protocolo de red común.

search smb

La salida será una larga lista de módulos coincidentes. Los resultados se muestran en una tabla con varias columnas:

  • #: El número de índice del resultado.
  • Name: La ruta completa y el nombre del módulo.
  • Disclosure Date: La fecha en que la vulnerabilidad fue divulgada públicamente.
  • Rank: La fiabilidad del exploit, desde low (bajo) hasta excellent (excelente).
  • Check: Indica si el módulo tiene un método check para probar de forma segura la vulnerabilidad.
  • Description: Un breve resumen de lo que hace el módulo.
Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   auxiliary/admin/smb/impacket/secretsdump  2021-11-09       normal     No     SMB Secrets Dump
   1   auxiliary/admin/smb/psexec_ntdsgrab       2021-11-09       normal     No     PsExec NTDSGRAB
   ...
   58  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average    Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   ...

Puede refinar su búsqueda utilizando palabras clave como type, platform, name, etc. Por ejemplo, para encontrar solo módulos de tipo exploit para la plataforma windows relacionados con smb, puede usar el siguiente comando:

search type:exploit platform:windows smb

Esto le proporcionará una lista de resultados mucho más enfocada, facilitando la localización del exploit específico que necesita.

Mostrar Información del Módulo con el Comando info

En este paso, aprenderá a obtener información detallada sobre un módulo específico utilizando los comandos use e info. Después de encontrar un módulo prometedor con search, necesita comprender qué hace, qué opciones requiere y a qué objetivos afecta.

Primero, debe seleccionar un módulo con el que trabajar. Esto se hace con el comando use, seguido del nombre completo del módulo obtenido de los resultados de la búsqueda. Seleccionemos el famoso exploit eternalblue.

use exploit/windows/smb/ms17_010_eternalblue

Observe que su prompt (indicador de línea de comandos) cambia. Ahora incluye el nombre del módulo activo, lo que indica que se encuentra en su contexto.

msf exploit(windows/smb/ms17_010_eternalblue) >

Ahora que se ha seleccionado un módulo, puede obtener información detallada sobre él utilizando el comando info.

info

Este comando muestra una visión general completa del módulo, incluyendo:

  • Name (Nombre), Module (Módulo), Platform (Plataforma), Arch (Arquitectura)
  • Privileged: Si requiere permisos especiales.
  • License (Licencia) y Rank (Rango)
  • Provided by: Los autores del módulo.
  • Available targets: Los sistemas operativos o aplicaciones específicos a los que puede dirigirse.
  • Basic options: Los parámetros que necesita configurar, como la dirección IP del objetivo (RHOSTS).
  • Payload information: Los tipos de payloads que puede entregar.
  • Description: Una explicación detallada de la vulnerabilidad.
  • References: Enlaces a avisos y artículos (CVE, BID, etc.).
       Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
     Module: exploit/windows/smb/ms17_010_eternalblue
   Platform: Windows
       Arch: x86, x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Average
...

Basic options:
  Name      Current Setting  Required  Description
  ----      ---------------  --------  -----------
  RHOSTS                     yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT     445              yes       The target port (TCP)
  SMBDomain .                no        (Optional) The Windows domain to use for authentication
...

Revisar esta información es un paso crítico antes de intentar ejecutar cualquier exploit.

Salir de la Consola con el Comando exit

En este paso final, aprenderá a salir correctamente de la Consola Metasploit. Aunque puede cerrar la ventana de la terminal o usar Ctrl+C, la forma recomendada de abandonar msfconsole es utilizando el comando exit.

Esto asegura que el framework se apague de manera controlada (gracefully), deteniendo cualquier trabajo en ejecución y guardando el estado actual.

Antes de salir, puede regresar al prompt principal de msfconsole desde el contexto de un módulo utilizando el comando back.

back

Su prompt volverá al estándar msf >.

Ahora, para salir completamente de la consola, simplemente escriba exit.

exit

Verá un mensaje de apagado y será devuelto a su prompt de shell del sistema habitual.

labex:project$

Esto concluye nuestro recorrido básico por la navegación de la Consola Metasploit.

Resumen

¡Felicidades! Ha completado con éxito este laboratorio sobre los conceptos básicos de navegación de la Consola Metasploit.

En este laboratorio, aprendió a realizar las operaciones más fundamentales dentro de msfconsole:

  • Iniciar la consola y usar el comando help para descubrir y aprender sobre otros comandos.
  • Organizar sus proyectos utilizando el comando workspace para crear y gestionar entornos separados.
  • Encontrar módulos para cualquier tarea con el potente comando search y sus filtros.
  • Examinar los detalles, opciones y objetivos de un módulo con el comando info.
  • Apagar el framework correctamente utilizando el comando exit.

Estos comandos son la base sobre la cual se construirá todo su trabajo futuro en Metasploit. Con este conocimiento, ahora está listo para explorar temas más avanzados, como la configuración y ejecución de módulos.