Introducción a Metasploit Framework

   Metasploit es un proyecto de código abierto para la seguridad informática, que proporciona información acerca de vulnerabilidades de seguridad y ayuda en pruebas de penetración ("Pentesting", en inglés) y el desarrollo de firmas para sistemas de detección de intrusos.
  Este programa se ejecuta en Unix (incluyendo Linux y Mac OS X) y en Windows. El Sistema Metasploit se puede extender y es capaz utilizar complementos en varios idiomas.
  Metasploit fue creado por H.D Moore en el 2003, como una herramienta de red portátil usando el lenguaje Perl.
  Este programa se puede utilizar para probar la vulnerabilidad de los sistemas informáticos o entrar en sistemas remotos. Al igual que muchas herramientas de seguridad informática, Metasploit se puede utilizar tanto para actividades legítimas y autorizadas como para actividades ilícitas.
  El subproyecto más conocido de este programa es el Metasploit Framework, una herramienta para desarrollar y ejecutar explotadores contra una máquina remota. Otros subproyectos importantes son las bases de datos de opcodes (códigos de operación), un archivo de shellcodes, e investigación sobre seguridad. Inicialmente fue creado utilizando el lenguaje de programación de guiones Perl aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby.

VENTAJAS

  Algunas de las ventajas más significativas de este programa son:
  •   Amplia base de datos de explotadores: Base de datos actualizada de explotadores, permitiendo el acceso a los métodos más recientes y efectivos de explotación de vulnerabilidades.
  •   Código abierto y comunidad activa: Puesto que es de código abierto, Metasploit Framework cuenta con una comunidad activa que impulsa su desarrollo, mejora continua y rápida adaptación a nuevas amenazas, fomentando el intercambio de conocimientos.
  •   Modularidad y flexibilidad: Este programa posee una arquitectura modular que permite añadir, modificar y personalizar módulos, brindando flexibilidad para distintos escenarios de pruebas de penetración.
  •   Interfaz de usuario intuitiva: Metasploit Framework incluye una línea de comandos (MSFconsole) y una interfaz gráfica (Armitage), facilitando su uso tanto para usuarios principiantes como para expertos.
  •   Educación y formación: Este programa es ampliamente utilizado en programas educativos y formativos de ciberseguridad debido a su versatilidad y poder. Proporciona un entorno práctico para aprender sobre explotación de vulnerabilidades y técnicas de pirateo ético.
  •   Soporte y documentación extensiva: Además de su activa comunidad, la documentación oficial, junto con tutoriales, libros y cursos en línea, facilita el aprendizaje de Metasploit Framework.
  •   Actualizaciones frecuentes: El equipo de desarrolladores de este programa y su comunidad lanzan actualizaciones frecuentes que incluyen nuevos explotadores, módulos y mejoras de seguridad.
  •   Entorno de pruebas seguro: Metasploit Framework incluye el Metasploit Community CTF (Capture the Flag), un entorno de pruebas seguro y controlado donde los usuarios pueden practicar sus habilidades de piratería sin infringir ninguna ley o normativa.

UTILIDADES

  Este programa se suele emplear para:
  •   Pruebas de penetración: Ampliamente utilizado para simular ataques reales en redes y sistemas, lo que permite a los profesionales identificar y remediar vulnerabilidades antes de que puedan ser explotadas por atacantes malintencionados.
  •   Exploración de vulnerabilidades: Identifica vulnerabilidades en aplicaciones y sistemas mediante el uso de una vasta biblioteca de explotadores.
  •   Desarrollo de explotadores: Facilita a los desarrolladores la creación y prueba de nuevos explotadores, contribuyendo a la mejora continua de las defensas cibernéticas.
  •   Pruebas de seguridad continuas: Asegura que las nuevas actualizaciones y parches no introduzcan nuevas vulnerabilidades.
  •   Formación y educación: Herramienta educativa clave en la formación de nuevos profesionales de la ciberseguridad, proporcionando un entorno práctico para aprender y practicar habilidades de piratería ética.

TIPOS DE MÓDULOS

  Este programa posee 6 tipos de módulos:
  •   Auxiliares: Módulos no utilizados para explotar (útiles para obtener información).
  •   Codificadores ("Ecoders", en inglés): Codifican un payload.
  •   Explotadores: Código que explota una vulnerabilidad.
  •   Nops: Generan instrucciones NOP (No OPeration) empleadas por los payloads para ejecutar el código de modo satisfactorio en la memoria.
  •   Cargas útiles ("Payloads", en inglés): Función ejecutada cuando se explota la vulnerabilidad.
  •   Post: Módulos para la post-explotación.

