目录

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 参考


0x01 基础信息

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

0x02 主机host操作

1.需要安装的依赖:

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

2.安装tcpdump并确认安装无误:

#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

3.安装pydeep:

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

4.安装mongodb:

用于使用Django的Web界面

sudo apt-get install -y mongodb

5.安装Volatility:

先安装依赖:

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

6.安装M2Crypto:

ns3@stark:$ sudo pip install m2crypto == 0.24.0

7.Host Os创建user

这里直接将ns3加入vboxusers group,第一句无需执行

ns3@stark:~$ sudo adduser ns3
ns3@stark:~$ sudo usermod -a -G vboxusers ns3

8.主机上安装cuckoo sandbox

在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

9.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:~$

10.安装虚拟机

$ 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

0x03 客户机安装和配置

1.安装虚拟机:

在virtualbox上新建windows7客户机,命名为cuckoo1 客户机配置: 网络设置选择家庭网络或者工作网络,不要选择公用网络

关闭防火墙-----全部关闭

关闭自动更新

关闭UAC-----搜索uac,然后将方块移至到最下方即可

安装增强功能>设置共享文件夹-----便于后期将主机的agent.py共享到虚拟机

2.客户机上安装python2.7环境,并安装常见软件

pip install Pillow

在客户机上安装常用的软件:wps、qq、wechat、搜狗输入法、chrome浏览器

3.客户机配置网络

选择家庭网络或者工作网络

此时 客户机可以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命令配置。

4.agent.py运行及snapshot的保存

通过共享文件夹将agent.py放在win7上,运行agent.py,并在此时拍摄快照,保存为snapshot1。

0x04 Cuckoo运行注意

之前在主机部分安装了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

0x05 参考

https://cuckoo.sh/docs/

Cuckoo SandBox V2.0.4安装指南

Cuckoo Installation | 0x90e's Blog

Ubuntu恶意文件分析环境搭建--安装Cuckoo Sandbox记录相关推荐

  1. cl.zk0.info/index.php,兄弟连区块链入门到精通教程btcpool矿池源码分析环境搭建

    原标题:兄弟连区块链入门到精通教程btcpool矿池源码分析环境搭建 btcpool矿池-测试环境搭建及使用cgminer测试 本文档基于Ubuntu 16.04 LTS, 64 Bits. 安装Bi ...

  2. Ubuntu下Android开发环境搭建

    Ubuntu下Android开发环境搭建 最近开始学习Android APP开发,首先第一步就是搭建开发环境,在网上找了很多教程,发现大部分的教程都过时了,搞得比较麻烦.其实,现在使用Android ...

  3. java环境搭建安装

    2. java环境搭建安装 2.1 JDK下载 ​ 开发人员要进行开发需要安装jdk,程序运行的话环境只需要jre,所以我们作为开发人员,需要下载jdk,最新版本为jdk17,下载地址为oracle ...

  4. 玩转树莓派之环境搭建—安装TFT屏

    玩转树莓派之环境搭建-安装TFT屏 本文博客链接:http://blog.csdn.net/wanxuncpx,作者:cpx,转载请注明. 目的 让树莓派能拥有本地的桌面显示单元 环境 硬件: Ras ...

  5. FastDFS 分布式的文件存储环境搭建

    FastDFS 分布式的文件存储环境搭建 FastDFS环境安装包地址:http://download.csdn.net/detail/rzg813/9273935 (包含6个) 在Linux Cen ...

  6. VMware ESXi OpenSLP堆溢出漏洞,附本次勒索软件ESXiArgs恶意文件分析(CNVD-2021-12321对标CVE-2021-21974)

    近日以VMware ESXi服务器为目标的大规模勒索软件攻击正在席卷全球,包括法国.芬兰.加拿大.美国.意大利等多个国家数千台服务器遭到入侵.攻击者利用了2021年2月公开的高危漏洞(CNVD-202 ...

  7. docker卸载命令_使用docker完成生信分析环境搭建

    生信开发人员最头疼的问题,可能就是平台搭建和软件安装了.部署和迁移上要费很大力气.本文讲述使用docker制作一个镜像,后续通过导入自己定制的镜像,复制文件完成分析流程的部署和迁移. 如何使用dock ...

  8. ubuntu深度学习软硬件开发环境搭建

    硬件 先从硬件自已配机器开始: 目前对于个人来说,性价比比较高的深度学习显卡是那个11G显存的GTX 1080Ti.这里显卡定了,接下来就是主板内存硬盘,显示器.先报一下我配的机器配置: CPU 英特 ...

  9. 基于Ubuntu的ORB-SLAM2项目环境搭建过程

    目录 关于ORB-SLAM2 环境搭建 已有环境 创建环境 尝试运行 测试环境搭建是否成功 尝试数据集 成功运行双目数据集 下一步 关于ORB-SLAM2 机器人所研究SLAM的学长介绍,ORB-SL ...

最新文章

  1. (一)神经网络训练不起来怎么办:局部最小值(local minia)与鞍点(saddle point)
  2. 转载:如何优雅的实现INotifyPropertyChanged接口
  3. 成功解决 利用plt.plot绘图时,横坐标出现浮点小数而不是整数的情况(坐标轴刻度)
  4. mysql5.6 pt-query-digest,分析pt-query-digest输出信息
  5. 使用AWS Elastic Beanstalk轻松进行Spring Boot部署
  6. Google's BBR拥塞控制算法模型解析
  7. 熟识三菱PLC编程基本指令
  8. JUnit单元测试常用方法知识整理
  9. 家里wifi网速越来越慢_家里WIFI出现卡顿,网速变慢怎么办?
  10. 学习笔记(05):mySQL数据库开发教程-域完整性-默认值约束
  11. 这套Github上40K+star面试笔记,可以帮你搞定95%以上的Java面试
  12. 爬虫系列 | 4、详解Requests的用法
  13. ubuntu换阿里源
  14. Android - 弹幕实现原理(附Demo源码)
  15. 厦大自动化复试c语言,2019厦门大学自动化上岸
  16. oracle中 xD转义,【转】oracle X表汇总
  17. Linux文件服务器的配置
  18. 05抽签(代码填空)
  19. Google Earth Engine(GEE)——全球河流宽度数据集1970—2017年
  20. 28个墨迹photoshop笔刷

热门文章

  1. 云医在线服务器不可用,云医在线app
  2. vue 响应式 responsive
  3. 4个Python经典项目实战,练手必备哦
  4. python虚拟机原理_pvm虚拟机基本原理
  5. Datagrip数据库连接工具—新建folder操作
  6. Java源码阅读之String(4)
  7. 华中科技大学计算机学院有调剂名额吗,华中科技大学计算机学院2017考研调剂信息...
  8. 中国的量子计算机什么水平,被西方称为中国新“霸权”的量子计算机,除了波色采样还会什么?...
  9. UOJ#310 【UNR #2】黎明前的巧克力:FWT
  10. 拉格朗日对偶问题的一些介绍