
IEEE 802.15.4/ZigBee セキュリティ研究ツールキット
KillerBeeは、ZigBeeおよびIEEE 802.15.4ネットワークのテストと監査のためのフレームワークおよびツールです。
注意
- usb0.x サポートは非推奨/削除予定です
- Apimote v1 サポートは非推奨/削除予定です
これらの機能が必要な場合は、ユースケースと要件を説明するイシューを作成してください。
KillerBee 3.0.0-beta アップデート
皆様、KillerBeeへの継続的なご支援とご関心に感謝いたします。
コードの整理、Python 3への移行、機能・機能性・一貫性の追加に新たな努力を注ぐにあたり、この見直しを機にプロジェクトの目標と用途、そしてそれらを達成する最適な方法を再検討しています。
この取り組みにより、古い機能や依存関係を非推奨にし、機能を整理して拡張性を高めるためにコードを再構築するため、メジャーバージョンアップが行われます。
これはまた、KillerBeeを構成する要素を定義し、KillerBee内の機能間の境界線をより明確にし、ライブラリとして扱う試みでもあります。 詳細および今後の目標については、ARCHITECTURE.md を参照してください。
BSDライセンスの下で配布されています。詳細は LICENSE.txt を参照してください。 All Rights Reserved.
メインツールキットの作者/寄稿者は以下のとおりです:
フレームワークへの多くの貢献者に感謝します。以下は機能を提供してくださった方々です:
KillerBeeはLinuxシステム上で開発・テストされています。 MacOSでの使用は可能ですが、サポートされていません。
ソフトウェア依存関係を最小限にするよう努めていますが、インストール前に以下のPythonモジュールをインストールする必要があります。 インストール時に必要なものがあれば検出され、プロンプトが表示されます。
Ubuntuシステムでは、以下のコマンドで必要な依存関係をインストールできます。
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
Mac OSでは、以下のコマンドで依存関係をインストールできます。
# brew install libusb libgcrypt
# pip3 install pyusb scapy
Scapy 拡張パッチには python-dev と libgcrypt が必要です。
また、これはかなり高度でユーザーフレンドリーではない攻撃プラットフォームであることに注意してください。これはCain & Abelではありません。ZigBeeやIEEE 802.15.4ネットワークを攻撃する開発者や上級アナリスト向けに作られています。このフレームワークに取り組む前に、ZigBeeプロトコル(書籍 ZigBee Wireless Networks and Transceivers by Shahin Farahani は妥当ですが、それでも完璧ではありません)とPython言語にある程度精通することをお勧めします。
KillerBeeは、依存関係がインストールされていれば、標準のPython 'setup.py' インストールファイルを使用します。
以下のコマンドでKillerBeeをインストールします。
# python3 setup.py install
KillerBeeコードのディレクトリ構造は以下のとおりです。
KillerBeeフレームワークは複数のデバイスをサポートするように拡張されています。 現在、River Loop ApiMote、Atmel RZ RAVEN USB Stick、 MoteIV Tmote Sky、TelosB mote、Sewino Sniffer、および Silicon Labs Node Test ファームウェアを実行するさまざまなハードウェアをサポートしています。
ハードウェアサポートとファームウェアプログラミングの詳細については、firmware/README.md を参照してください。
Freaklab の Freakduino(追加ハードウェアとダートマス Arduino スケッチ付き)および
Zigduino ボードのサポートも利用可能ですが、メンテナンスされていないためリストには含まれていません。
これらを使用するには、killerbee/config.py で検索対象として有効にし、KillerBee を再インストールする必要があります。
KillerBee には、KillerBee フレームワークを使用して構築された、ZigBee および IEEE 802.15.4 ネットワークを攻撃するためのツールがいくつか含まれています。各ツールには、"-h" 引数でツールを実行すると表示される使用方法のドキュメントがあり、以下にまとめています。
sample/zigbee-network-key-ota.dcf を使用してこの機能を実演できます。DISPLAY 変数が適切に設定されていることを確認してください。特別な場合や安定していない追加ツールは、Api-Do プロジェクトリポジトリに保存されています: http://code.google.com/p/zigbee-security/ および https://github.com/riverloopsec/beekeeperwids。
KillerBee は、無線インターフェースまたはサポートされているパケットキャプチャファイル(libpcap)からのパケットスニッフィング、および任意のパケットの注入のプロセスを簡素化するように設計されています。IEEE 802.15.4、ZigBee NWK、ZigBee APS パケットデコーダを含むヘルパー関数も利用できます。
KillerBee API は epydoc 形式で文書化されており、この配布物の doc/ ディレクトリに HTML ドキュメントがあります。epydoc がインストールされている場合は、必要に応じて印刷に便利な PDF を生成することもできます。例:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
pdf/ ディレクトリには "api.pdf" というファイルが作成され、フレームワークのドキュメントが含まれます。
KillerBee フレームワークの使用を開始するには、付属のツール(zbdump と zbreplay は良い出発点です)をご覧ください。
KillerBee は Python ライブラリであるため、他の Python ソフトウェアともうまく統合できます。たとえば、Sulley ライブラリは Pedram Amini によって書かれた Python のファジングフレームワークです。Sulley の突然変異機能と KillerBee のパケット注入機能を使用することで、ターゲットに不正な ZigBee データを生成して送信するメカニズムを簡単に構築できます。
https://github.com/riverloopsec/killerbee/issues のチケットシステムをご利用ください。
オリジナルバージョンは [email protected] によって書かれました。 現在のバージョン、修正などは [email protected] が担当しています。 (すべての貢献者/クレジットについては上記のリストを参照してください。)
貢献者/開発者の方は、詳細とガイダンスについて DEVELOPMENT.md を参照してください。