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.pyde Neradoc per assegurar el suport de símbols. - Carregar fitxers: Copia el
boot.py(sigil) i elcode.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). |
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ó.
⚖️ 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.