Standalone HID Injector

BLEDuck Standalone S3

Aquest projecte converteix una placa ESP32-S3 N16R8 en una potent eina d'auditoria de seguretat. A diferència d'altres projectes, aquest funciona de manera autònoma (Standalone).

✨ Característiques

Interfície Visual

Pantalla OLED SSD1306 amb menú interactiu i efecte lupa per al payload seleccionat.

Navegació Física

Control total mitjançant un Encoder Rotatiu HW-040 (ruleta) per navegar pels fitxers.

Teclat Int.

Configurat per a Espanyol (España) amb suport per a símbols complexos (/, _, {, }, @).

Mode Sigil

Oculta la unitat de disc i la consola sèrie en connectar-se per evitar la detecció.

🛠️ Components Necessaris

Component Model Recomanat
Microcontrolador ESP32-S3 N16R8 (Placa YD-ESP32-S3 amb doble USB-C)
Pantalla OLED 0.96" I2C (SSD1306)
Control Encoder Rotatiu HW-040
Alimentació Bateria LiPo o Powerbank (via pin 5V o USB secundari)

🔌 Diagrama de Connexió (Pinout)

Pin Component Pin ESP32-S3 (GPIO) Ubicació Física
OLED VCC 3V3 Part superior esquerra
OLED GND GND (G) Qualsevol pin G
OLED SCL GPIO 9 Fila esquerra, part inferior
OLED SDA GPIO 8 Fila esquerra, sobre el pin 9
Encoder CLK GPIO 4 Fila esquerra
Encoder DT GPIO 5 Fila esquerra
Encoder SW GPIO 6 Fila esquerra
Encoder + (VCC) 3V3 Part superior esquerra
Encoder GND GND (G) Qualsevol pin G

Nota: El cable USB per a l'atac s'ha de connectar sempre al port USB Natiu (el de l'esquerra a la placa YD-S3).

📂 Estructura de Fitxers

Perquè el sistema funcioni, la unitat CIRCUITPY ha de tenir exactament aquesta organització:

CIRCUITPY/
├── boot.py             # Gestió de sigil i manteniment
├── code.py             # Programa principal i motor HID
├── splash.bin          # Imatge d'inici (86x60 px)
├── payloads/           # Carpeta amb els teus scripts d'atac
│   ├── 01_Notepad.txt
│   ├── 02_WiFi_Telegram.txt
│   └── 03_Linux_Bench.txt
└── lib/
    ├── adafruit_ssd1306.mpy
    ├── keyboard_layout_base.py     # Base de Neradoc
    ├── keyboard_layout_win_es.mpy  # Layout Espanya
    └── adafruit_hid/                # Llibreria Adafruit
        ├── keyboard.mpy
        └── keycode.mpy

🚀 Instal·lació i Configuració

  • Instal·lar CircuitPython: Descarrega el fitxer .bin oficial per a ESP32-S3 i càrrega'l a la teva placa.
  • Copiar Llibreries: Copia els fitxers esmentats a la carpeta lib.
  • Important: Utilitza el keyboard_layout_base.py de Neradoc per assegurar el suport de símbols.
  • Carregar fitxers: Copia el boot.py (sigil) i el code.py (menú i motor HID).

📜 Sintaxi dels Payloads

El motor HID utilitza una sintaxi optimitzada:

Comanda Descripció
TYPE [text] Escriu text literal (suporta ñ i accents).
WAIT [ms] Pausa en mil·lisegons (ex: WAIT 500).
[TECLA] Prem tecla o combinació (ex: ENTER, GUI r).
Exemple.txtDuckScript
WAIT 2000
GUI r
WAIT 500
TYPE notepad
ENTER
WAIT 1000
TYPE Hola món! Aquest Duck parla Català i Espanyol.

🛠️ Ús del Dispositiu

  • Mode Manteniment: Mantén premuda la ruleta en connectar el USB per accedir a la unitat.
  • Selecció: Gira la ruleta per triar el payload (es mostrarà en gran).
  • Armat: Prem la ruleta. La pantalla dirà "ESPERANDO CONEXION".
  • Atac: Connecta al PC víctima. S'injectarà en detectar la connexió.
Finalització: Pantalla "EXITO" i LED verd.

⚖️ Advertiment Ètic

Aquest projecte ha estat creat exclusivament amb finalitats educatives i d'auditoria ètica. L'ús d'aquesta eina per accedir a sistemes sense autorització és il·legal i recau sota la responsabilitat de l'usuari final.