Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
firmware-mod-kit — code.google.com/p/firmware-mod-kit から自動エクスポートされました。 | Kitploit
ツール/GitHubGitHub/rampagex/firmware-mod-kit
組み込みシステムセキュリティリバースエンジニアリングハードウェアセキュリティファームウェア解析
GitHubrampagex/firmware-mod-kit

firmware-mod-kit

code.google.com/p/firmware-mod-kit から自動エクスポートされました。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

免責条項

code.google.com/p/firmware-mod-kit から自動的にエクスポートされました

ファームウェア修正キット

このキットは、Linuxベースのファームウェアイメージを抽出および再構築するためのスクリプトとユーティリティのコレクションです。

root@kitploit:~
ファームウェアイメージをそのコンポーネント部分に抽出する
ユーザーがファームウェアのファイルシステムまたはWeb UI (webif) に希望の変更を加える
ファームウェアを再構築する
変更したファームウェアをデバイスにフラッシュして文鎮化する(ha)

警告: このキットを使用するとデバイスを文鎮化します(そうでないかもしれませんが、そうなると言った方が良いでしょう)。「文鎮化」とは、事実上機能しない「文鎮」に変えることを意味します。ハードウェアの改造なしで回復できる場合もあります。場合によっては、ハードウェアの改造が必要です(例:PCBに半田付けされたシリアルまたはJTAGヘッダー)。時にはそれが不可能であったり、総回復コストがユニットの価値よりも高くなることもあります。

ルーターが文鎮化する覚悟がないなら、このキットを使用しないでください!

EULA: このキットをダウンロードまたは使用することにより、ファームウェアMod Kitの使用または誤用の結果に対する責任を負うことに同意するものとします。これにはデバイスの文鎮化が含まれます。このキットの作成者は十分に警告しました。このキットは組み込みシステムソフトウェアエンジニア専用です。

ファームウェアMod Kit

  • はじめに
  • 前提条件
  • キットの使用方法
    • キットの実行可能ファイル
    • ファームウェア作業ディレクトリ
    • ファームウェアの抽出
    • ファームウェアの再構築
    • DD-WRT Webページの変更
    • ベンダーファームウェアへの復元
    • 例
    • Linksysファームウェア
    • ツール/ユーティリティ
  • その他のリンク

はじめに

ファームウェアMod Kitを使用すると、さまざまな組み込みデバイス用のファームウェアイメージを簡単に分解および再構築できます。主にLinuxベースのルーターを対象としていますが、TRX/uImageやSquashFS/CramFSなどの一般的なファームウェア形式およびファイルシステムを使用するほとんどのファームウェアと互換性があるはずです。

前提条件

ファームウェアMod Kitを使用するには、Subversionクライアント、標準のLinux開発ツール(gcc、makeなど)、python-magicモジュール、およびzlibとlzmaの開発パッケージが必要です。apt-getを使用するLinuxディストリビューション(例:UbuntuまたはDebian)を実行している場合は、次を使用します:

For Ubuntu 18.04 and older:

root@kitploit:~
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic autoconf

For Ubuntu 20.04 and newer:

root@kitploit:~
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python3-magic autoconf python-is-python3

For RedHat:

root@kitploit:~
yum groupinstall "Development Tools"
yum install git zlib1g-dev xz-devel python-magic zlib-devel util-linux

For Arch Linux:

AURパッケージがあります: https://aur.archlinux.org/packages/firmware-mod-kit/

他のディストリビューションの場合は、ディストリビューションのパッケージマネージャを使用して同等のパッケージをインストールしてください。

root@kitploit:~
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit/src
make

Binwalk 2.1.1

root@kitploit:~
[Back in firmware-mod-kit directory]
cd src/binwalk-2.1.1
sudo python2 setup.py install

ファームウェアMod KitはLinuxプラットフォームでのみサポートされています。いくつかの小さな変更を加えれば、他のPOSIXプラットフォームでも動作するはずです。

キットの使用方法

ファームウェアMod KitリポジトリをGitクローンします。

キットの実行可能ファイル

ファームウェアMod Kitは、ユーティリティとシェルスクリプトのコレクションです。ユーティリティは直接使用することも、シェルスクリプトを使用して一般的なファームウェア操作(例:抽出と再構築)を自動化および組み合わせることもできます。ファームウェア操作を容易にするためのコアスクリプトを以下に示します。

プライマリスクリプト:

スクリプト説明
extract-firmware.shファームウェア抽出スクリプト
build-firmware.shファームウェア再構築スクリプト

セカンダリスクリプト:

ddwrt-gui-extract.sh抽出されたDD-WRTファームウェアからWeb GUIファイルを抽出します。
ddwrt-gui-rebuild.sh変更されたWeb GUIファイルを抽出されたDD-WRTファームウェアに復元します。

