eJPT
  • 👋Welcome
  • Tools
    • 🔭Escaneo y Enumeración
  • SECTION 1: Assessment Methodologies
    • Assessment Methodologies: Information Gathering
      • Introducción a la Recopilación de Información
        • Start Quiz
      • Passive Information Gathering
      • Active Information Gathering
    • Assessment Methodologies: Footprinting & Scanning
      • Introduction
      • Networking Primer
      • Host Discovery
      • Port Scanning
      • Evasion, Scan Performance & Output
      • Page
      • Challenges
    • Assessment Methodologies: Enumeration
      • Overview
      • SMB Lesson
      • FTP Lesson
      • SSH Lesson
      • HTTP Lesson
      • SQL Lesson
    • Assessment Methodologies: Vulnerability Assessment
      • Vulnerability Assessment
      • Course Labs
  • SECTION 2: Host & Networking Auditing
    • Assessment Methodologies: Auditing Fundamentals
      • Assessment Methodologies
      • Practice
  • SECTION 3: Host & Network Penetration Testing
    • Host & Network Penetration Testing: System/Host Based Attacks
      • Introduction to Attacks
      • Windows Vulnerabilities
      • Exploiting Windows Vulnerabilities
      • Windows Privilege Escalation
      • Windows File System Vulnerabilities
      • Windows Credential Dumping
      • Linux Vulnerabilities
      • Exploiting Linux Vulnerabilities
      • Linux Privilege Escalation
      • Linux Credential Dumping
      • Conclusion
    • Host & Network Penetration Testing: Network-Based Attacks
      • Network-Based Attacks
    • Host & Network Penetration Testing: The Metasploit Framework (MSF)
      • Metasploit
        • Metasploit Fundamentals
      • Information Gathering & Enumeration
        • Nmap
        • Enumeration
      • Vulnerability Scanning
        • MSF
        • Nessus
        • Web Apps
      • Client-Side Attacks
        • Payloads
        • Automating
      • Exploitation
        • Windows Exploitation
        • Linux Exploitation
        • Post Exploitation Fundamentals
        • Windows Post Exploitation
        • Linux Post Exploitation
      • Armitage
        • Metasploit GUIs
    • Host & Network Penetration Testing: Exploitation
      • Introduction To Exploitation
      • Vulnerability Scanning Overview
      • Exploits
        • Searching For Exploits
        • Fixing Exploits
      • Shells
      • Frameworks
      • Windows
      • Linux
      • Obfuscation
    • Host & Network Penetration Testing: Post-Exploitation
      • Introduction
      • Windows Enumeration
      • Linux Enumeration
      • Transferring Files
      • Shells
      • Escalation
        • Windows Privilege Escalation
        • Linux Privilege Escalation
      • Persistence
        • Windows Persistence
        • Linux Persistence
      • Dumping & Cracking
        • Windows Password Hashes
        • Linux Password Hashes
      • Pivoting Lesson
      • Clearing
  • Host & Network Penetration Testing: Social Engineering
    • Social Engineering
  • SECTION 4: Web Application Penetration Testing
    • Introduction to the Web & HTTP Protocol
      • Web Applications
      • HTTP Protocol
        • HTTP/S Protocol Fundamentals
        • Website Crawling & Spidering
Powered by GitBook
On this page
  • Introduction To The Metasploit Framework
  • The Metasploit Framework (MSF)
  • History of The Metasploit Framework
  • Metasploit Editions
  • Essential Terminology
  • Metasploit Framework Interfaces
  • Metasploit Framework CLI
  • Metasploit Community Edition
  • Armitage
  • Quiz: Introduction to the Metasploit Framework
  • Metasploit Framework Architecture
  • MSF Modules
  • MSF Payload Types
  • Stagers & Stages
  • Meterpreter Payload
  • MSF File System Structure
  • MSF Module Locations
  • Demo: MSF File System Structure
  • Quiz: Metasploit Framework Architecture
  • Penetration Testing With The Metasploit Framework
  • Penetration Testing Execution Standard
  • Penetration Testing Phases
  • Penetration Testing With MSF
  • Quiz: Penetration Testing With The Metasploit Framework
  1. SECTION 3: Host & Network Penetration Testing
  2. Host & Network Penetration Testing: The Metasploit Framework (MSF)

Metasploit

Introduction To The Metasploit Framework

The Metasploit Framework (MSF)

What is the Metasploit Framework?

Metasploit Framework (MSF) es un Framework de explotación y pruebas de penetración robusto y de código abierto que utilizan los evaluadores de penetración e investigadores de seguridad de todo el mundo. En los ultimos tiempo tambien se observo que MSF es utlizado por los desarrolladores.

Proporciona a los penetration tester con una infraestructura robusta necesaria para automatizar cada etapa del ciclo de vida de penetration testing.

También se utiliza para desarrollar y probar exploits y tiene una de las bases de datos de exploits públicos probados más grandes del mundo.

