1 在WSL上安装依赖库
WSL:Windows Subsystem for Linux
在powershell中以管理员权限执行如下语句,允许WSL执行。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
从Microsoft Store上下载ubuntu并运行。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install lamp-server^
#在安装lamp-server时会提示设置mysql root用户的密码,这个密码会在后面用到
sudo apt-get install mongodb
sudo service apache2 start
sudo service mysql start
sudo service mongodb start
安装完成后访问localhost确认安装成功
如下图所示创建mysql用户cuckoo。
2 在windows上安装cuckoo
pip install –upgrade pip
pip install –upgrade setuptools
#pip install cuckoo 安装较慢,可能会因为网络问题而中断,推荐先下载再安装
pip download cuckoo
pip install Cuckoo-2.0.7.tar.gz
在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载mysql-python
pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl
cuckoo init #初始化cuckoo获取C:\Users\用户名\.cuckoo\目录
初始化完成之后再配置conf文件,因为初始化之后才会生成如下目录
3 配置虚拟机
关闭windows防火墙,关闭windows自动更新
给虚拟机设置双网卡,一个NAT网卡,一个仅主机网卡。
仅主机网卡取消DHCP,设置静态IP,确保物理机可以ping通该静态IP。
安装python
pip install pillow #为了获取执行截图,可选,非必须
将C:\Users\用户名\.cuckoo\agent.py复制到虚拟机中,并使用管理员权限运行,建立快照。
4 配置cuckoo
cuckoo.conf
machinery=vmware
[resultserver]中ip为虚拟机网关ip(仅主机网卡的网关)
connection= mysql://username:password@localhost/cuckoo
auxiliary.conf
下载windump.exe并重命名为tcpdump.exe
reporting.conf
[mongodb] enabled = yes
vmware.conf
[vmware]
[cuckoo1]
需要修改的位置如下图所示。
sniffer.py
在err_whitelist_start中添加“文件绝对路径: listening on”。
5 配置windump
下载windump.exe,重命名为tcpdump.exe
tcpdump.exe -D 查询网卡名称,获取NAT网卡名称,将该名称填入vmware.conf的interface。
在sniffer.py中添加如下语句。把输出加入err_whitelist。
6 运行cuckoo
cuckoo community
运行cuckoo community获取特征和规则
运行cuckoo
运行cuckoo web
直接运行cuckoo web会报错,需要复制cuckoo-script.py并将其重命名为cuckoo,命令“cuckoo web”才会成功执行。
在网页上提交样本
7 需要修复的问题
安装m2crypto失败,需要openssl
下载swigwin,将swig.exe的路径添加到环境变量中。
pip install m2crypto==0.24.0
building ‘M2Crypto.__m2crypto’ extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
C:\python27-x64\swigwin\swig.exe -python -Ic:\python27-x64\include -Ic:\python27-x64\PC -Ic:\pkg\include -includeall -modern -builtin -outdir build\lib.win-amd64-2.7\M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
SWIG\_m2crypto.i(31) : Error: Unable to find ‘openssl\opensslv.h’
SWIG\_m2crypto.i(45) : Error: Unable to find ‘openssl\safestack.h’
SWIG\_evp.i(12) : Error: Unable to find ‘openssl\opensslconf.h’
SWIG\_ec.i(7) : Error: Unable to find ‘openssl\opensslconf.h’
error: command ‘C:\\python27-x64\\swigwin\\swig.exe’ failed with exit status 1
—————————————-
ERROR: Command errored out with exit status 1: ‘c:\python27-x64\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘c:\\users\\wdr\\appdata\\local\\temp\\pip-req-build-mwja58\\setup.py'”‘”‘; __file__='”‘”‘c:\\users\\wdr\\appdata\\local\\temp\\pip-req-build-mwja58\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘c:\users\wdr\appdata\local\temp\pip-record-irwked\install-record.txt’ –single-version-externally-managed –compile –install-headers ‘c:\python27-x64\Include\M2Crypto’ Check the logs for full command output.
8 参考链接
Installation of Cuckoo Sandbox in Windows 10
http://www.sanjaysaha.info/blog/installation-of-cuckoo-sandbox-in-windows-10/