
IoTデバイスのインプラント攻撃用ツールキット
IoT-Implant-Toolkit は、IoT デバイスのマルウェア埋め込み研究のための便利なツールのフレームワークです。ファームウェアの改造、シリアルポートデバッグ、ソフトウェア解析、安定したスパイクライアントに関する必須ソフトウェアツールをまとめたキットです。使いやすく拡張可能なシェル風の環境を備え、IoT-Implant-Toolkit は IoT マルウェア埋め込みの複雑な手順を簡素化するワンストップショップツールキットです。
私たちの研究では、IoT-Implant-Toolkit を使用して、スマートスピーカー、カメラ、ドライブレコーダー、モバイル翻訳機を含む 8 台のデバイスにトロイの木馬を埋め込むことに成功しました。
以下はデモビデオです:

git、python3、setuptools がインストールされていることを確認してください。 音声処理と再生のために、alsa(Linux に組み込み済み)、sox、ffplay をインストールする必要があります。Ubuntu18.04 の場合:
$ sudo apt install sox ffmpeg
Github からソースコードをダウンロード:
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
環境をセットアップし、依存関係をインストール:
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install
ツールキットを実行:
$ python3 -B IoT-Implant-Toolkit.py
_____ _______ _____ _ _ _______ _ _ _ _
|_ _| |__ __| |_ _| | | | | |__ __| | | | (_) |
| | ___ | |______| | _ __ ___ _ __ | | __ _ _ __ | |_ ______| | ___ ___ | | | ___| |_
| | / _ \| |______| | | '_ ` _ \| '_ \| |/ _` | '_ \| __|______| |/ _ \ / _ \| | |/ / | __|
_| || (_) | | _| |_| | | | | | |_) | | (_| | | | | |_ | | (_) | (_) | | <| | |_
|_____\___/|_| |_____|_| |_| |_| .__/|_|\__,_|_| |_|\__| |_|\___/ \___/|_|_|\_\_|\__|
| |
|_|
IoT-Implant-Toolkit
-------------------------------------------------------------
A Framework for IoT implantation research.
by Marvel Team
Command:
list - List all tools
run - Run a specific tool
exit - Exit
[Implant-Toolkit]>
3 つのコマンドをサポート: list:すべてのプラグインを表示 run:特定のプラグインを "run [plugin] [parameters]" で実行 exit:終了
各ソフトウェアツールはプラグインとして動作し、フレームワークに簡単に追加できます。
シリアルポートデバッグ、ファームウェアのパック・アンパック、ソフトウェア解析、埋め込みスパイプログラムに関する 4 つのカテゴリに 10 以上のプラグインがあります。
フレームワーク内の既存プラグイン:
コード構造:
--IoT-Implant_toolkit.py #起動スクリプト
--outputs/ #出力のデフォルトフォルダ
--toolkit/
|---core/
|---basic/ #基本プラグインクラスの定義
|---cli/ #シェル風 CLI の定義
|---toollist/ #プラグインのツールリスト自動更新
|---plugins/
|---firmware/ #ファームウェア改造用プラグイン
|---implant/ #スパイプログラム生成用プラグイン
|---serialport/ #シリアルポートデバッグ用プラグイン
|---software/ #ソフトウェア解析用プラグイン(特に Android)
|---tools/ #その他のツール
対応するフォルダ(カテゴリ)に [newplugin].py を作成し、init 属性を定義して IoT-Implant-Toolkit に新しいプラグインを追加します。フレームワークは起動時に新しいプラグインを自動検出します。
マルウェア埋め込み研究に不可欠なハードウェアツール。ハードウェアツール/ の画像を参照してください。
時間の制約により、これ以上プラグインを追加していません。
以下の表はフレームワークに適合しないものの、有用な可能性があるツールです。
IoT-Implant-Tookit がマルウェア埋め込みに不可欠なツールキットとなることを願っています。
| Categories | Tools | Descriptions | Reference |
|---|
| シリアルポートデバッグ | pyserial | モデム制御および端末エミュレーションプログラム | https://github.com/pyserial/pyserial |
| シリアルポートデバッグ | baudrate.py | 正しいボーレートを見つける | https://github.com/devttys0/baudrate |
| ファームウェアパック・アンパック | mksquashfs | Squashfs ファイルシステムの作成と抽出 | https://github.com/plougher/squashfs-tools |
| ファームウェアパック・アンパック | mkbootimg_tools | Android の boot.img をアンパック・リパック | https://github.com/xiaolu/mkbootimg_tools |
| ファームウェアパック・アンパック | cramfs | cramfs ファイルシステムの作成 | https://sourceforge.net/projects/cramfs/files/cramfs/1.1/ |
| ファームウェアパック・アンパック | mountimg | Android の system.img および data.img 用の ext4 ファイルシステムのマウント・アンマウント | 当 Github にあり |
| ソフトウェア解析 | setools-android | sepolicy-inject を備えた Android 用 setools | https://github.com/xmikos/setools-android |
| ソフトウェア解析 | crosscomplie | ARM 用クロスコンパイルツールチェーン | 後日当 Github に公開 |
| ソフトウェア解析 | odex unpack | Android 用 Odex から Smali への変換 | 当 Github に公開 |
| バイナリ埋め込み | spy client&server | 安定したスパイクライアントとサーバー、ソースおよびプリビルドバイナリ | 当 Github に公開 |
| バイナリ埋め込み | denoise tool | 音声処理用ノイズ除去ツール | 当 Github に公開 |
| Name | Description |
|---|
| はんだごて | はんだ付けツール |
| はんだ線 | はんだ付けツール |
| はんだペースト | はんだ付けツール |
| はんだ吸い取り線 | はんだ付けツール |
| 熱風ガン | はんだ付けツール |
| リボール工具 | リボール工具 |
| USB to TTL | デバッグ/コンソールケーブル |
| デュポンワイヤ | 電気配線 |
| EPROM バーナープログラマ | 書き込みプログラマ |
| Categories | Tools | Descriptions | Reference |
|---|
| ファームウェア解析 | binwalk | ファームウェアイメージの解析、リバースエンジニアリング、抽出のための高速で使いやすいツール | https://github.com/ReFirmLabs/binwalk |
| ファームウェア改造 | firmware mod kit | Linux ベースのファームウェアイメージを抽出・再構築するためのスクリプトとユーティリティのコレクション | https://github.com/rampageX/firmware-mod-kit |
| クロスコンパイラ | buildroot | ARM、MIPS、PowerPC 用のクロスコンパイラ | https://buildroot.org/ |