LoginSignup
8
8

More than 3 years have passed since last update.

Cuckoo Sandbox + INetSim + BurpSuiteでマルウェア解析環境構築

Last updated at Posted at 2019-09-23

解析環境について

ホストOS:Ubuntu 18.04
ゲストOS:Windows7 64bit
使ったもの
・VirtualBox 5.2.42
・BurpSuite community 2020.4
・Cuckoo Sandbox 2.0.7
・INetSim 1.3.1

イメージ

cuckoo.001.jpeg

Cuckoo Sandboxのインストール

VirtualBoxのインストールは省略

VirtualBoxのホストオンリーアダプターを作成

$ vboxmanage hostonlyif create
$ vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0

cuckooユーザ作成

$ sudo adduser cuckoo
$ sudo usermod -a -G vboxusers cuckoo

volatilityのインストール

$ sudo apt install pcregrep libpcre++-dev
$ sudo pip install pycrypto
$ git clone https://github.com/volatilityfoundation/volatility
$ cd volatility
$ python setup.py build
$ sudo python setup.py build install

Yaraのインストール

$ wget https://github.com/VirusTotal/yara/archive/v4.0.1.tar.gz
$ tar -zxf v4.0.1.tar.gz
$ cd yara-4.0.1
$ ./bootstrap.sh
$ ./configure --enable-cuckoo
$ make
$ sudo make install
$ sudo pip install yara-python

cuckooのインストール

$ sudo apt install dkms
$ sudo apt install python python-pip python-dev libffi-dev libssl-dev
$ sudo pip3 install -U pip setuptools
$ sudo apt install python-virtualenv python-setuptools libjpeg-dev zlib1g-dev swig
$ sudo apt install automake libtool make gcc libjansson-dev flex bison mongodb
$ sudo apt install ssdeep python-pyrex libfuzzy-dev tcpdump apparmor-utils
$ sudo apt install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
$ sudo pip install distorm3 pydeep m2crypto 
$ git clone -b 2.0.7 https://github.com/cuckoosandbox/cuckoo.git
$ cd cuckoo
$ python setup.py sdist develop

tcpdumpの設定

$ sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

レポート機能の有効化

.cuckoo/conf/reporting.confを編集

[mongodb]
enabled = yes
host = 127.0.0.1
port = 27017
db = cuckoo
store_memdump = yes
paginate = 100
# MongoDB authen

cuckooと入力してこうなればOK
スクリーンショット 2019-09-23 13.07.54.png
cuckoo webと入力するとwebインターフェイスが使えるようになる。
スクリーンショット 2019-09-23 14.49.22.png

仮想環境検知対策

init.regの作成
参考:secvision22

init.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYSTEM]
"SystemBiosDate"="06/12/10"
"SystemBiosVersion"="BC1.05"
"VideoBiosVersion"="VC1.20"

[-HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\VBOX__]
[-HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\VBOX__]
[-HKEY_LOCAL_MACHINE\HARDWARE\ACPI\RSDT\VBOX__]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\Virtual Box Guest Additions]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\VBox*]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_80ee&dev_cafe]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}\0020]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\VBoxGuest\Enum]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}\0020]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\CriticalDeviceDatabase\pci#ven_80ee&dev_cafe]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}\0020]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_80ee&dev_cafe]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VBoxGuest\Enum]

ゲストOSの設定

・ubuntuの.cuckoo/conf/virtualbox.confを編集

# Specify a comma-separated list of available machines to be used. For each
# specified ID you have to define a dedicated section containing the details
# on the respective machine. (E.g. cuckoo1,cuckoo2,cuckoo3)
machines = cuckoo1

・イメージ名をcuckoo1にする
・VirtualboxGuestAdditionのインストール
・Firewallの無効化
・UACの無効化
・Python2.7をインストール
・PythonPILをインストール
・他に色々ソフトを入れてみる(Microsoft Office、Java RE、Adobe Acrobat Readerなど)
・ネットワークの設定
    IP:192.168.56.101
    GW:192.168.56.1
    DNS:192.168.56.1
・ubuntuの.cuckoo/agent/agent.pyをWindowsのスタートアップに持ってくる。
・先ほど作成したinit.regをWindowsのスタートアップに持ってくる。
・ホストオンリーアダプターにvboxnet0を設定する
・再起動してスナップショットを作成する

INetSimのインストールと設定

インストール

$ sudo echo "deb http://www.inetsim.org/debian/ binary/" > /etc/apt/sources.list.d/inetsim.list
$ sudo wget -O - https://www.inetsim.org/inetsim-archive-signing-key.asc | apt-key add -
$ sudo apt update
$ sudo apt install inetsim

/etc/inetsim/inetsim.confを編集

service_bind_address    0.0.0.0
dns_default_ip    192.168.56.1
https_bind_port 8443

systemd-resolvedの無効化

$ sudo systemctl disable systemd-resolved.service
$ sudo service systemd-resolved stop

サブディレクトリの作成

$ mkdir analysis
$ cp /etc/inetsim/inetsim.conf analysis
$ sudo cp -r /var/lib/inetsim analysis/data
$ sudo chmod -R 777 analysis/data

BurpSuiteの設定

インストールは省略。rootユーザで起動する。

Proxy Listenersの部分を編集

スクリーンショット 2019-09-23 15.25.44.png

一つ目
Bindingタブ
・Bind to port:8080
・Bind to address:all interfaces

二つ目
Bindingタブ
・Bind to port:443
・Bind to address:all interfaces
Request handlingタブ
・Redirect to host:localhost
・Redirect to port:8443
・Support invisible proxyingのチェックボックスにチェックを入れる

INetSimの起動

$ cd analysis
$ sudo inetsim --data data --conf inetsim.conf

ゲストOS側で適当なURLでhttp接続して、以下のようになればOK
スクリーンショット 2019-09-23 16.29.12.png

httpsでもできるようにする

http://192.168.56.1:8080/ に接続
スクリーンショット 2019-09-23 16.33.31.png
右上のCA Certificateから証明書をTrusted Root Certification Authoritiesにインストール。
httpsで接続してみて同じように表示されればOK

実際に使ってみる

レポート
スクリーンショット 2019-09-28 12.02.08.png
スクリーンショット 2019-09-28 12.01.04.png
スクリーンショット 2019-09-28 11.59.45.png
スクショ
スクリーンショット 2019-09-28 11.57.07.png
INetSimとのやりとり
スクリーンショット 2019-09-23 21.12.47.png

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8