Metasploit Framework está diseñado para ser modular, lo que permite implementar nuevas funciones con facilidad.

El código fuente de Metasploit Framework (MSF) está disponible en GitHub.

Los desarrolladores agregan constantemente nuevos exploits al framework.

History of The Metasploit Framework

  • Developed by (Investigador de seguridad) HD Moore in 2003

  • Originally developed in Perl

  • Rewritten in Ruby in 2007

  • Acquired by Rapid7 in 2009

  • Metasploit 5.0 released in 2019

  • Metasploit 6.0 released in 2020

Metasploit Editions

  • Metasploit Pro (Commercial)

  • Metasploit Express (Commercial)

  • Metasploit Framework (Community)

Essential Terminology

  • Interface - Métodos de interacción con Metasploit Framework. Ejemplos: Metasploit console, CLI, etc

  • Module - Piezas de código que realizan una tarea particular; un ejemplo de módulo es un exploit.

  • Vulnerability - Debilidad o falla en un sistema informático o red que puede explotarse.

  • Exploit - Pieza(fragmento) de código/módulo que se utiliza para aprovechar una vulnerabilidad dentro de un sistema, servicio o aplicación.

  • Payload - Pieza de código entregado al sistema de destino mediante un exploit con el objetivo de ejecutar comandos arbitrarios o proporcionar acceso remoto a un atacante.

  • Listener - Una utilidad que escucha una conexión entrante desde un destino.

Metasploit Framework Interfaces

Metasploit Framework Console (MSFconsole) es una interfaz todo en uno fácil de usar que le brinda acceso a todas las funciones de Metasploit Framework.

Metasploit Framework CLI

  • La interfaz de línea de comandos de Metasploit Framework (MSFcli) es una utilidad de línea de comandos que se utiliza para facilitar la creación de scripts de automatización que utilizan módulos Metasploit.

  • Se puede utilizar para redirigir la salida de otras herramientas a msfcli y viceversa.

Nota: MSFcli se suspendió en 2015; sin embargo, se puede aprovechar la misma funcionalidad a través de MSFconsole.

Metasploit Community Edition

Metasploit Community Edition es una interfaz gráfica de usuario basada en web para Metasploit Framework que simplifica el descubrimiento de redes y la identificación de vulnerabilidades.

Armitage

Armitage es una interfaz gráfica de usuario gratuita basada en Java para Metasploit Framework que simplifica el descubrimiento, la explotación y la posexplotación de la red. Es mas fácil usar este tipo de herramienta para utilizar meterpreter o el modo interprete.

Quiz: Introduction to the Metasploit Framework

Metasploit Framework Architecture

El siguiente diagrama muestra una descripción general del marco de Metasploit y destaca esencialmente los diversos componentes que componente el framework de Metasploit

  • Un módulo en el contexto de MSF, es un fragmento de código que puede ser utilizado por MSF. La misma se clasifica en las siguientes categorias.

    • Modulo de explotacion

    • Modulo de payload

    • Modulo de codificadores

    • Modulo de mandos

    • Modulos auxiliares

  • Las Librerias de MSF facilitan la ejecución de módulos sin tener que escribir el código necesario para ejecutarlos. Son como objetos compartidos en Linux o DLL en Windows, por lo que nos permite ampliar la funcionalidad o contener el codigo necesario para ampliar la funcionalidad o esencialmente para iniciar la funcionalidad como crear un scket tcp, etc.

MSF Modules

Exploit: Módulo que se utiliza para aprovechar la vulnerabilidad y es normalmente emparejado con un payload.

Payload: Código entregado por MSF y ejecutado de forma remota en el objetivo después de una explotación exitosa. Un ejemplo de payload es un reverse shell que inicia una conexión desde el sistema objetivo hasta el atacante.

Encoder: Se utiliza para codificar payloads para evitar la detección de AV. Por ejemplo, shikata_ga_nai se utiliza para codificar payload de Windows.

NOPS: Se utiliza para garantizar que los tamaños de los payloads sean consistentes y garantizar la Estabilidad del payload cuando se ejecuta.

Auxiliary: Un módulo que se utiliza para realizar funciones adicionales como escaneo y enumeración de puertos. No es un modulo que se pueda enparejar con una carga util.

MSF Payload Types

Cuando trabaja con exploits, MSF le proporciona dos tipos de payload que se puede combinar con un exploit:

El tipo de payload que utilizara dependera del sistema destino y la infraestructura de destino asi como sus requisitos.

  1. Non-Staged Payload: Payload que se envía al sistema de destino tal cual con todo el conjunto con el exploit.

  2. Staged Payload: Un stage payload se envía al objetivo en dos partes o en partes, por lo cual:

    La primera parte (conocida como stager) contiene un payload que se utiliza para establecer un conexión inversa con el atacante, luego descargara la segunda parte del payload ( que se conoce como stage) y va ejecutarla.

El payload es responsable de ejecutar comandos arbitrarios en el sistema destino o para proporcionarnos por ejemplo un revers shell o una sesion meterpreter

