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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
draytek-arsenal — Draytekファイアウォール向けのリバースエンジニアリングおよび可観測性ツールキット | Kitploit
ツール/GitHubGitHub/infobyte/draytek-arsenal
組み込みシステムセキュリティ脆弱性分析リバースエンジニアリングペネトレーションテストハードウェアセキュリティハードウェアとIoTセキュリティバイナリ解析ファームウェア解析
GitHubinfobyte/draytek-arsenal

draytek-arsenal

Draytekファイアウォール向けのリバースエンジニアリングおよび可観測性ツールキット

リポジトリを見る
5381年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Draytek Arsenal: Draytekエッジデバイスのための可観測性および堅牢化ツールキット。

高度な攻撃者は、ますますエッジデバイスを標的にするようになっています。しかし、これらのデバイスはファームウェアとして知られるクローズドソースのソフトウェアによって制御されており、多くの場合、独自の形式で配布されています。これは、ファームウェアの抽出方法を理解してセキュリティを評価する必要がある防御者や研究者にとって、さらなる困難となっています。

これは単なる仮想的なシナリオではなく、最近クライアントが侵害された際に私たちが発見したことです。彼らのインフラストラクチャのエッジにDraytek機器があったため、自然な疑問は「これが攻撃者の侵入口になり得るのか?」というものでした。50万台以上のDraytekデバイスがインターネットに露出しています。しかし、それらのファームウェアを抽出して、これらのデバイスを扱う研究者や防御者を支援する実用的なツールは存在しません。

私たちは評価の中で、Draytekのファームウェア形式をリバースエンジニアリングしました。この形式には、ブートローダー、圧縮されたRTOSカーネル、および2つのファイルシステムが含まれています。調査を通じて、これらのコンポーネントを抽出するツールを開発し、リアルタイムオペレーティングシステムがコードモジュールを動的にロードできることを明らかにしました。これらのモジュールは、ブート中にファームウェアイメージ内のファイルシステムの1つからロードされますが、システムの実行中にロードして、フラッシュメモリ内の別のファイルシステムに保存することもできます。攻撃者はこの機能を悪用して、再起動やファームウェアアップグレード後もアクティブなままのモジュールをロードすることで永続性を実現できます。そして、エンドユーザーにはこの種の攻撃を検出する方法がありません。その結果、私たちはメモリ内のロードされたモジュールの整合性をチェックする独自のモジュールを開発し、この潜在的な脅威を軽減しました。

より安全なインターネットの実現を目指して、私たちはこのツール群をコミュニティに公開します。これにより、Draytekエッジデバイスに対する可観測性、堅牢化、透明性、および脆弱性調査が可能になります。

プレゼンテーション

このツールは、DEFCON HHV and La Villa Hacker で発表された研究プロジェクトの一環として開発されました。スライドとPoCビデオはこちらで見ることができます。

注意

当初は社内ツールとして開発しました。単なるスクリプト集でしたが、大きな可能性を示したため、オープンソース化することにしました。それ以来、これらのスクリプトをこのリポジトリにあるPythonパッケージに統合し、他のデバイスモデルとも互換性を持たせるための作業を進めています。

はじめに

要件:

  • Python3
  • Docker (オプション)

インストール

(オプション) Python仮想環境を作成して有効にします:

root@kitploit:~
$ python3 -m virtualenv .venv
$ source .venv/bin.activate

draytek_arsenal をインストールします:

root@kitploit:~
$ cd draytek_arsenal
$ python3 -m pip install -r requirements.txt
$ python3 -m pip install .

インストールをテストします:

root@kitploit:~
$ python3 -m draytek_arsenal

開発者としてインストール

このインストールはローカルのコード変更の影響を受けます

root@kitploit:~
$ python3 -m pip install -e .

Mips-tools

mips_compile や mips_merge などのいくつかのコマンドは、動作するために補完的なDockerイメージが必要です。
ダウンロードされていない場合、次のエラーメッセージが表示されます:

root@kitploit:~
[x] Image 'draytek-arsenal' not found. Please build or download the image.

次のコマンドでイメージをダウンロードできます:

root@kitploit:~
$ docker pull ghcr.io/infobyte/draytek-arsenal:main

または、次のようにビルドします:

root@kitploit:~
$ docker build -t draytek-arsenal ./mips-tools

使い方

draytek-arsenal はPythonパッケージにまとめられたスクリプト群です。使用するには、コマンドを選択してください:

root@kitploit:~
usage: draytek-arsenal [-h] [command] args..

コマンドの一部は次のとおりです:

parse_firmware

Draytecファームウェアを解析して情報を表示します。

root@kitploit:~
usage: parse_firmware [-h] firmware

positional arguments:
  firmware    Path to the firmware

options:
  -h, --help  show this help message and exit

スモールビジネスの抽出

RTOSを実行しているDraytekを抽出および展開するためのコマンドです。

root@kitploit:~
usage: extract_rtos [-h] [--rtos RTOS] [--fs FS] [--dlm DLM] [--dlm-key1 DLM_KEY1]
                  [--dlm-key2 DLM_KEY2]
                  firmware

positional arguments:
  firmware              Path to the firmware

options:
  -h, --help            show this help message and exit
  --rtos RTOS, -r RTOS  File path where to extract and decompress the RTOS
  --fs FS, -f FS        Directory path where to extract and decompress the File
                        System
  --dlm DLM, -d DLM     Directory path where to extract and decompress the DLMs
  --dlm-key1 DLM_KEY1   First key used to decrypt DLMs
  --dlm-key2 DLM_KEY2   First key used to decrypt DLMs

Linuxの抽出

Linuxを実行しているDraytekを抽出および展開するためのコマンドです。

root@kitploit:~
usage: extract_linux [-h] [--fs FS] --key KEY firmware

positional arguments:
  firmware        Path to the firmware

options:
  -h, --help      show this help message and exit
  --fs FS, -f FS  Directory path where to extract and decompress the File System
  --key KEY       Key used to decrypt

dlm_hash

DLMモジュールのハッシュを取得します。

root@kitploit:~
usage: dlm_hash [-h] [-c] dlm

positional arguments:
  dlm         Path to the dlm

options:
  -h, --help  show this help message and exit
  -c          Print as .c code

find_loading_addr

RTOSが最初のジャンプ命令でロードされるアドレスを特定します。

root@kitploit:~
usage: find_loading_addr [-h] rtos

positional arguments:
  rtos        Path to the rtos

options:
  -h, --help  show this help message and exit

find_endianness

RTOSがリトルエンディアンかビッグエンディアンかを確認します。

root@kitploit:~
usage: find_endianness [-h] rtos

positional arguments:
  rtos        Path to the rtos

options:
  -h, --help  show this help message and exit

mips_compile

MIPS再配置可能バイナリをコンパイルします(DLM用)。

root@kitploit:~
usage: mips_compile [-h] output [input ...]

positional arguments:
  output      Output file
  input       Output file

options:
  -h, --help  show this help message and exit

mips_merge

2つのELF MIPS再配置可能ファイルをマージします。

root@kitploit:~
usage: mips_merge [-h] first_input second_input output

positional arguments:
  first_input   First input file
  second_input  Second input file
  output        Output file

options:
  -h, --help    show this help message and exit
ツールをダウンロード