
Un keylogger USB basato su ESP32-S3 con wifi, facile da realizzare in fai-da-te con hardware ampiamente disponibile.

DuckLogger è un Key Logger USB basato su ESP32-S3. Registra le sequenze di tasti in un file di testo e fornisce accesso wireless per scaricare i log tramite un punto di accesso Wi-Fi integrato. Ricreare questo progetto non richiede alcun PCB personalizzato. L'hardware utilizzato costa in totale meno di 10 $ su siti come Aliexpress.

Accedi all'interfaccia web all'indirizzo:
http://192.168.4.1/
(In modalità Punto di accesso)


| ESP32-S3 | CH9350 |
|---|---|
| 5V | 5V |
| GND | GND |
| GP1 | TX |
| GP2 | RX |
Il CH9350 supporta diverse modalità operative, configurate tramite i dip switch integrati.

Imposta S0 sulla posizione GND (0) e mantieni tutti gli altri interruttori nella posizione opposta (1). Questo abilita la modalità Host USB, che converte gli input della tastiera USB in dati seriali inviati tramite UART a una velocità di default di 115200 baud.
DuckLogger è scritto in MicroPython. Esegui il flashing della tua scheda con il firmware MicroPython. Trova le istruzioni per il flashing qui.
Dopo il flashing, scollega e ricollega la scheda tramite USB.
git clone https://github.com/Itsmmdoha/duckLogger.git
cd duckLogger
Assicurati che la scheda sia collegata tramite USB, poi esegui:
python flasher.py
Il flasher automaticamente:
mpremote e i pacchetti MicroPython richiesti sulla schedaindex.html e copierà tutti i file sulla schedaCollega la tastiera USB al modulo HID CH9350.
Collega l'ESP32-S3 SuperMini al PC target usando un cavo USB-C verso USB-A.
Il dispositivo automaticamente:
Se in modalità Punto di accesso (predefinita), connettiti al punto di accesso Wi-Fi (Password predefinita: duckPass1234) e apri:
http://192.168.4.1/
Per accedere al centro di comando e controllo.
DuckLogger supporta attualmente un insieme base di comandi DuckyScript per l'iniezione di payload:
.
├── flasher.py
├── index.html
├── lib
│ ├── access_point.py
│ ├── api.py
│ ├── duckyscript.py
│ ├── keyboard.py
│ ├── key_led.py
│ ├── logger.py
│ ├── mapper.py
│ ├── microdot
│ │ ├── helpers.py
│ │ ├── __init__.py
│ │ ├── microdot.py
│ │ └── websocket.py
│ ├── queue.py
│ ├── settings.py
│ ├── uart_buffer.py
│ ├── wifi.py
│ └── wifi_radio.py
├── LICENSE
├── main.py
├── README.md
├── resources.md
└── settings.json
Questo progetto include Microdot di Miguel Grinberg (Licenza MIT):
https://github.com/miguelgrinberg/microdot
| Comando | Descrizione | Esempio |
|---|
DELAY | Mette in pausa l'esecuzione per un numero specificato di millisecondi. | DELAY 500 |
STRING | Digita una sequenza di caratteri esattamente come scritto. | STRING Hello, World! |
| Combinazioni di Tasti | Invia sequenze di tasti simultanee. | CTRL SHIFT ESC o ALT i |
| Singoli Tasti | Invia singoli tasti speciali. | ENTER o TAB |