ファームウェア作業ディレクトリ

ファームウェアMod Kitは、'fmk'という'ハードコードされた'作業ディレクトリを使用します。抽出スクリプトはこのフォルダに抽出し、再構築スクリプトはこのフォルダから再構築します。代替の作業ディレクトリの許可は一部の操作でサポートされていますが、すべてではありません。今後拡張していく予定です。現時点では、複数の作業ディレクトリがある場合は、現在操作していないディレクトリの名前を変更することをお勧めします。

ファームウェアの抽出

自動化されたファームウェア抽出は通常、uImage/TRXファームウェアヘッダーを採用し、SquashFSまたはCramFSファイルシステムを使用するほとんどのファームウェアイメージで機能します。現在、extract-firmware.shが推奨される抽出方法であり、古いold-extract.shスクリプトよりも多くのファームウェアタイプをサポートしています。ただし、old-extract.shは引き続き含まれており、多くのファームウェア形式で動作します。

extract-firmware.sh と build-firmware.sh の両方の使用方法は簡単です:

root@kitploit:~
./extract-firmware.sh firmware.bin

デフォルトでは、extract-firmware.shの出力は'fmk'ディレクトリに配置されますが、old-extract.shは抽出データを指定された作業ディレクトリに配置します。

ファームウェアの再構築

使用するビルドスクリプトは、使用された抽出スクリプトに依存します。extract-firmware.shでファームウェアイメージを抽出した場合は、build-firmware.shを使用して再構築する必要があります。同様に、old-extract.shを使用した場合は、イメージを再構築する際にold-build.shを呼び出す必要があります:

root@kitploit:~
./build-firmware.sh [-nopad] [-min]

build-firmware.shによって生成された新しいファームウェアは'fmk/new-firmware.bin'に配置されますが、old-build.shはいくつかの異なる形式でファームウェアイメージを生成し、指定された出力ディレクトリに保存します。

オプションの -nopad スイッチは、build-firmware.shにファームウェアを元のサイズまでパディングしないように指示します。

オプションの -min スイッチは、最大のsquashfsブロックサイズである1MBを使用します。これにより、ターゲットデバイスで使用される追加のCPUおよびRAMリソースを犠牲にして、ファームウェアイメージサイズが減少します。どうしても必要な場合以外はこのスイッチを使用しないでください。これは組み込みシステムにとって非常に大きなブロックサイズです。元のファームウェアのsquashfsブロックサイズは再構築時に保持され、自分が何をしているか確信がない限り、元のブロックサイズを使用する必要があります。ブロックサイズが大きすぎると正常に動作するように見えるかもしれませんが、ファームウェアの実行時パフォーマンスが一部またはすべての負荷で低下する可能性があります。

DD-WRT Webページの変更

ファームウェアMod Kitの非常にユニークな機能の1つは、DD-WRT Web GUIからファイルを抽出および再構築できることです。これはddwrt-gui-extract.shおよびddwrt-gui-restore.shスクリプトによって自動化されています。

extract-firmwware.shを使用してDD-WRTファームウェアイメージを抽出したら、次を実行してWebファイルを抽出できます:

root@kitploit:~
./ddwrt-gui-extract.sh

これにより、'www'という名前のディレクトリが作成され、そこにWebファイルが抽出されます。ファイルは好きなように変更できますが、ファイルの追加や削除はできません。

編集が終了したら、次を実行してWebファイルを再構築できます:

root@kitploit:~
./ddwrt-gui-rebuild.sh

ベンダーファームウェアへの復元

時には、GargoyleやDD-WRTのようなサードパーティ製ファームウェアを熱心にフラッシュしても、必要な機能が不足していたり、ベンダーファームウェアほど性能が良くなかったり、機能的な問題があったりすることがあります。このような状況では、ベンダーファームウェアに戻りたいと思うかもしれませんが、その方法がないかもしれません!

ファームウェアMod Kitがベンダーファームウェアに戻すのにどのように役立つかを以下に示します。プロセスは次のとおりです:

  1. ベンダーファームウェアを抽出します。次に'fmk'ディレクトリの名前を変更します。
  2. サードパーティの'アップグレード'ファームウェア(例:Gargoyle-sysupgrade)を抽出します。
  3. 抽出されたサードパーティファームウェアのrootfsとimage_partsをベンダーファームウェアのものと置き換えます。
  4. ファームウェアイメージを再構築します。
  5. ベンダーファームウェアイメージをフラッシュします(現在はサードパーティファームウェアが期待する形式でパッケージ化されています)。
  6. すべて成功した場合、ベンダーファームウェアを再び使用しています。

ベンダーファームウェアに戻ると、再びベンダーファームウェアイメージを受け入れるようになります。

例

