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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
detux — マルチプラットフォーム Linux サンドボックス | Kitploit
ツール/GitHubGitHub/detuxsandbox/detux
動的分析 (サンドボックス)ネットワークフォレンジックフォレンジックマルウェア分析
GitHubdetuxsandbox/detux

detux

マルチプラットフォーム Linux サンドボックス

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Detux: マルチプラットフォーム Linux サンドボックス

はじめに:

Detux は、Linux マルウェアのトラフィック分析と IOCs の取得を目的として開発されたサンドボックスです。QEMU ハイパーバイザーを使用して、さまざまな CPU アーキテクチャ向けに Linux (Debian) をエミュレートします。

現在、以下の CPU がサポートされています:

  • x86
  • x86-64
  • ARM
  • MIPS
  • MIPSEL

ライブバージョンを使用する: http://detux.org

このリリースに含まれるもの

この Detux のリリースには、指定された CPU アーキテクチャで Linux バイナリ/スクリプトを実行するためのスクリプトが含まれています。プラットフォームがわからなくても心配はいりません。スクリプト内で、Magic パッケージが CPU アーキテクチャを自動的に選択するのに役立ちます。x86 がデフォルトの CPU バージョンですが、設定ファイルで別のものに変更できます。

このリリースでは、分析レポートが DICT 形式で提供され、NOSQL データベースに挿入するために簡単にカスタマイズできます。

サンドボックスライブラリの使用方法を示すサンプルスクリプトが提供されています。

レポートの内容

root@kitploit:~
- 静的解析
    -- バイナリから抽出された基本文字列
    -- readelf コマンドで生成された ELF 情報
    -- report.py を変更して、バイナリを解析するためのサードパーティコマンドを追加し、結果を DICT に追加できます。

- 動的解析
    -- キャプチャされた pcap は DPKT で解析され、パケットから IOC と読み取り可能な情報が抽出されます。

必要条件

  • システムパッケージ

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Python ライブラリ (仮想環境の使用を推奨)

    • pexpect
    • paramiko
    • python-magic

Detux を使用する前に、上記の要件が満たされていることを確認してください。依存関係は OS によって異なる場合があります。

アーキテクチャ

  • ホスト (ホスト自体は VM またはベアメタルマシン)
    • QEMU
    • dumpcap
    • DETUX Scripts

ネットワークアーキテクチャ

root@kitploit:~
- NIC1 : このインターフェースはホストへのアクセス用
- NIC2 : QEMU サンドボックス VM とブリッジされたインターフェース。このインターフェースからのトラフィックを WHONIX や REMNUX、またはカスタムゲートウェイにリダイレクトして、サンドボックス VM のインターネットアクセスをフィルタリング/許可できます。

VM セットアップ:

Linux VM イメージのダウンロード

すべての可能な CPU アーキテクチャ向けに事前構築された QEMU Debian VM イメージをアップロードしてくれた aurel に感謝します。 VM イメージは https://people.debian.org/~aurel32/qemu/ にあります。同じリンクには、VM イメージを起動するためのコマンド例も含まれています。

以下のスクリプトを使用して、VM イメージを Detux の 'qemu' フォルダに自動的にダウンロードできます。

root@kitploit:~
#x86
wget https://people.debian.org/~aurel32/qemu/i386/debian_wheezy_i386_standard.qcow2 -P qemu/x86/1/


#x86-64
wget https://people.debian.org/~aurel32/qemu/amd64/debian_wheezy_amd64_standard.qcow2 -P qemu/x86-64/1/

#arm
wget https://people.debian.org/~aurel32/qemu/armel/debian_wheezy_armel_standard.qcow2 -P qemu/arm/1/
wget https://people.debian.org/~aurel32/qemu/armel/initrd.img-3.2.0-4-versatile -P qemu/arm/1/
wget https://people.debian.org/~aurel32/qemu/armel/vmlinuz-3.2.0-4-versatile -P qemu/arm/1/

