目录
0x01 基础信息
0x02 主机host操作
1.需要安装的依赖:
2.安装tcpdump并确认安装无误:
3.安装pydeep:
4.安装mongodb:
5.安装Volatility:
6.安装M2Crypto:
7.Host Os创建user
8.主机上安装cuckoo sandbox
9.Cuckoo文件配置阶段
10.安装虚拟机
0x03 客户机安装和配置
1.安装虚拟机:
2.客户机上安装python2.7环境,并安装常见软件
3.客户机配置网络
4.agent.py运行及snapshot的保存
0x04 Cuckoo运行注意
0x05 参考
Linux(Ubuntu)中查看ubuntu版本命令如下:
cat /proc/version
ns3@stark:~$ cat /proc/version
Linux version 4.15.0-50-generic (buildd@lcy01-amd64-013) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019
ns3@stark:~$ sudo apt-get install git mongodb libffi-dev build-essential python-django python python-dev python-pip python-pil python-sqlalchemy python-bson python-dpkt python-jinja2 python-magic python-pymongo python-gridfs python-libvirt python-bottle python-pefile python-chardet tcpdump -y
#tcpdump执行需要使用root权限,可以使用下列指令使得其不使用root权限也可以执行
ns3@stark:~$ sudo setcap cap_net_raw,cap_net_admin=eip
/usr/sbin/tcpdump
#进行验证
ns3@stark:~$ getcap /usr/sbin/tcpdump
/usr/sbin/tcpdump = cap_net_admin,cap_net_raw+eip
ns3@stark:~$ wget http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz
ns3@stark:~$ tar -zxf ssdeep-2.13.tar.gz
ns3@stark:~$ cd ssdeep-2.13
ns3@stark:~/ssdeep-2.13$ ./configure
ns3@stark:~/ssdeep-2.13$ make
ns3@stark:~/ssdeep-2.13$ sudo make install
#确认安装无误
ns3@stark:~/ssdeep-2.13$ ssdeep -V
2.13
ns3@stark:~/ssdeep-2.13$ sudo pip install pydeep
ns3@stark:~/ssdeep-2.13$ pip show pydeep
用于使用Django的Web界面
sudo apt-get install -y mongodb
先安装依赖:
ns3@stark:~/ssdeep-2.13$ sudo pip install openpyxl
ns3@stark:~/ssdeep-2.13$ sudo pip install ujson
ns3@stark:~/ssdeep-2.13$ sudo pip install pycrypto
ns3@stark:~/ssdeep-2.13$ sudo pip install distorm3
ns3@stark:~/ssdeep-2.13$ sudo pip install pytz
然后安装Volatility:
ns3@stark:~$ git clone https://github.com/volatilityfoundation/volatility.git
ns3@stark:~$ cd volatility
ns3@stark:~/volatility$ python setup.py build
ns3@stark:~/volatility$ python setup.py install
确认安装无误:
ns3@stark:~/volatility$ python vol.py -h
Volatility Foundation Volatility Framework 2.6.1
ns3@stark:$ sudo pip install m2crypto == 0.24.0
这里直接将ns3加入vboxusers group,第一句无需执行
ns3@stark:~$ sudo adduser ns3
ns3@stark:~$ sudo usermod -a -G vboxusers ns3
在virtualenv安装cuckoo https://cuckoo.sh/docs/installation/host/installation.html
ns3@stark:~$ sudo apt install virtualenv
ns3@stark:~$ virtualenv venv
ns3@stark:~$ . venv/bin/activate (venv)
ns3@stark:~$ pip install -U pip setuptools (venv)
ns3@stark:~$ pip install -U cuckoo
进入:source venv/bin/activate
退出:deactivate
# Places the CWD in /opt/cuckoo. Note that Cuckoo will normally create the CWD itself, but in order to create a directory in /opt root capabilities are usually required.
$ sudo mkdir /opt/cuckoo
$ sudo chown ns3:ns3 /opt/cuckoo
$ cuckoo --cwd /opt/cuckoo
You could place this line in your .bashrc, for example.
$ export CUCKOO=/opt/cuckoo
$ cuckoo
virtualbox.conf只需修改snapshot = snapshot1,其余默认。
reporting.conf
[jsondump]
enabled = yes
indent = 4
calls = yes
[mongodb]
enabled = yes # no-->yes
host = 127.0.0.1
port = 27017
db = cuckoo
store_memdump = yes
paginate = 100
此处报错
2019-08-05 09:51:16,664 [cuckoo] ERROR: The maximum number of open files is low (4096). If you do not increase it, you may run into errors later on. 2019-08-05 09:51:16,664 [cuckoo] ERROR: See also: https://cuckoo.sh/docs/faq/index.html#ioerror-errno-24-too-many-open-files
解决办法:https://easyengine.io/tutorials/linux/increase-open-files-limit/
再下载签名
ns3@stark:~$ . venv/bin/activate
(venv) ns3@stark:~$ cuckoo --cwd /opt/cuckoo community
(venv) ns3@stark:~$
$ sudo apt-get install virtualbox
为了方便后续操作,安装VBoxManage:
ubuntu查看virtualbox版本:通过再次输入安装命令(箭头↑即可)
ns3@stark:~$ sudo apt-get install virtualbox
[sudo] ns3 的密码:
正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 virtualbox 已经是最新版 (5.2.18-dfsg-2~ubuntu18.04.5)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 618 个软件包未被升级。
通过版本5.2在网站上https://www.virtualbox.org/wiki/Download_Old_Builds_5_2发现virtualbox-5.2_5.2.18-124319_Ubuntu_bionic_amd64.deb
因此对应的扩展包为http://download.virtualbox.org/virtualbox/5.2.18/Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.vbox-extpack
ns3@stark:~$ wget http://download.virtualbox.org/virtualbox/5.2.18/Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.vbox-extpack
ns3@stark:~$ sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.vbox-extpack
在virtualbox上新建windows7客户机,命名为cuckoo1 客户机配置: 网络设置选择家庭网络或者工作网络,不要选择公用网络
关闭防火墙-----全部关闭
关闭自动更新
关闭UAC-----搜索uac,然后将方块移至到最下方即可
安装增强功能>设置共享文件夹-----便于后期将主机的agent.py共享到虚拟机
pip install Pillow
在客户机上安装常用的软件:wps、qq、wechat、搜狗输入法、chrome浏览器
选择家庭网络或者工作网络
此时 客户机可以ping通主机,无法访问baidu
通过在主机上设置网络
随后设置hostonly网络:
创建vboxnet0 此处也可以通过图形界面进行设置(在virtualbox的全局设置>网络 中)
ns3@stark:~$ VBoxManage hostonlyif create
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Interface 'vboxnet0' was successfully created
客户机的网络适配器设置为如下
IP: 192.168.56.101
Subnet mask:255.255.255.0
Default gateway: 192.168.56.1
Prefered DNS server: 192.168.56.1
以下为在主机上配置
开启转发
ns3@stark:~$ sudo vim /etc/sysctl.conf
#去掉net.ipv4.ip_forward=1前面的注释
使用iptables提供NAT机制(wlx14cf92055fba为网卡)
在配置iptables规则之前要先iptables -L看下有没有现有的防火墙规则,有的话可以sudo iptables -D删除
ns3@stark:~$ sudo iptables -A FORWARD -o wlx14cf92055fba -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT
ns3@stark:~$ sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT ns3@stark:~$ sudo iptables -A POSTROUTING -t nat -j MASQeth0UERADE
ns3@stark:~$ sudo iptables -t nat -A POSTROUTING -o wlx14cf92055fba -s 192.168.56.0/24 -j MASQUERADE
持久化配置
ns3@stark:~$ sudo iptables-save > /etc/iptables.rules
上面的命令会产生一个iptables.rules文件,此时再通过下面的命令
ns3@stark:~$ sudo vim /etc/network/interfaces
打开之后在文件之后添加下面两条语句
pre-up iptables-restore < /etc/iptables.rules # 开机时启动iptables规则
post-down iptables-save > /etc/iptables.rules # 关机前保存当前所有的iptables规则
开启dns服务
ns3@stark:~$ sudo apt-get install -y dnsmasq
ns3@stark:~$ sudo service dnsmasq start
此时的网络状态为主机可以ping通客户机,客户机可以ping通主机和百度。
因为主机不能上网[我之前配置的是可以上网的,但是不能上网也不影响这里的cuckoo的运行,如果有知道的朋友,可以告诉我一下,谢谢],因此没有采用这里的iptables持久化配置,选择了脚本每次开机执行配置iptables命令配置。
通过共享文件夹将agent.py放在win7上,运行agent.py,并在此时拍摄快照,保存为snapshot1。
之前在主机部分安装了Cuckoo,此时只需要分别在两个终端窗口执行以下命令,就可以在web界面[http://127.0.0.1:8000]上传样本进行分析。
ns3@stark:~$ . venv/bin/activate
(venv) ns3@stark:~$ cuckoo --cwd /opt/cuckoo web
ns3@stark:~$ . venv/bin/activate
(venv) ns3@stark:~$ cuckoo --cwd /opt/cuckoo -d
https://cuckoo.sh/docs/
Cuckoo SandBox V2.0.4安装指南
Cuckoo Installation | 0x90e's Blog