Stagers & Stages

  1. Stagers: Los stagers se utilizan normalmente para establecer un canal de comunicación estable entre el atacante y el objetivo, después del cual se descarga y ejecuta un payload en el sistema de destino. El payload es responsable de proporcionarnos un revers shell o una sesion meterpreter.

  2. Stage: Componentes de payload que descarga el stager.

Meterpreter Payload

El payload del Meterpreter (la palabra viene de Meta-Interpreter) es una payload multifuncional avanzada que se ejecuta en la memoria del sistema de destino, lo que dificulta su detección.

Se comunica a través de un stager socket y proporciona al atacante un intérprete de comandos interactivo en el sistema de destino que facilita la ejecución de comandos del sistema, la navegación del sistema de archivos, el registro de teclas y mucho más. Por lo tanto, esencialmente proporciona a un atacante un revers shell realmente interactivo en el sistema destino. El atacante puede usar la sesion meterpreter para navegar por el sistema de archivos para descargar o cargar archivos desde el objetivo, ejecutar comandos arbitrarios en el objetivo, como lo comentado en el parrafo anterior, padra navegar por el sistema de archivos, para realizar la explotacion posterior, escalada de privilegios, extraer hashes, etc.

MSF File System Structure

El sistema de archivos MSF está organizado en un formato simple y fácil de entender y está organizado en varios directorios.

Para acceder al directorio de Metasploit desde LNX, debera de dirigirse a:

/usr/share/metasploit-framework

MSF Module Locations

MSF almacena módulos en el siguiente directorio en sistemas Linux:

/usr/share/metasploit-framework/modules 

Los módulos personalizados o especificados por el usuario se almacenan en el siguiente directorio en los sistemas Linux: (~ home)

~/ms4/módulos

Demo: MSF File System Structure

# Directorio de almacenamiento predeterminado
/usr/share/metasploit-framework/

# Los diversos modulos que tiene metasploit lo podra encontrar en 
./modules

# Dentro de los modulos encontrar todos los descritos en las diapositivas.
# Ingresaremos a "auxiliary"
./modules/auxiliary
# Enontrar todas las tareas y funcionalidaddes que ofrecen
# Ejm: Si estamos recopilando "enumeracion" informacion en scanners 
# La misma se ordena segun el tipo que se este utilizando en donde ecnontrara
# diferentes Modulos de Metasploit asociados con el descubrimiento.
# 

# Los modulos de explotacion se ordenan segun el sistema operativo destino
# En la siguiente ruta encontrara (android, appleios, linux, solaris, Windows)
./modules/exploits
# Cuando ingrese a un sistema operativo, podra encontrar el servicio o el tipo 
# de vulnerabilidad, como tambien podra encontrar programas osociados al sitema 
# operativo.

# SI DESEA CARGAR SUS PROPIOS MODULOS PERSONALIZADOS
# 1. Desde la UI (Explorar de archivos) debera de habilitar "Mostrar archivos ocultos"
# 2. Ingresar a /home/User/.msf4/modulos
En ese directorio puede personalizar los modulos propios y ordenarlo segun el sistema operativo, progrma, servicio


Quiz: Metasploit Framework Architecture

Penetration Testing With The Metasploit Framework

El MSF se puede utilizar para realizar y automatizar diversas tareas que se incluyen en el ciclo de vida de las pruebas de penetración.

Para comprender cómo podemos aprovechar MS para las pruebas de penetración, debemos explorar las distintas fases de una prueba de penetración y sus respectivas técnicas y objetivos.

Podemos adoptar el PTES (Penetration Testing Execution Standard - Estándar de ejecución de pruebas de penetración) como hoja de ruta para comprender las diversas fases que componen una prueba de penetración y cómo se puede integrar Metasploit en cada fase.

Penetration Testing Execution Standard

El Penetration Testing Execution Standard (PTES) es una metodología de pruebas de penetración desarrollada por un equipo de profesionales de seguridad de la información con el objetivo de abordar la necesidad de un estándar completo y actualizado para las pruebas de penetración. MS se puede integrar a cada una de las fases de la motodologia.

Penetration Testing Phases

El siguiente diagrama describe las distintas fases involucradas en una prueba de penetración típica.

Penetration Testing With MSF

Penetration Testing Phase
Metasploit Framework Implementation

Information Gathering & Enumeration

Auxiliary Modules

Vulnerability Scanning

Auxiliary Modules Nessus

Exploitation

Exploit Modules & Payloads

Post Exploitation

Meterpreter

Privilege Escalation

Post Exploitation Modules Meterpreter

Maintaining Persistent Access

Post Exploitation Modules Persistence

Quiz: Penetration Testing With The Metasploit Framework

PreviousHost & Network Penetration Testing: The Metasploit Framework (MSF)NextMetasploit Fundamentals

Last updated 1 year ago

La metodologia se encuentra en GITLAB