#mips
wget https://people.debian.org/~aurel32/qemu/mips/vmlinux-3.2.0-4-4kc-malta -P qemu/mips/1/
wget https://people.debian.org/~aurel32/qemu/mips/debian_wheezy_mips_standard.qcow2 -P qemu/mips/1/

#mipsel
wget https://people.debian.org/~aurel32/qemu/mipsel/vmlinux-3.2.0-4-4kc-malta -P qemu/mipsel/1/
wget https://people.debian.org/~aurel32/qemu/mipsel/debian_wheezy_mipsel_standard.qcow2 -P qemu/mipsel/1/
qemu 実行のための sudoers の設定

Detux は SSH を使用して VM と通信するため、現在 VM にネットワーク機能を持たせるためにこれが必要です。リストされたバイナリが同じパスにある場合、/etc/sudoers に以下の行を追加してください (非 root ユーザーの場合のみ):

root@kitploit:~
Cmnd_Alias  QEMU_CMD    =   /usr/bin/qemu-*, /sbin/ip, /sbin/ifconfig, /sbin/brctl
<your detux username here> ALL = (ALL) NOPASSWD: QEMU_CMD

パスが異なる場合は、バイナリへのパスを変更してください。

ネットワークセットアップ

以下の設定を /etc/qemu-ifup に追加してください。すでにある場合は元のファイルをバックアップしてください。

root@kitploit:~
#! /bin/sh
# Script to bring a network (tap) device for qemu up.
# The idea is to add the tap device to the same bridge
# as we have default routing to.

# in order to be able to find brctl
PATH=$PATH:/sbin:/usr/sbin
ip=$(which ip)
ifconfig=$(which ifconfig)

echo "Starting"  $1
if [ -n "$ip" ]; then
   ip link set "$1" up
else
   brctl=$(which brctl)
   if [ ! "$ip" -o ! "$brctl" ]; then
     echo "W: $0: not doing any bridge processing: neither ip nor brctl utility not found" >&2
     exit 0
   fi
   ifconfig "$1" 0.0.0.0 up
fi

switch=$(ip route ls | \
    awk '/^default / {
          for(i=0;i<NF;i++) { if ($i == "dev") { print $(i+1); next; } }
         }'
        )
    if [ -d /sys/class/net/br0/bridge/. ]; then
        if [ -n "$ip" ]; then
          ip link set "$1" master br0
        else
          brctl addif br0 "$1"
        fi
        exit    # exit with status of the previous command
    fi

echo "W: $0: no bridge for guest interface found" >&2

eth0 が VM とブリッジしたいインターフェースである場合、eth0 の設定を削除し、/etc/network/interfaces で以下の設定を使用してください。

root@kitploit:~
auto br0
iface br0 inet dhcp
  bridge_ports eth0
  bridge_maxwait 0

eth0 で使用していた静的アドレスを指定することもできます。

VM のセットアップ

各 QEMU イメージの VM イメージが配置されているフォルダに移動します。例: ARM の場合:

root@kitploit:~
<your detux folder>/qemu/arm/1/

各イメージについて、https://people.debian.org/~aurel32/ にある VM 起動手順に従って VM を起動してください。ただし、非 root ユーザーの場合、sudo を使用する必要があります。

VM 起動コマンド ( を希望の MAC アドレスに置き換えてください):

root@kitploit:~
#x86
sudo qemu-system-i386 -hda qemu/x86/1/debian_wheezy_i386_standard.qcow2 -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio


