Dispositius HID Ofensius

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.

Connectors Rubber Ducky

[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.
Diagrama Components Rubber Ducky

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

Estats LED Rubber Ducky

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.
Flux de treball Rubber Ducky

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.

REM Obre la finestra Executar
GUI r
DELAY 500
REM Obre powershell
STRING powershell
ENTER
DELAY 1000
REM Escriu missatge
STRINGLN Write-Host "Hola!!!"
REM Tanca finestra
ALT F4
Exemple de Codi DuckyScript

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

  1. Llançament de PowerShell minimitzat (-WindowStyle hidden).
  2. Descàrrega via Net.WebClient des d'una URL (ex: GitHub Gist).
  3. Execució del script .ps1.
Flux de Keylogger
Millores Avançades

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.