cuckoo沙箱安装笔记

参考资料:(用到的材料——cuckoo官方文档、教程、博客)
虚拟环境配置脚本
教程 : 油站 Setting Up Cuckoo Sandbox v2.0.7 on Ubuntu 18.04.4
博客
cuckoo官方文档

一、

  1. 官方文档里用到的,主要是安装如下的依赖包,以及各类配置,官网还有一些分析网络环境的路由规则
    #依赖包
    $ sudo apt-get install python python-pip python-dev libffi-dev libssl-dev
    $ sudo apt-get install python-virtualenv python-setuptools
    $ sudo apt-get install libjpeg-dev zlib1g-dev swig
    $ sudo apt-get install mongodb
    $ sudo apt-get install postgresql libpq-dev
    
    #配置virtualbox的安装源,并安装
    $ echo deb http://download.virtualbox.org/virtualbox/debian xenial contrib | sudo tee -a /etc/apt/sources.list.d/virtualbox.list
    $ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
    $ sudo apt-get update
    $ sudo apt-get install virtualbox-5.2
    
    #安装和配置tcpdump
    $ sudo apt-get install tcpdump apparmor-utils
    $ sudo aa-disable /usr/sbin/tcpdump
    
    #配置tcpdump
    $ sudo groupadd pcap
    $ sudo usermod -a -G pcap cuckoo#这里cuckoo是用户名,可以自定义
    $ sudo chgrp pcap /usr/sbin/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
    
    $ sudo apt-get install swig
    $ sudo pip install m2crypto#原本有==0.24.0,可去掉
    
    #接下来安装和配置虚拟机
    sudo apt install virtualbox#测试安装的是virtualbox5.2
    sudo usermod -a -G vboxusers cuckoo#将使用cuckoo的用户加入到vboxusers组
    sudo apt install virtualenvwrapper
    #然后跑这个[脚本](https://gist.github.com/jstrosch/de20131dda2aac5cd1116dd44b8f2474)
    #跑完之后
    source ~/.bashrc
    
    #然后创建虚拟环境,官方推荐将cuckoo的环境放在虚拟环境中
    mkvirtualenv -p python2.7 cuckoo-env#cuckoo现在只支持python2.7
    #继续确保一下依赖完整
    pip install -U pip setuptools
    
    #然后就可以安装cuckoo了
    pip install -U cuckoo
    
    #接下来安装虚拟机iso
    wget https://cuckoo.sh/win7ultimate.iso#速度有点慢,可以通过别的下载工具下载弄到虚拟机里
    mkdir /mnt/win7#创建一个挂载点
    #将挂载点的拥有者改为cuckoo,即使用cuckoo的用户的用户和组中
    sudo chown cuckoo:cuckoo /mnt/win7/
    sudo mount -o ro,loop win7ultimate.iso /mnt/win7#将ISO镜像文件挂载到挂载点
    
    #再确保一下依赖装了没有,在前面的步骤应该基本上都安装完了
    sudo apt-get -y install zlib1g-dev libjpeg-dev python-pip python-virtualenv python-setuptools swig
    
    #先装vmcloak
    pip install -U vmcloak
    #首先创建一个网络配置
    vmcloak-vboxnet0
    #安装虚拟机
    vmcloak init --verbose --win7x64 win7x64base --cpus 2 --ramsize 2048#这里最好不要配单核1G这种低配置环境,因为恶意代码很可能会检测到
    #先复制一下虚拟环境然后再安装软件和创建快照
    vmcloak clone win7x64base win7x64cuckoo
    #可以看看vmcloak支持对系统直接安装什么包
    vmcloak list deps
    #举个例子,安装个ie11
    vmcloak install win7x64cuckoo ie11
    #对纯净的环境创建一些快照,--count指定创建几个快照,后面的ip会在创建的快照中递增
    vmcloak snapshot --count 2 win7x64cuckoo 192.168.56.101
    #查看创建好的虚拟机
    vmcloak list vms
    
    #目前基本准备好了,现在对cuckoo初始化,并进行配置
    cuckoo init#会初始化一系列文件夹和文件在~/.cuckoo中,可以通过--cwd配置cuckoo的工作文件夹
    cuckoo community --force#同步cuckoo最新的签名
    

二、

  1. 接下来主要配置这几个.conf文件:cuckoo.conf, route.conf, reporting.conf, virtualbox.conf
    • route将internet配成适配器的名字,通过ip a查看,是类似ens33, ens16的名字
    • reporting将mongodb配置enable为yes,原本默认时no;另外需要将singlefile中的选项配置为yes,否则看不了报告。
    • virtualbox将mode配置为gui,原本时headless,gui可以看到样本在虚拟机的活动。另外,需要将刚刚创建好的几个虚拟机快照添加到这里,快速的脚本为:
      while read -r vm ip; do cuckoo machine --add $vm $ip; done < <(vmcloak list vms)
      
    然后把配置文件中默认的cuckoo1删掉,包括[virtualbox]中的machines,以及后面的[cuckoo1]配置项
    • 配置网络
      sudo sysctl -w net.ipv4.conf.vboxnet0.forwarding=1
      sudo sysctl -w net.ipv4.conf.eth0.forwarding=1
      
      #其他一些网络规则
      sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.56.0/24 -j MASQUERADE
      sudo iptables -P FORWARD DROP
      sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
      sudo iptables -A FORWARD -s 192.168.56.0/24 -j ACCEPT
      

三、

  1. 使用
    • cuckoo-rooter
      cuckoo rooter --sudo -g cuckoo#这里cuckoo应该是指组,但是有时候不行,可以都试试用户名或者组
      
    • cuckoo
      cuckoo
      
    • cuckoo web
      这里需要将reporting.conf中的mongodb的enable项设置为yes,然后安装了mongodb,测试方法是命令敲mongo可以连接到mongodb服务
      cuckoo web --host 127.0.0.1 --port 8080
      
      然后在浏览器的localhost:8080看到提交样本,接收结果的gui界面
    • cuckoo clean 命令可以重置环境

四、

  1. 遇到的问题:
  • too many file open / the maximum number of open files is low
    官方提供的解决方案,好像没啥效果或者打开方式不太对,不过这个问题暂时不影响使用,后面再解决

  • cuckoo rooter的问题,说是没有将cuckoo的user加入到正确的组
    解决方法,cuckoo rooter --sudo --group 这里试一下放用户名

  • 如果是自己安装的系统,比如自己装了个win10,需要自己安装python2.7和agent.py和

  • 解决上述问题的过程中还遇到了一个问题,也记录一下。就是不小心把当前用户移到cuckoo组,没有保留原来的组成员身份,就是usermod -g 而不是-a -G选项,导致sudo失效,而且因为环境是新装的,su没有设置密码。所以非常尴尬,没法通过sudo passwd来设置root密码,将当前用户加入sudo或sudofile中。
    解决方法:进系统的时候按shift,进入recovery mode,列表选root,设置对系统的写权限

    mount –o rw,remount /
    

    回车
    然后passwd root
    改好了密码重启,进系统之后重新将用户加入到sudo中,

    sudo usermod -aG sudo [username]
    

    或者

    su -
    visudo
    #加入下面这一行
    <username>	ALL=(ALL) ALL
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值