
Um keylogger USB baseado em ESP32-S3 com Wi-Fi, fácil de fazer você mesmo com hardware amplamente disponível.

DuckLogger é um registrador de teclas USB baseado em ESP32-S3. Ele registra as teclas digitadas em um arquivo de texto e fornece acesso sem fio para baixar os logs através de um ponto de acesso Wi-Fi integrado. Recriar este projeto não requer nenhuma PCB personalizada. O hardware usado aqui custa menos de US$ 10 no total em lugares como Aliexpress.

Acesse a interface web em:
http://192.168.4.1/
(Quando no modo Ponto de Acesso)


| ESP32-S3 | CH9350 |
|---|---|
| 5V | 5V |
| GND | GND |
| GP1 | TX |
| GP2 | RX |
O CH9350 suporta vários modos de operação, que são configurados usando os interruptores DIP onboard.

Coloque S0 na posição GND (0) e mantenha todos os outros interruptores na posição oposta (1). Isso ativa o Modo Host USB, que converte as entradas do teclado USB em dados seriais enviados via UART a uma taxa de transmissão padrão de 115200.
O DuckLogger é escrito em MicroPython. Grave seu dispositivo com o firmware MicroPython. Encontre instruções de gravação aqui.
Após a gravação, desconecte e reconecte o dispositivo via USB.
git clone https://github.com/Itsmmdoha/duckLogger.git
cd duckLogger
Certifique-se de que seu dispositivo está conectado via USB e então execute:
python flasher.py
O flasher automaticamente:
mpremote e os pacotes MicroPython necessários no dispositivoindex.html e copia todos os arquivos para o dispositivoConecte o teclado USB ao módulo CH9350 HID.
Conecte o ESP32-S3 SuperMini ao PC alvo usando um cabo USB-C para USB-A.
O dispositivo automaticamente:
Se estiver no modo Ponto de Acesso (padrão), conecte-se ao Ponto de Acesso Wi-Fi (Senha Padrão: duckPass1234) e abra:
http://192.168.4.1/
Para acessar o centro de comando e controle.
O DuckLogger atualmente suporta um conjunto principal de comandos DuckyScript para injeção de payloads:
.
├── 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
Este projeto inclui Microdot por Miguel Grinberg (Licença MIT):
https://github.com/miguelgrinberg/microdot
| Comando | Descrição | Exemplo |
|---|
DELAY | Pausa a execução por um número especificado de milissegundos. | DELAY 500 |
STRING | Digita uma sequência de caracteres exatamente como escrita. | STRING Hello, World! |
| Combinações de Teclas | Envia teclas simultâneas. | CTRL SHIFT ESC ou ALT i |
| Teclas Individuais | Envia teclas especiais individuais. | ENTER ou TAB |