Ubuntu下安装cuckoo布谷鸟沙箱

  • cuckoo安装与配置
    • 一、cuckoo主要功能
    • 二、电脑配置
    • 三、cuckoo安装
      • 1)更换源
      • 2)安装cuckoo依赖
      • 3)guest客户机配置
      • 4)配置cuckoo

cuckoo安装与配置

一、cuckoo主要功能

Cuckoo一种将未知、不可信的软件隔离执行的安全机制。恶意软件分析沙盒一般用来将不可信软件放在隔离环境中自动地动态执行,然后提取其运行过程中的进程行为、网络行为、文件行为等动态行为,安全研究员可以根据这些行为分析结果对恶意软件进行更深入地分析。Cuckoo是一款用Python编写的开源的自动化恶意软件分析系统,它的主要功能有:
• 跟踪记录恶意软件所有的调用状况;
• 恶意软件文件行为:恶意软件执行过程中创建新文件、修改文件、删除文件、读取文件或下载文件的行为;
• 获取恶意软件的内存镜像;
• 以 PCAP 格式记录恶意软件的网络流量;
• 获取恶意软件执行过程中的屏幕截图;
• 获取执行恶意软件的客户机的完整内存镜像

Cuckoo可以分析的文件类型包括但不限于:
• Windows 可执行文件
• DLL 文件
• PDF 文件
• MS Office 文件
• URL 和 HTML 文件
• PHP 脚本文件
• CPL 文件
• VB 脚本文件
• ZIP 压缩包
• JAR 文件
• Python 脚本文件
• APK 文件
• ELF 文件

二、电脑配置

物理机:win 10
虚拟机软件:VMware Workstation Pro 15x
安装布谷鸟沙盒的靶机:Ubuntu 16.4
布谷鸟中的靶机:win xp
这里提供msdn的zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_x14-80404.iso 镜像
迅雷链接:

ed2k://|file|zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_x14-80404.iso|630239232|CD0900AFA058ACB6345761969CBCBFF4|/

三、cuckoo安装

1)更换源

打开终端,输入命令:

sudo gedit /etc/apt/sources.list

将下列源复制粘贴进去。

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

然后输入命令sudo apt-get updatesudo apt-get upgrade,过程可能有点久。
出现设备锁问题,可以通过命令sudo rm /var/lib/apt/lists/lock解决此问题。

2)安装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

Tcpdump(进行数据的信息收集):

sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
getcap /usr/sbin/tcpdump

安装pydeep,可以现在物理机下载,在移至ubuntu中,下载网址为:http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz
或者在虚拟机终端使用命令下载:

sudo wget http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz

下载完成,通过tar -zxvf ssdeep-2.13.tar.gz解压,进入ssdeep目录,然后执行命令:

sudo ./configure   、sudo make   、sudo make install




然后ssdeep -V查看是否安装成功,出现版本信息则为成功。

为防止之后出错,可以添加快照保留状态。虚拟机->快照->拍摄快照。

安装Volatility
由于2021.1之后pip的21.0版本也不再支持python2.7,而这里使用的是python2.7,所以不能安装pip21版本,要安装指定版本的pip。
sudo pip install –upgrade pip==20.1.1,若安装成功通过pip -V会显示版本信息。

sudo pip install openpyxl ujson pycrypto distorm3 pytz

git clone https://github.com/volatilityfoundation/volatility.git
cd volatility
sudo python setup.py build
sudo python setup.py install

确认volatility安装无误

python vol.py -h

之后会出现vol的版本,拍摄快照保存状态,防止后面出错。

开始安装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安装,快照保存状态。

sudo pip install -U cuckoo


这里发现报错了,根据报错内容,执行命令

pip install –ignore-installed dpkt


在ubuntu文件夹下按住ctrl+h查看是否有./cuckoo这个文件,没有的话执行下面语句
cd /home/usr/local/bin/,在这个目录下找到的。

python cuckoo

cd /home
cuckoo -d


这里出现错误,但不影响,只需在后面配置好文件即可。

3)guest客户机配置

安装virtualbox6.0

cat /etc/lsb-release
sudo gedit /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


安装成功后,启动virtualbox,要用root权限启动,因为非root权限的virtualbox,对于cuckoo来说是无法进行监听的。
sudo virtualbox

这里会自动弹出一个窗口,点击新建虚拟机

