Rubber Ducky
Guia Completa
De la introducció a la implementació de payloads avançats
Part I: Introducció
Què és el Rubber Ducky?
És un dispositiu USB que simula ser un emmagatzematge però en realitat és un HID (Human Interface Device). Actua com un teclat.
La seva funció principal és executar un payload (càrrega útil) que, de forma automàtica, simula les pulsacions de tecles d'un usuari. La versió de 2022 incorpora connectors USB A + USB C.
[IMATGE 1: Fotografia del dispositiu Rubber Ducky on es vegin els dos connectors, l'A i el C]
Components del dispositiu
- Microprocessador.
- Lector de targetes Micro SD.
- Port USB tipus A.
- Port USB tipus C.
- Botó de reseteig / canvi de funció.
- Indicador LED.
- Carcassa que simula ser un USB convencional.
[IMATGE 2: Diagrama o foto del dispositiu obert amb fletxes apuntant als components]
Estats del LED
Verd estable
El dispositiu està ociós (en espera).
Verd parpellejant
S'està executant un payload.
Vermell (Error)
Problema de lectura, falta de inject.bin o format incorrecte.
Funcionament i Codificació
Conceptes clau:
- Payload: La tasca o seqüència que hem programat.
- DuckyScript: El llenguatge imperatiu emprat per escriure els payloads.
- Duck Encoder: L'eina que compila el DuckyScript a un fitxer binari anomenat
inject.bin. - Firmware: El sistema intern que processa el fitxer binari.
Procés de Codificació
S'utilitza un editor de text per escriure el DuckyScript. S'executa l'eina de codificació
indicant el fitxer i la configuració del teclat (mapeig segons idioma). El resultat es guarda
com inject.bin a l'arrel de la Micro SD.
Mapejos de teclat i Firmware
PayloadStudio Community no permet canviar mapejos (es requereix versió PRO). Existeixen alternatives com JS Encoder que suporten mapejos a mida. El firmware és obert, però canviar-lo pot invalidar la garantia.
Part II: DuckyScript
Introducció a la sintaxi
Basada en el llenguage BASIC. Els comandaments s'han d'introduir en MAJÚSCULES.
REM: Indica que la línia és un comentari.
Comandaments Principals
- ATTACKMODE: Configura el mode (HID, STORAGE, OFF).
- DELAY: Provoca un retard en mil·lisegons (ex.
DELAY 2000). - STRING / STRINGLN: Tecleja text (STRINGLN prem ENTER al final).
- GUI / WINDOWS: Prem la tecla de sistema (sovint usada amb
r).
Exemple pràctic de codi
Objectiu: Llançar un PowerShell, escriure-hi i tancar-lo.
GUI r
DELAY 500
REM Obre powershell
STRING powershell
ENTER
DELAY 1000
REM Escriu missatge
STRINGLN Write-Host "Hola!!!"
REM Tanca finestra
ALT F4
Part III: Implementació d'un Keylogger
El Rubber Ducky no llegeix l'entrada directament; deleguem en un programa extern com un script de PowerShell descarregat en el moment de l'atac.
Procés d'Atac
- Llançament de PowerShell minimitzat (
-WindowStyle hidden). - Descàrrega via
Net.WebClientdes d'una URL (ex: GitHub Gist). - Execució del script .ps1.
Versions com la de Cosmodium CS incorporen el keylogger internament, intenten deshabilitar Windows Defender i envien els logs per correu electrònic automàticament.
Resum Final
El Rubber Ducky és una eina extremadament poderosa per a l'auditoria física. La seva simplicitat i efectivitat recorden que la seguretat del maquinari és tan vital com la de la xarxa.