この例では、ファームウェアイメージを抽出し、既存のtelnetデーモンをカスタムビルドしたものと置き換え、新しいファームウェアイメージをビルドする方法を示します:

root@kitploit:~
./extract-firmware.sh firmware.bin
cp new-telnetd fmk/rootfs/usr/sbin/telnetd
./build-firmware.sh

以下は、DD-WRTファームウェアイメージを抽出し、Webインデックスページを変更し、新しいファームウェアイメージをビルドするために実行するコマンドの例です:

root@kitploit:~
./extract-firmware.sh firmware.bin
./ddwrt-gui-extract.sh
echo "HELLO WORLD" > www/index.asp
./ddwrt-gui-rebuild.sh
./build-firmware.sh

Linksysファームウェア

Linksysはチェックサムチェック付きのカスタムフッタを持っているため、このスクリプトはイメージのチェックサムを計算し、それに応じてフッタを変更するプロセスを自動化するために作成されました。新しいイメージはmodified_checksum.imgに書き込まれます。変更後、build-firmware.shの後にこれを実行してください。

root@kitploit:~
./linksys_footer.sh modified_firmware.img

ツール/ユーティリティ

ファームウェアMod Kitは、組み込みファームウェアイメージを扱う際に役立つツールのコレクションで構成されています。以下にリストされているものを含みますが、ここにリストされていないさらに多くのツールがあります。

その他のリンク

フォーラム

ツールをダウンロード
ツール説明
AsusTRXASUSTRXの拡張版で、「通常の」TRXファイルと、オプションでASUS addverスタイルのヘッダーが追加されたTRXファイルの両方をビルドできます。また、Marvell ASUSデバイス(WL-530gなど)との互換性のために、TRX内のセグメントオフセットを強制することもできます(-bスイッチを使用)。このツールは「通常の」trxツールとaddverの両方を置き換えます。含まれている現在のバージョン:0.90 beta。
AddPatternTRXにLinksysスタイルのHDR0ヘッダーを先頭に追加するユーティリティ。
AddVerバージョン情報を含むヘッダーをTRXイメージに追加するASUSユーティリティ。ASUSTRXにはこの機能が含まれています。現在のバージョン:バージョンなし。
Binwalkファームウェアイメージをスキャンして既知のファイルタイプ(ファームウェアヘッダー、圧縮カーネル、ファイルシステムなど)を検出します。
CramFSCKCRAMFSファイルシステムイメージのチェッカーおよび抽出器。含まれている現在のバージョン:2.4x。
CramFSSwapCramFSイメージのエンディアンを入れ替えるユーティリティ。
CRCalc指定されたファームウェアイメージ内のすべてのuImageおよびTRXヘッダーをパッチするユーティリティ。
MkSquashFSsquashfsファイルシステムイメージをビルドします。含まれている現在のバージョン:2.1-r2, 3.0。
MkCramFScramfsファイルシステムイメージをビルドします。次のバージョンで追加予定。含まれている現在のバージョン:2.4x。
MotorolaBinMotorolaデバイスWR850G、WA840G、WE800G用のTRXイメージに8バイトのヘッダーを先頭に追加するユーティリティ。現在のバージョン:バージョンなし。
Splitter3ファームウェアイメージのコンポーネント部分をスキャンして抽出するユーティリティ。
Tpl-toolTP-Linkベンダー形式のイメージを操作するユーティリティ。
UnCramFScramfsファイルシステムイメージを抽出する代替ツール。可能な限りcramfsckを使用してください。より信頼性が高いようです。含まれている現在のバージョン:0.7(cramfs v2.x用)。
UnCramFS-LZMAOpenRGなどで使用されるLZMA圧縮cramfsファイルシステムイメージを抽出する代替ツール。
UnSquashFSzlib squashfsファイルシステムイメージを抽出します。含まれている現在のバージョン:3.0イメージ用1.0、2.xイメージ用1.0(独自ブレンド)。
UnSquashFS-LZMAlzma squashfsファイルシステムイメージを抽出します。含まれている現在のバージョン:3.0イメージ用1.0、2.xイメージ用1.0(独自ブレンド)。注:すべてのsquashfs-lzmaパッチが互いに互換性があるわけではありません。一般的なsquashfs-lzmaのバリエーションすべてのサポートを追加する作業を進めています。
UnTRXTRXスタイルのファームウェアをそのコンポーネント部分に分割します。また、先頭に追加されたaddpattern HDR0スタイルのヘッダーもサポートします。これはこのキット専用に開発されました。含まれている現在のバージョン:0.45。
WebDecompDD-WRTファームウェアイメージからWeb GUIファイルを抽出および復元し、Webページの変更を可能にします。
WRTVxImgToolWRT54G(S) v5シリーズ用のVxWorks互換ファームウェアイメージを生成するユーティリティ。