名称最好改为“cuckoo1”这样方便之后的virtualbox.conf的修改,也方便之后cuckoo之后的启动,之后点击设置->存储->选择一个虚拟光盘文件,导入盘片(win xp的镜像),保存修改安装镜像。

然后启动

该过程与window xp安装一样,关闭自动更新和防火墙。
完毕之后设置网卡

设置虚拟机网络,点击编辑->虚拟网络编辑器,设置为NAT模式

Guest客户机网络如下:

Ubuntu网络设置
右上角点击设置->搜索 网络

点击选项,进行修改

配置完成,重启网络

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.56.0/24 -m conntrack --ctstate NEW -j ACCEPTiptables -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

指令在sudo情况下运行
终端输入sudo gedit /etc/resolv.conf
将nameserver 127.0.0.1 改为nameserver 114.114.114.114
下载安装python2和PIL

进行guest客户机配置
1.在Ubuntu环境中home下新建一个share文件夹, 将 .cuckoo/agent/agent.py复制进去,然后在share打开终端(sudo)下载python2.7和PIL,也可以在物理机下载在拖进虚拟机中

sudo wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
sudo wget http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe

2.安装virtualbox增强功能,主要是为了能够在virtualbox中共享文件夹

一路安装,然后添加共享文件夹路径。


改启动顺序

点击存储,查看盘片是否是新生成的磁盘,如果不是则手工移除win xp,选择新生成的盘片。

启动win xp虚拟机,点击我的电脑,发现多了一个网络驱动器,里面存在共享文件夹,先安装python2.7和PIL。

配置agent
把 agent.py 后缀改成 agent.pyw
将agent.pyw复制到C:\Python27\文件夹下,双击运行(是没有任何反应的)
打开cmd,输入netstat -an,查看本地8000端口是否在监听
如果8000端口正在监听,那说明此xp虚拟机就能被cuckoo所调用。
在这里生成virtualbox备份,点击控制->生成备份,名称叫snapshot1。(一定要先开启8000端口后再进行备份)

4)配置cuckoo

在 .cuckoo/conf/中修改配置文件:
cuckoo.conf:

machinery = virtualbox
[resultserver]
ip = 192.168.56.1 #This is the IP address of the host
port = 2042 #leave default unless you have services running

auxiliary.conf:

[sniffer]
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
[cuckoo1] 它默认写的是cuckoo1
label = cuckoo1
platform = windows
ip = 192.168.56.101 # IP address of the guest
snapshot = snapshot1
interface = vboxnet0

reporting.conf:

[mongodb]
enabled = yes

重启,重新打开终端输入sudo virtualbox,启动win xp并点击agent.pyw 保证其8000端口处于监听状态。
重点!!!在进行提交样本进行分析前,首先运行以下指令,解决tcpdump权限被拒绝
sudo apt-get install apparmor-utils
sudo aa-disable /usr/sbin/tcpdump


接着在home下打开(ctrl+H可以找到.cuckoo文件)

.cuckoo/analyzer/windows/modules/auxiliary/recentfiles.py

将使用SHGetKnownFolderPath函数的部分注释掉(注释符注意与r = 对齐)。
否则cuckoo查看分析日志时会报python的错误:
AttributeError: function ‘SHGetKnownFolderPath’ not found
注释代码如下:

   '''r = SHELL32.SHGetKnownFolderPath(uuid.UUID(self.locations[location]).get_bytes_le(),0, None, ctypes.byref(dirpath))if r:log.warning("Error obtaining user directory: 0x%08x", r)return# TODO We should free the memory with CoTaskMemFree().return dirpath.value'''

打开终端输入sudo cuckoo -d
没有报错信息,则打开另一个终端输入

sudo cuckoo web runserver


出现此界面说明成功,在浏览器访问http://127.0.0.1:8000/进入即可。