#x86-64
sudo qemu-system-x86_64 -hda qemu/x86-64/1/debian_wheezy_amd64_standard.qcow2 -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#arm
sudo qemu-system-arm -M versatilepb -kernel qemu/arm/1/vmlinuz-3.2.0-4-versatile -initrd qemu/arm/1/initrd.img-3.2.0-4-versatile -hda qemu/arm/1/debian_wheezy_armel_standard.qcow2 -append "root=/dev/sda1" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#mips
sudo qemu-system-mips -M malta -kernel qemu/mips/1/vmlinux-3.2.0-4-4kc-malta -hda qemu/mips/1/debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#mipsel
sudo qemu-system-mipsel -M malta -kernel qemu/mipsel/1/vmlinux-3.2.0-4-4kc-malta -hda qemu/mipsel/1/debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

Detux は、IP アドレスと ssh セットアップが設定済みの VM スナップショットを必要とします。

スナップショットの設定手順:
  • 未設定の VM イメージを選択し、上記のコマンドを使用してターミナルで起動します。
  • VM モニターに接続します。VNC クライアントを 127.0.0.1:5901 に接続し、VM が完全に起動するのを待ちます。
  • デフォルトの root 認証情報 (root/root) でログインします。
  • ホストから到達可能/アクセス可能になるように VM のネットワークインターフェースを設定します。
  • VM に SSH サーバーをセットアップし、必要に応じてその他の設定を行います。
  • 設定後、ネットワーク接続を受け付ける実行状態で起動します。
  • qemu コンソールがオンになっているターミナルに戻ります。次のように表示されます:
root@kitploit:~
(qemu)
  • qemu コンソールで以下の qemu コマンドを入力して VM 状態を保存します:
root@kitploit:~
(qemu) savevm init
  • QEMU コンソールを終了します:
root@kitploit:~
(qemu) q

-- すべての VM に対して手順 1 から繰り返します

キャプチャ権限の設定

非 root ユーザーがパケットをキャプチャできるようにするには、Dumpcap にキャプチャ権限が必要です。(https://wiki.wireshark.org/CaptureSetup/CapturePrivileges)

以下のコマンドで有効にできる場合があります:

root@kitploit:~
sudo groupadd -g wireshark
sudo usermod -a -G wireshark <your user name>
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

権限を適用するには、ログアウトして再ログインするか、ホストを再起動する必要がある場合があることに注意してください。 パケットをキャプチャできない場合や dumpcap に関連するエラーが発生する場合は、ユーザーの権限が正しく設定されているか、dumpcap のパスが正しいかを確認する必要があります。

Detux 設定

メインディレクトリにある detux.cfg ファイルを設定する必要があります。各 VM セクションには、正しいネットワークパラメータと SSH 認証情報を設定する必要があります。必要に応じて root/非 root ユーザーを選択できます。

Detux の実行

core ディレクトリにある Detux ライブラリは、分析のニーズに合わせて使用できます。リポジトリには detux.py が含まれており、指定されたバイナリを解析して pcap を pcap フォルダに保存し、JSON 出力を指定されたファイルパスに書き込みます。

使用方法

root@kitploit:~
usage: detux.py [-h] --sample SAMPLE [--cpu {x86,x86-64,arm,mips,mipsel}]
                [--int {python,perl,sh,bash}] --report REPORT

optional arguments:
  -h, --help            show this help message and exit
  --sample SAMPLE       Sample path (default: None)
  --cpu {x86,x86-64,arm,mips,mipsel}
                        CPU type (default: auto)
  --int {python,perl,sh,bash}
                        Architecture type (default: None)
  --report REPORT       JSON report output path (default: None)

例:

root@kitploit:~
python detux.py --sample test_script/example_binary1 --report reports/example_report1.json

コントリビューター:

  • Vikas Iyengar - 頭脳 ( dudeintheshell , email: [email protected] )
  • Muslim Koser - 技術的思考 ([email protected])
  • Rahul Binjve - pcap 解析の支援 (@c0dist, twitter)
  • Amey Gat - pcap 解析の支援 (ameygat, [email protected] )

謝辞

事前構築された VM イメージを提供してくれた Aurélien Jarno (@aurel32) (https://www.aurel32.net/) に感謝します。

ツールをダウンロード