电脑:win10
虚拟机:VM
linux环境:Ubuntu16
linux下虚拟机:virtualbox
客机:win xp
Ubuntu主机环境
1.安装cuckoo依赖
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
2.安装tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
getcap /usr/sbin/tcpdump
输出:/usr/sbin/tcpdump = cap_net_admin,cap_net_raw+eip
则表示已正确安装
3.安装pydeep
wget http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz
tar -zxf ssdeep-2.13.tar.gz
cd ssdeep-2.13
./configure
make
sudo make install
确认安装无误
ssdeep -V #检查版本
pip show pydeep #再安装一次看看会不会提示已安装
4.安装Volatility
依赖
sudo pip install openpyxl ujson pycrypto distorm3 pytz
安装
git clone https://github.com/volatilityfoundation/volatility.git
cd volatility
python setup.py build
python setup.py install
确认volatility安装无误
python vol.py -h
5.安装cuckoo
依赖
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
安装
pip install -U cuckoo
在ubuntu文件夹下按住ctrl+h查看是否有./cuckoo这个文件,没有的话执行下面语句
cd /home/username/.local/bin/ #注意这里的username是你的Ubuntu用户名
python cuckoo
执行完毕后,测试能否打开cuckoo
cd /home
cuckoo -d
复制方便启动
cp /home/(username)/.local/bin/cuckoo /usr/local/bin
有报错没关系说明能够启动了,后面会进行配置
客户机配置
1.virtualbox安装,这里我安装的是6.0版本,因为5版本我安装后面没有虚拟机的界面只有我后面装的xp的界面,让我没法配置网络了。
cat /etc/lsb-release
打开/etc/apt/sources.list添加
deb https://download.virtualbox.org/virtualbox/debian xenial contrib
这里有个坑就是,我复制进去几次都不成功老是报错说我添加的这一行有问题,然后我修改了后面连接出的空格,重新打了一次就好了。。。
添加公钥
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
更新
sudo apt-get update
安装
sudo apt-get install virtualbox-6.0
2.安装xp系统
起个名,这个名后面配置会用到
一路next即可
然后setting->storage->empty
添加xp镜像
System->Motherboard,改变顺序
这里有个问题
这样设置
System->Acceleration,去掉对勾
然后就开始安装,中间选择F8继续
安装成功之后进去关闭防火墙,自动更新,病毒保护
3.基本网络配置
网络名称是vboxnet0
然后去xp虚拟机设置
Setting->Network->adapter1,改为host-only
然后在xp内打开网络连接配置
控制面板->网络连接->右键属性->initernet协议属性
然后在Ubuntu下手动设置IP
然后重启网络
重启完成后
这里的网关可以在VM里面查看
4.转发IP
sudo -i
sysctl -w net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
gedit /etc/sysctl.conf #去掉net.ipv4.ip_forward=1 前的#号,保存
sysctl -p /etc/sysctl.conf
配置iptables
iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
sudo gedit /etc/network/interfaces
添加
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules
测试host-only连接方式是否正确配置
1.此时Ubuntu主机就不能访问网页了,但是ping 8.8.8.8的话是可以ping通的,因此肯定是DNS出了问题,但是不影响,可以先不管。
如果非要管的话也行,终端输入sudo gedit /etc/resolv.conf
将nameserver 127.0.0.53 改为nameserver 114.114.114.114,保存,就可以访问网页了,但是千万不能重启网络,这样的话又会变成127.0.0.53了,想要彻底解决问题的话可以参考:https://www.helplib.com/ubuntu/article_162736
https://blog.csdn.net/weixin_33920401/article/details/87407103
2.此时XP是可以正常访问网页的。
这我好像有点问题,但是好像也不影响
5.启动客户机的agent
1.在Ubuntu环境中home下新建一个share文件夹,将,.cuckoo/agent/agent.py复制进去,然后在share打开终端下载python2.7和PIL
wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
wget http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe
2.安装virtualbox增强功能,主要是为了能够在virtualbox中共享文件夹
这里我是按照步骤走的,但是没走下去,最后还是可以共享文件夹。
所以这里可以先试一下,看能不能共享,再决定是否安装增强功能。
在virtualbox中打开xp虚拟机的设置,新建共享文件夹,点击确定
进入xp虚拟机的我的电脑,可以看到下面多了一个网络驱动器,点进去就能看见共享的文件了,先安装python2.7后安装PIL。
如果不行的话,就安装一下:
接下来会提示你下载,那就下载,记得选择保存至(Save as…)
接下来将xp正常关机,然后进入virtualbox的设置中顺便将之前的引导顺序调回来:
将之前的xp安装镜像移除:
将下载下来的Virtualbox增强功能的镜像安装上去:
接着点击确定,启动xp虚拟机即可,打开我的电脑,点击安装即可(安装中途会出现两次询问,点仍然安装即可,安装完毕重启后,将共享剪贴板和拖放功能呢启用,如下图,share folders、shared clipboard下选择bidirectional
重点!!!配置agent
- 把 agent.py 后缀改成 agent.pyw
- 将agent.pyw复制到
C:\Python27\
文件夹下,双击运行(是没有任何反应的) - 打开cmd,输入
netstat -an
,查看本地8000端口是否在监听
如果8000端口正在监听,那说明此xp虚拟机就能被cuckoo所调用。
4.最后一步,在8000端口正在被监听的状态下,再virtualbox保存xp虚拟机快照,将快照命名为snapshot1
我有一个巨大的坑,快照自己命名是Snapshot 1,但是后面在配置的时候填的名字是snapshot1,这里有两个不同点,一个是首字母小写,另一个就是字母和数字之间是有一个空格的!!!
还有一个需要注意的点是,在没有双击agent.pyw前8000端口是没有的,必须在8000端口出现的情况下创建快照,到时候是直接从快照进入系统的。
配置cuckoo
cuckoo配置文件是非常重要的!!!
在 .cuckoo/conf/
中修改配置文件:
- cuckoo.conf:
- machinery = virtualbox
- [resultserver]
- ip = 192.168.2.1 #This is the IP address of the host
- port = 2042 #leave default unless you have services running
- auxiliary.conf:
- [sniffer]
- # Enable or disable the use of an external sniffer (tcpdump) [yes/no].
- enabled = yes
- # Specify the path to your local installation of tcpdump. Make sure this
- # path is correct.
- tcpdump = /usr/sbin/tcpdump
- virtualbox.conf:
- machines = 你的虚拟机名字
- [你的虚拟机名字] 它默认写的是cuckoo1,这里我的名字的xp-cuckoo
- label = 你的虚拟机名字
- platform = windows
- ip = 192.168.2.101 # IP address of the guest
- snapshot = 你创建的快照名字(若按上述正确操作,则是snapshot1)注意保持名称一致
- interface = vboxnet0
- reporting.conf:
先输入cuckoo或者cuckoo -d启动,确保没有报错的情况下输入 cuckoo web runserver 在Ubuntu火狐浏览器中输入http://127.0.0.1:8000/,出现下图所示界面
在这里就可以上传恶意文件进行分析了。
这里给大家分享一点样本,也是我从网上下载的
链接:https://pan.baidu.com/s/1LroQRWcV_rxLKIeXt0CwZQ
提取码:akh6