Ubuntu安装cuckoo布谷鸟沙箱详细步骤相关推荐

  1. Ubuntu 安装 NVIDIA 显卡驱动详细步骤(ERROR: The Nouveau kernel driver is currently in use by your system)

    1. 禁用 Nouveau 驱动 在禁用 Nouveau 驱动前我们先了解下它是啥?有什么作用. Nouveau 是由第三方为 NVIDIA 显卡开发的一个开源 3D 驱动,也没能得到 NVIDIA ...

  2. Ubuntu 安装 CUDA 和 cuDNN 详细步骤

    1. 确保 nvidia 驱动已安装 先安装 nvidia 驱动,请参考前面文章 https://blog.csdn.net/wohu1104/article/details/107032493 2. ...

  3. dell笔记本安装Ubuntu20.04双系统+cuckoo布谷鸟沙箱

    windows下安装Ubuntu20.04双系统+cuckoo布谷鸟沙箱 本篇文章主要是在Ubuntu20.04系统上搭建cuckoo沙箱,之前曾尝试在VMware虚拟机里建立Ubuntu,然后再在U ...

  4. 大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题(以ubuntu-18.04.3、Mware Workstation 15.1.0 Pro为例)

    大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题 (以ubuntu-18.04.3.Mware Workstation 15.1.0 Pro for Window ...

  5. Linux安装及美化Typora详细步骤

    Linux安装及美化Typora详细步骤 安装 下载解压 赋权 添加快捷方式 美化 下载主题 导入主题 当主力机换成Linux后,文档编写越来越倾向于Markdown,Typora是我用过最好用的Ma ...

  6. php7.1安装phpmyadmin,PHP_深入phpMyAdmin的安装与配置的详细步骤,phpmyadmin就是一种mysql的管理工 - phpStudy...

    深入phpMyAdmin的安装与配置的详细步骤 phpmyadmin就是一种mysql的管理工具,安装该工具后,即可以通过web形式直接管理mysql数据,而不需要通过执行系统命令来管理,非常适合对数 ...

  7. Ubuntu上配置opencv的详细步骤

    Ubuntu上配置opencv的详细步骤 前言: 关于VMware的使用 1.网速过慢 2.虚拟机配置好打不开 Ubuntu的配置和安装 Ubuntu上配置vscode外加opencv 安装cmake ...

  8. ubuntu 安装linux 下vmVMware tools 步骤及问题解决

    ubuntu 安装linux 下vmVMware tools 步骤及问题解决 参考文章: (1)ubuntu 安装linux 下vmVMware tools 步骤及问题解决 (2)https://ww ...

  9. python安装步骤图解-Python安装与卸载流程详细步骤(图解)

    Python安装流程: 一.下载 在网上(输入网址https://www.python.org/downloads/)下载Windows最新的python程序(我电脑为64位) 二.安装 根据自己的电 ...

  10. python完整安装顺序_Python安装与卸载流程详细步骤(图解)

    Python安装流程: 一.下载 在网上(输入网址https://www.python.org/downloads/)下载Windows最新的python程序(我电脑为64位) 二.安装 根据自己的电 ...

最新文章

  1. php函数serialize()与unserialize()
  2. 看完弄懂,明年至少加 5K
  3. 看看10万程序员怎么评论:零基础的前端开发该如何系统地学习?
  4. DNS服务(二)——常用资源记录类型详解
  5. centos7.6成功安装nerdtree插件
  6. 《编程题》找出数组中出现次数超过一半的数(时间复杂度O(n),空间复杂度为O(1))
  7. where is url parameter evaluated in UI5 core q.sap.getUriParameters
  8. 闭包 —JavaScript面向对象高级
  9. python中isort的使用
  10. 监控长时间运行的查询(监控数据库性能的SQL )
  11. Bluetooth---如何使用Android蓝牙开发
  12. mysql中间件研究(tddl atlas cobar sharding-jdbc)
  13. Vi编辑器编写Hello World程序
  14. Office2016简体中文专业版32/64
  15. STM STC NXP单片机 按键扫描
  16. 成为阿里云大使的笔记
  17. 利益相关者在敏捷项目管理中有什么用?
  18. bzoj 1022: [SHOI2008]小约翰的游戏John
  19. 辉太郎看前端(for...in和for...of)
  20. vue 移动端跳页搜索自动获取焦点

热门文章

  1. Android绘制几何图形详解
  2. pg PostGIS教程:几何图形(geometry)
  3. 这5个是不是元宇宙游戏遗珠?
  4. 360金融:“巨头”式的快与稳
  5. html做群聊通讯方法,微信如何发起群聊邀请(微信群链接生成教程)
  6. 堕落了!经典软件下载网站被查
  7. Pocket PC 基础知识
  8. 鸿蒙os2021升级日程,消息称华为EMUI 11.1三月上线:更... - @是Ustinian鸭 的微博精选 - 微博国际站...
  9. Nginx 实现 https
  10. java发微信_java实现微信发送消息