CONFIGURACIÓN INICIAL

  Una vez instalado el Metasploit Framework, se debe crear una estructura de la base de datos, para lo que se debe iniciar el gestor de base de datos (habitualmente PostgreSQL) mediante el comando service postgresql start. Luego se comprueba el estado con el comando service postgresql status (viendo que está activado, pero deshabilitado).
 Para habilitarlo se debe emplear el comando systemctl enable postgresql (para comprobarlo se utiliza de nuevo el comando antes indicado para tal fin).

 Acto seguido, se debe crear una estructura de base de datos mediante el comando msfdb init (si se hace necesario activar la base de datos propia del programa, se utilizará el comando msfdb start).
 Para iniciar el programa, se escribe el comando msfconsole.

  Una vez dentro del programa, se comprueba la conectividad con la base de datos mediante el comando db_status.

COMANDOS BÁSICOS

  Metasploit Framework posee los siguientes comandos básicos propios:
  •   creds: Muestra las credenciales alamcenadas en la base de datos.
  •   db_*:  Serie de comandos que actúan con la base de datos del programa ("*" equivale a la segunda parte del comando):
    • import: Importa archivos (base de datos, espacios de trabajo...) en formato XML, texto plano (txt), o CSV.
    • nmap: Emplea el programa integrado Nmap. Los dispositivos encontrados se añadirán automáticvamente a la base de datos.
    • status: Muestra el estado de la conexión de Metasploit Framework con su base de datos.
  •   exit: Termina el programa. 
  •   hosts: Muestra una lista de anfitriones, que se pueden añadir manualmente (parámetro "-h" para ayuda).
  •   loot: Muestra los volcados de los HASH de los sistemas comprometidos.
  •   msfconsole: Inicia el programa [parámetros generales: "-q" (inhibe el báner), "-x" <nombre de comando> (ejecuta un comando)].
  •   run: Ejecuta un módulo.
  •   search: Busca un módulo del programa que contenga una cadena de texto filtrando por diversos campos (autores, plataformas, tipos...).
  •   Workspace: Crea (o borra) espacios de trabajo, y cambia entre ellos (parámetro "-h" para la ayuda del comando).
Ejemplo de uso de comando search


USAR UN MÓDULO

  Inicialmente, se emplea el comando use <nombre del módulo> para activar el módulo (en este ejemplo, el módulo "1" de la imagen de ejemplo anterior).
  Seguidamente, se puede posicionar como nodo remoto con el comando set <variable> <dirección IP> (o bien setg <variable> <dirección IP>, para que se guarde en la base de datos; en este ejemplo, la variable es "RHOST" y la IP es "192.168.10.55").
  A continuación, se lanza el auxiliar con el comando run (o exploit).

  Puede verse información básica del módulo activo mediante el comando
info.

  Sin embargo, el comando show <opción> permite obtener una información más detallada según la opción elegida:
  •   advanced: Muestra las opciones avanzadas del módulo.
  •   evasion: Muestra una lista con las técnicas de evasión disponibles.
  •   nops: Muestra la lista de los generadores de NOPS.
  •   options: Muestra las opciones definidas del módulo.
  •   payloads: Muestra las cargas útiles que puede utilizar ese módulo.
  •   target: Muestra los objetivos para el módulo.
Ejemplo de comando show options.
  Para desactivar el módulo se usa el comando back.

ARMITAGE

  Armitage es la herramienta gráfica de gestión de ataques cibernéticos para el Proyecto Metasploit que visualiza objetivos y recomienda explotadores. Es una herramienta de seguridad de red libre y de código abierto que destaca por sus contribuciones a la colaboración del equipo rojo que permite: sesiones compartidas, datos y comunicación a través de una única instancia de Metasploit Framework.
  En una distribución de Linux, donde previamente esté instalado Metasploit Framework, se instala con el comando apt install armitage (con el comando sudo antes si no se es administrador), tras haber actualizado los paquetes (comando apt update) y el sistema (comando apt upgrade).
  Una vez instalado, se utiliza el comando armitage para abrir la interfaz gráfica dentro del programa Metasploit Framework. Aparecerá una ventana emergente de conexión (se debe pulsar el botón "Connect").
  Acto seguido, en la siguiente ventana, se pulsa en la opción "Yes".

  Con el programa abierto, se configura en la ruta "Armitage > Set Exploit Rank" la opción "Poor" (más adelante se puede cambiar según necesidades).
  Si no aparecen nodos automáticamente, se puede hacer un escaneo rápido con Nmap en la ruta "Hosts > Nmap Scan > Quick Scan (OS Detect)". Al salir una ventana emergente, se escribe el rango de IPs de la red a escanear y se pulsa en el botón "OK".
  Cuando termine, se verán los nodos de la red en el panel adecuado.
  Después, se buscan los ataques activos en la red en la ruta "Attacks > Find Attacks".
  Al terminar, aparecerá una nueva ventana de confirmación (pulsar botón "OK").
  A partir de aquí, ya se pueden realizar acciones sobre uno o varios equipos de la red detectada (los iconos del equipo seleccionado y afectado cambiarán).
Ejemplo de PC durante un ataque de explotador.

  Espero que la presente entrada haya sido interesante para el lector; si es así, aguardo que éste la comente y/o la comparta, por favor.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.