
ESP32-S3をベースにしたWi-Fi対応USBキーロガー。広く入手可能なハードウェアで簡単にDIY可能。

DuckLogger は ESP32-S3 ベースの USB キーロガーです。キー入力をテキストファイルに記録し、内蔵の Wi-Fi アクセスポイントを介してログをダウンロードするためのワイヤレスアクセスを提供します。 このプロジェクトを再現するのにカスタム PCB は必要ありません。使用するハードウェアは、Aliexpress などで合計 10 ドル以下です。

Web UI には以下からアクセス:
http://192.168.4.1/
(アクセスポイントモード時)


| ESP32-S3 | CH9350 |
|---|---|
| 5V | 5V |
| GND | GND |
| GP1 | TX |
| GP2 | RX |
CH9350 は複数の動作モードをサポートしており、オンボードの DIP スイッチで設定します。

S0 を GND 位置(0)に設定し、他のすべてのスイッチを反対の位置(1)に保ちます。これにより USB ホストモードが有効になり、USB キーボードの入力がデフォルトの 115200 ボーの UART 経由でシリアルデータに変換されます。
DuckLogger は MicroPython で書かれています。ボードに MicroPython ファームウェアを書き込んでください。 書き込み手順はこちらで確認してください。
書き込み後、USB 経由でボードを抜き差ししてください。
git clone https://github.com/Itsmmdoha/duckLogger.git
cd duckLogger
ボードが USB で接続されていることを確認し、以下を実行:
python flasher.py
フラッシャーは自動的に以下を行います:
mpremote と必要な MicroPython パッケージをボードにインストールindex.html を圧縮し、すべてのファイルをボードにコピーアクセスポイントモード(デフォルト)の場合は、Wi-Fi アクセスポイントに接続し(デフォルトパスワード: duckPass1234)、以下を開きます:
http://192.168.4.1/
コマンド&コントロールセンターにアクセスします。
DuckLogger は現在、ペイロード注入のための基本的な DuckyScript コマンドセットをサポートしています:
.
├── 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
このプロジェクトには Miguel Grinberg による Microdot(MIT ライセンス)が含まれています: https://github.com/miguelgrinberg/microdot
| コマンド | 説明 | 例 |
|---|
DELAY | 指定されたミリ秒数だけ実行を一時停止します。 | DELAY 500 |
STRING | 記述された通りの文字列をタイプします。 | STRING Hello, World! |
| Key Combos | 同時にキー入力を送信します。 | CTRL SHIFT ESC or ALT i |
| Single Keys | 個別の特殊キーを送信します。 | ENTER or TAB |