Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
facedancer — CynthionやGreatFETなどのハードウェアペリフェラルを使用して、Pythonで独自のUSBデバイスを実装する | Kitploit
ツール/GitHubGitHub/greatscottgadgets/facedancer
組み込みシステムセキュリティパケットスニッフィングと分析リバースエンジニアリングファジングハードウェアハッキングユーティリティとフレームワークハードウェアとIoTセキュリティレッドチーミング
GitHubgreatscottgadgets/facedancer

facedancer

CynthionやGreatFETなどのハードウェアペリフェラルを使用して、Pythonで独自のUSBデバイスを実装する

リポジトリを見る
1.0k154114ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Facedancer 3.0

このリポジトリには、次世代のFacedancerソフトウェアが収められています。オリジナルのGoodFETベースのFacedancerから派生したこのリポジトリは、拡張されたFacedancerサポートを提供するPythonモジュールを提供します -- 複数のボードのサポートや、いくつかの非常に重要な新機能を含みます。

プロジェクトドキュメント

FacedancerのドキュメントはRead the Docsにまとめられています。生のドキュメントソースはdocs/フォルダにあります。

インストール

このパッケージは次のコマンドでインストールします:

pip install facedancer

その後は通常どおりfacedancerパッケージをインポートできます:

$ python
>>> import facedancer

私のスクリプトはどこにありますか?

Facedancer 3.0はオリジナルのエミュレーションコアを根本から書き直したものであり、 レガシースクリプトはサポートしていません。

v3.0.xで非推奨となった機能やAPIに依存するスクリプトやトレーニング資料を使用している場合は、 次のコマンドでFacedancerの最新のv2.9.xリリースをインストールできます:

pip install "facedancer<=3"

レガシーアプレットとサンプルはv2.9.x ブランチにあります。

Facedancerとは何ですか?

Facedancerボードは、「リモートコントロールされた」USBコントローラとして動作するシンプルなハードウェアデバイスです。適切なソフトウェアを使えば、これらのボードを使用してUSBデバイスを迅速かつ簡単にエミュレートできます -- そしてUSBホストコントローラをファジングすることもできます!

この特定のソフトウェアリポジトリでは、現在PythonでUSBデバイスのエミュレーションを簡単に作成できます。制御はきめ細かく、あらゆる種類のUSBの誤動作を引き起こすことができます。:)

詳細については、以下を参照してください:

  • Travis GoodspeedのFacedancerに関するブログ記事
  • Facedancer 21、最初にサポートされたボード

USBProxy 'Nouveau' とプロトコル解析

新しいFacedancerコードベースの主要な新機能は、USB接続をMITM(Meddler-In-The-Middle)する機能です -- これは著者の一人によるオリジナルのUSBProxyプロジェクトを置き換えるものです。これにより、プロトコル解析やUSBパケットのライブ操作など、まったく新しい応用分野が開かれます -- そして、ターゲットデバイス上で動作するソフトウェアを制御できない場合(例えば組み込みシステムやゲーム機など)に特に有用です。

                 +-----------------------------------------------------------------------+
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
|            |   |  |                                |   |                           |   |  |              |
|  PROXIED   |   |  |         HOST COMPUTER          |   |    FACEDANCER DEVICE      |   |  |  TARGET USB  |
|   DEVICE   <------>  running Facedancer software   <--->  acts as USB-Controlled   <------>     HOST     |
|            |   |  |                                |   |      USB Controller       |   |  |              |
|            |   |  |                                |   |                           |   |  |              |
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
                 |                                                                       |
                 |                    MITM Setup (HOST + FACEDANCER)                     |
                 +-----------------------------------------------------------------------+

この機能は完成していますが、ドキュメントをもっと充実させたいところです。プルリクエストを歓迎します。:)

このリポジトリはどう使いますか?

まず、BACKEND環境変数を設定したいと思うでしょう。これはソフトウェアにどのタイプのFacedancerボードを使いたいかを知らせるものです。この変数が設定されていない場合、ソフトウェアは接続されているものに基づいて推測を試みます。必ずしも最良の推測をするとは限らないので、自分で設定した方がよいでしょう。

次に、おそらくサンプルや既成のスクリプトのいずれかをチェックしたいと思うでしょう。新しい構文のサンプルはexamples以下にあります。「古い」構文のコアFacedancerスクリプトはlegacy-appletsにあります。

例えば:

export BACKEND=greatfet
./examples/rubber-ducky.py

現在サポートされているボードは?

  • Cynthion USB Test Instrument (BACKEND=cynthion)
  • GreatFET One (BACKEND=greatfet)
  • NXP LPC4330 Xplorerボード (BACKEND=greatfet)
  • CCCamp 2015 rad1oバッジ(GreatFET l0adable付き) (BACKEND=greatfet)
  • 一般的なFacedancer21を含む、すべてのGoodFETベースのFacedancer (BACKEND=goodfet)
  • RPi + Max3241 Raspdancerボード (BACKEND=raspdancer)
  • HydraDancerおよびHydraUSB3ボード (BACKEND=hydradancer)

ハードウェアの制約により、MAX3420/MAX3421ボードはより複雑なデバイスをエミュレートできないことに注意してください -- 設定できるエンドポイントの数や種類に制限があります。GreatFETなどのLPC4330ボードには、より少ない制限があります。

同様の理由で、MAX3420/MAX3421ボード(BACKEND=goodfetまたはBACKEND=raspdancer)は現在、USBProxy-nv MITMデバイスとして使用できません。すべてのモダンボード(BACKEND=greatfet、BACKEND=hydradancer)は完全に機能するはずです。

HydraDancerおよびHydraUSB3ボード(BACKEND=hydradancer)は現在ホストモードをサポートしていないことに注意してください。 また、実際のFaceDancer 3.0はWindowsでは動作せず(pyusbにいくつかの問題があります...)、GNU/Linuxのみで動作します。

どのボードがまもなくサポートされる可能性がありますか?

  • gadgetfsサポートを備えた任意のLinuxコンピュータ(例: Pi ZeroやBeaglebone Black)
  • USB-over-IPをサポートするものすべて。

どのような機能を追加する予定ですか?

ロードマップは策定中ですが、マルチボードサポートに加えて、このリポジトリは最終的にいくつかのクールな新機能の拠点となる予定です。例えば:

  • USB 2.0 PHYを備えたデバイス上での高速(「USB 2.0」)デバイスエミュレーション。
  • ゲートウェア内でのUSBデバイスコントローラのオンザフライ生成。

これは_誰の_せいですか?

この素晴らしいリポジトリに対して責めるべき人はたくさんいます。例えば:

  • Kate Temkin (@ktemkin)
  • Travis Goodspeed (@travisgoodspeed)
  • Sergey Bratus (@sergeybratus)
  • Dominic Spill (@dominicgs)
  • Michael Ossmann (@michaelossmann)
  • Mikaela Szekely (@Qyriad)
  • git履歴に名前が載っているすべての人 :)

コントリビューション?

... はいつでも歓迎します。PRをお送りください!

ツールをダウンロード