Setting up Cuckoo Sandbox Step by Step Guide (Malware Analysis Tool)
Cuckoo のセットアップ過程が複雑で、セットアップに多くの時間がかかったため、この記事を書くことを考えました。 Cuckoo はオープンソースの自動マルウェア解析ツールで、Windows、Linux、macOS、Android などのさまざまなオペレーティング システムに影響を与える多くの異なる悪意のあるファイルを解析することができます。 静的マルウェア解析 – マルウェアを実際に実行することなく解析します。 ファイル名、MD5 チェックサムまたはハッシュ、ファイル タイプ、ファイル サイズ、ウイルス対策検出ツールによる認識などの特徴を考慮します。 動的マルウェア解析 – マルウェアを実際に実行し、API コール、メモリ使用量、ネットワーク トラフィックなどの動作を解析して解析すること。(Cuckoo は動的マルウェア解析ツールです。)
サンドボックスとは何か?
コンピューター セキュリティでは、ホスト マシンやオペレーティング システムを危険にさらすことなく、未知、未テストまたは信頼できないプログラムまたはコード、プログラムを仮想環境内で実行することを指します。 これをサンドボックスと呼びます。 Cuckooは、未知で信頼できないアプリケーションやファイルを隔離された環境内で実行し、その動作を分析する機能を提供してくれます。
ホストマシンのセットアップ
私のホストマシンはUbuntu 18.04 で16GBのRAMが搭載されています。 ホストマシンにはLinuxマシンを使用することを強くお勧めします。 Cuckoo をホストマシンにインストールする前に、いくつかの python ライブラリとソフトウェアパッケージのインストールが必要です。 また、Cuckooの実行にはpython 2.7が必要であることに留意してください。 (Cuckoo は古いバージョンの python や python 3 には対応していません)
- パッケージ情報を更新し、利用可能なアップデートをダウンロードします。
sudo apt-get update
sudo apt-get upgrade - Next, install python dependencies required for Cuckoo:
sudo apt-get install python python-pip python-dev libffi-dev libssl-dev
sudo apt-get install python-virtualenv python-setuptools
sudo apt-get install libjpeg-dev zlib1g-dev swig - Django-based Web Interfaceを使用するにはMongoDBが必須となるため、これをインストールします。
sudo apt-get install mongodb - データベースとして PostgreSQL を使用するには、PostgreSQL もインストールする必要があります:
sudo apt-get install postgresql libpq-dev
次のステップは、仮想マシンソフトウェアをホストマシンにインストールすることです。 CuckooはVirtualBoxをVMソフトウェアとして使用することを推奨しています。 VirtualBoxのバージョン5.2をインストールすることをお勧めします。
- マルウェア実行時のネットワークアクティビティをダンプするために、tcpdumpをインストールします。 4802>sudo apt-get install swig
sudo pip install m2crypto==0.24.0
これらのパッケージをインストールしたら、今度はCuckooをシステムにインストールします。 インストールするには、以下のコマンドを実行します。
sudo pip install -U pip setuptools
sudo pip install -U cuckoo
Cuckoo をインストールしたら、VirtualBoxとそのネットワークを正しくセットアップする必要があります。
- 以下のコマンドを実行することにより、「ホスト専用アダプタ」を作成できます:
vboxmanage hostonlyif create
このコマンドにより、ホストインターフェースvboxnet0が作成されます。
- 先に作成したvboxnet0インターフェースにIPアドレスを設定します。
vboxmanage hostonlyif ipconfig vboxnet0 – ip 192.168.56.1
次にVirtualBoxで仮想マシンを作成しOSをインストールしてください。 Windows7を推奨します。 OSのインストールが終わったら、VMのネットワークアダプタを「Host Only Adapter」に設定する必要があります。 これは GUI から行うのが簡単です。
で “Host-only Adapter” を設定したあと、インターネット接続がホストマシーンからゲスト VM へルーティングするように IP 転送を設定する必要があります。 ここでは、VMに割り当てられたインターフェースはvboxnet0、VMのIPアドレスは192.168.56.0/24のサブネットにある192.168.56.101です。 そして、インターネットに接続されている発信インターフェースはeth0です。 無線LANでインターネットに接続している場合などでは、変わることがあります。 インターネットに接続されているインターフェースは、ifconfigというコマンドで調べることができます。 ここでは、インターネットに接続されているインターフェイスをeth0,
と仮定します。これらのコマンドを実行した後、カーネルでIPフォワーディングを有効にする必要があります。
echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
sudo sysctl -w net.ipv4.ip_forward=1
これらの規則は次の再起動までしか有効でありません。
sudo iptables -L
Set up the Guest machine
さて、Windows7がインストールされたゲストマシンの設定を始めます。 まず、ネットワークアダプタの設定を以下のようにします。
- ネットワークの設定を変更したら、VMに対して以下のカスタマイズを行う必要があります。 (画像)
2.User Account Control Settingsを変更する。 (画像)
3. Adobe Reader, Adobe Flash Player, Microsoft OfficeおよびJavaのお好みのバージョンをインストールする。 (オプション)
4.python 2.7 for Windows をインストールする – python 2.7 はここからダウンロードできます
5. ホストマシンから、~/.cuckoo/agent ディレクトリにある agent.py ファイルをアップロードしてください。 Put it to the windows startup folder located in “C:\Users%USERNAME%AppDataRoaming╱Microsoft╱WindowsⒸProgramsⒸStartup”. VMを再起動すると、VM内にターミナルが開いているのが確認できる。 (VirtualBoxの設定でドラッグ&ドロップを有効にすることができます。 Enable only to Drag and Drop from host to guest).
Change Cuckoo Software Configuration
The cuckoo configuration files are located in the ~/.cuckoo/confディレクトリー. これらのファイルは、このコマンドを使用してgeditで開くことができます:
sudo gedit cuckoo.conf
以下の変更をconfファイルで行ってください.
cuckoo.conf
auxiliary.cuckoo.conf
cuckoo.conf
acco.cuckoo.conf
Leave a Reply