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

#解析環境について
ホスト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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/914dfd49-8287-d5cf-a324-bf76d62704ee.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
<img width="460" alt="スクリーンショット 2019-09-23 13.07.54.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/df8fb76a-40a1-0831-f3b9-241f4aaedea6.png">
cuckoo webと入力するとwebインターフェイスが使えるようになる。
<img width="1369" alt="スクリーンショット 2019-09-23 14.49.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/5545e3aa-6998-afd6-4f15-21071d9e2be2.png">

###仮想環境検知対策
init.regの作成
参考：[secvision22](https://secvision22.wordpress.com/tag/cuckoo-sandbox/)

```reg: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など)
・ネットワークの設定
&nbsp;&nbsp;&nbsp;&nbsp;IP:192.168.56.101
&nbsp;&nbsp;&nbsp;&nbsp;GW:192.168.56.1
&nbsp;&nbsp;&nbsp;&nbsp;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の部分を編集
<img width="958" alt="スクリーンショット 2019-09-23 15.25.44.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/864509d2-ae56-e919-d42b-c1caa4e293a0.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
<img width="770" alt="スクリーンショット 2019-09-23 16.29.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/ed2b3784-ae32-9fa3-e471-259b9cf4b9c1.png">

###httpsでもできるようにする
http\://192.168.56.1:8080/ に接続
<img width="770" alt="スクリーンショット 2019-09-23 16.33.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/499caaff-8705-607d-f5d4-bb6bbad16cdb.png">
右上のCA Certificateから証明書をTrusted Root Certification Authoritiesにインストール。
httpsで接続してみて同じように表示されればOK

#実際に使ってみる
レポート
<img width="1299" alt="スクリーンショット 2019-09-28 12.02.08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/886ecc1e-af79-107c-04ca-ecd9bb15e0be.png">
<img width="1299" alt="スクリーンショット 2019-09-28 12.01.04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/ae9437a5-b3c0-e979-d2c5-ac9f4aef52f5.png">
<img width="1299" alt="スクリーンショット 2019-09-28 11.59.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/da0e991e-0190-1f36-2e13-8ab7bab77756.png">
スクショ
<img width="1299" alt="スクリーンショット 2019-09-28 11.57.07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/bda01ff7-1935-30c1-1af7-0df279188d9c.png">
INetSimとのやりとり
<img width="957" alt="スクリーンショット 2019-09-23 21.12.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/5cd25b72-3703-325f-7ff3-9787341e5584.png">