【2024年版】Cuckoo Sandboxを入れて見た!
今回入れるもの
Cuckoo Sandboxを入れます。
実は、このCuckoo公式に書かれている方法だけでは上手く行きません。
最後のCuckooの更新からだいぶ時間が経っており、aptやpipで入るバージョン高すぎたり、aptには既に存在しないというのが起きています。
ということで、それに対して対策した上で、インストールしてみましょう。
前提
OS : Ubuntu 18.04.6 LTS
※ OSバージョンが高いと、virtualboxが起動しない。
SSHでXYCオプションが使える環境
※ WSLならば、外部ツール入れず動くのでおすすめ。
※ 直接GUI環境触れるならば、SHH話無視してOK
最初のおまじない
sudo apt update
apt自動アップデートを止める
sudo vi /etc/apt/apt.conf.d/20auto-upgrades
をして、下記の通りに、ファイルを書き換える。
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
今回、わざと低いバージョンのパッケージなどを入れているので、自動アップデート止めないと、勝手に最新になってしまいエラーが出て困ってしまうので
python2 インストール
sudo apt list | grep python | less
で、pythonパッケージで、バージョンが2系であることを確認した上で、下記のコマンドを打つ
sudo apt install python
python2 pipインストール
wget https://files.pythonhosted.org/packages/27/79/8a850fe3496446ff0d584327ae44e7500daf6764ca1a382d2d02789accf7/pip-20.3.4-py2.py3-none-any.whl
python pip-20.3.4-py2.py3-none-any.whl/pip install --no-index pip-20.3.4-py2.py3-none-any.whl
virtualboxインストール
細かい説明はこっち見てね。
wget https://download.virtualbox.org/virtualbox/5.2.44/virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb
sudo apt install g++ iasl xsltproc libxml2-dev libidl-dev libvpx-dev libopus-dev libpng-dev libsdl1.2-dev libxmu-dev libdevmapper-dev libcap-dev libc6-dev-i386 libssl-dev libssh2-1-dev libxinerama-dev libxrandr-dev qt5-default makeself libpam0g-dev
sudo apt install ./virtualbox-5.2_5.2.44-139111~Ubuntu~bionic_amd64.deb
念のため動作確認する。
VBoxManage list vms
エラーが出てこなければOK!
python pip
sudo apt install python-pil
python -m pip install setuptools==44.1.1 setuptools_scm==5.0.2
python -m pip install configparser==4.0.2 zipp==1.2.0 importlib_metadata==2.1.3 importlib_resources==3.3.1 platformdirs==2.0.2 filelock==3.2.1 virtualenv==20.15.1
mongodb
sudo apt install mongodb
sudo service mongodb start
※ 本当は、mongodbの対応MAXバージョンは、5までだが、ubuntuのaptにめっちゃ古いのしか入ってないので、これでOK!
postgressql
sudo apt install libpq-dev postgresql
cuckoo
sudo adduser cuckoo
sudo usermod -a -G vboxusers cuckoo
sudo usermod -a -G libvirtd cuckoo
virtualenv venv
sudo apt install libjpeg-dev python-dev zlib-devel
python2.7 -m pip install Pillow==3.2.0
python2.7 -m pip install cuckoo
tcpdump
sudo apt install tcpdump apparmor-utils
sudo aa-disable /usr/sbin/tcpdump
sudo groupadd pcap
sudo usermod -a -G pcap cuckoo
sudo chgrp pcap /usr/sbin/tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
sudo apt install libcap2-bin
getcap /usr/sbin/tcpdump
guacd
sudo apt install libguac-client-rdp0 libguac-client-vnc0 libguac-client-ssh0 guacd
M2Crypto
wget https://launchpad.net/ubuntu/+source/m2crypto/0.24.0-2/+build/13109848/+files/python-m2crypto_0.24.0-2_amd64.deb
sudo apt install swig
sudo apt install ./python-m2crypto_0.24.0-2_amd64.deb
Cuckoo起動
Webで確かめる
~/.cuckoo/conf/reporting.conf
を下記のようにmongodbのenabledをyesにする。
[mongodb]
enabled = yes
下記コマンドをするとサーバーが起動、**IPアドレス**:8000
にアクセスすればよい。
cuckoo web runserver **IPアドレス**:8000
仮想環境内でのcuckoo設定
-
~/.cuckoo/agent/
にあるpythonプログラムを、仮想環境内で起動しておく。
※ 仮想環境にpythonが入ってなければpython2を入れておく。 - スナップショットを撮る。
-
~/.cuckoo/conf/virtualbox.conf
のsnapshot項目を任意の文字に書き換える。
# (Optional) Specify the snapshot name to use. If you do not specify a snapshot
# name, the VirtualBox MachineManager will use the current snapshot.
# Example (Snapshot1 is the snapshot name):
snapshot = **設定したスナップショット名**
ヘルプ
cuckooやvirtualenvのコマンドが効かない
cuckooやvirtualenvのコマンドが効かない場合は、一度、SSHを再ログインする。
※ パスが更新されていないため。sourceでもいいけど、分かりにくいので再ログインおすすめ。
Discussion