linux sandbox 软件下载,开源软件 cuckoo sandbox 学习 (一) 安装使用

松茂实
2023-12-01

本帖最后由 helloman 于 2013-10-5 17:12 编辑

http://labs.alienvault.com/labs/index.php/2012/hardening-cuckoo-sandbox-against-vm-aware-malware/

1. 环境搭建

ref http://docs.cuckoosandbox.org/en/latest/

ref http://www.behindthefirewalls.com/2013/07/how-to-install-cuckoo-sandbox-on-ubuntu.html

第一部分, 分析机的环境搭建环境需要一台 linux 的机器作为分析的机器, 即 host, 需要创建虚拟机来模拟恶意软件的运行环境,我们使用一台装有 win7的虚拟机,即guest。虚拟机软件可以使用 virtual box.

cuckoo利用在guest机器上运行恶意软件 , 采集软件的的行为, 发给分析的机器, 由分析的机器对采集的信息进行处理,生成报告。

下面我们来分别看 分析机器和guest机器环境的搭建:

分析机器:

1。 os : ubuntu 12.04.1 desktop i386

安装在一台vmware虚拟机上。administrator/password

2。Python libraries

分析的脚本使用的python语言,我们需要python.

$ sudo apt-get install pythonCuckoo 还需要 SQLAlchemy .

$ sudo apt-get install python-sqlalchemy

3. 可选模块

$ sudo apt-get install python-dpkt python-jinja2 python-magic python-pymongo python-libvirt python-bottle python-pefile

4. 可选模块 Yara

apt-get install libpcre3 libpcre3-dev

tar xvfz yara-1.7.tar.gz

cd yara-1.7

./configure

make

sudo make install

cd ..

tar xvfz yara-python-1.7.tar.gz

cd yara-python-1.7

python setup.py build

sudo python setup.py install

如果找不到 python.h, 下载开发环境

sudo apt-get install python2.7-dev, 察看你的 python 版本。下载相应的包。

5。 可选模块 Pydeep

需要先 下载 ssdeep

http://sourceforge.net/projects/ssdeep/files/ssdeep-2.10/ssdeep-2.10.tar.gz/download

tar xvfz ssdeep-2.10.tar.gz

cd ssdeep-2.10./configure

make

make check

sudo make install

unzip master.zip

cd pydeep-master

python setup.py build

sudo python setup.py install

6. Installing Tcpdump

$ sudo apt-get install tcpdump

7. 安装 Vitual Box

官网下载https://www.virtualbox.org/wiki/Linux_Downloadsdpkg -i virtualbox-4.2_4.2.16-86992~Ubuntu~precise_i386.deb用Vitual Box 创建一个虚拟机,如果你像我一样, host机器,ubuntu 也是装在一个vmware的虚拟机器上, 你可以设置vmware虚拟一个光驱, 钩选上 connected, 和 connect at power on. 确保 用户在cdrom组

$ sudo usermod -a -G cdrom username

然后启动虚拟机, 安装guest 机器 的操作系统, 我这里装的是 win7.

8.创建一个用户, 并加入 组vboxusers$ sudo adduser cuckoo

$ sudo usermod -a -G vboxusers cuckoo

9. 下载并解压 cuckoo本帖最后由 helloman 于 2013-8-16 14:47 编辑

环境搭建第二部分, guest 虚拟机的环境搭建

1. 下载并安装 python 和 python p_w_picpath library

2. 从控制面板关掉 firewall 和  auto update 以及uac

3. 网络设置

win7 我们使用静态ip 192.168.56.101

4.设置共享文件夹, 拷贝agent 到 guest

virtual box 菜单 devices -- 〉shared folder, 添加一个共享文件夹,例如取名为 myshare

运行命令 net use e: \\vboxsvr\myshare

你就可以看到 一个新的盘符 e.

我们在 ubuntu 往共享文件夹拷东西, 就可以在 win7的 E盘里看到。我们把 cuckoo/agent/agent.py 拷到里面去并运行它。guest 机器 需要这个文件来和host 通信。

你可以把它放在 startup 目录, 让每次系统启动时自动运行, 或者运行它然后做 snapshot, 这样每次虚拟机一运行,  agent 就会运行。

5。 修改host 上 cuckoo/config/virtual box.conf 配置文件

将虚拟机名改成你创建的虚拟机。

6.  到现在已经完成设置,我们创建快照

$ VBoxManage snapshot "" take "" --pause

环境搭建第三部分,跑一个试试1. 命令行切换到 cuckoo目录, 运行 cuckoo$ python cuckoo.py2. 再起一个 terminal, 用来提交一个分析$python ./utils/submit.py /home/..../some.exe3. 等待分析结束, 察看分析结果cuckoo/storage/analyses/1/reports/report.html4. 关闭虚拟机, 恢复到干净状态vboxmanage controlvm 'gest_win7' poweroffvboxmanage snapshot 'gest_win7' restorecurrent

自定义特征用于恶意程序的分类

上面介绍了环境的搭建,下面我们介绍一下使用cuckoo根据我们自己的需要来做分析。

比如:

有些***程序他会在运行时候创建 一个可执行程序。 我们创建一个特征, 来查看待 检测的程序是否生成了 exe文件。

cuckoo 的安装后signatures目录有个 文件, modules/signatures/creates_exe.py, 它就是这个作用。

打开这个文件,修改

enabled = False 为 enabled = True.

from lib.cuckoo.common.abstracts import Signature

class CreatesExe(Signature):

name = "creates_exe"

description = "Creates a Windows executable on the filesystem"

severity = 2

categories = ["generic"]

authors = ["Cuckoo Developers"]

minimum = "0.5"

enabled = False

defrun(self):

match = self.check_file(pattern=".*\\.exe$",

regex=True)

if match:

self.data.append({"file": match})

return True

return False

然后我们提交一个文件, 这个文件会创建一个文件, 其文件名为 some.exe. 我们看看, cuckoo是否捕捉到这个动作。

用vs 创建一个console类型 project,

#include "stdafx.h"

#include

#include

#include

int _tmain(int argc, _TCHAR* argv[])

{

TCHAR buf[MAX_PATH];

printf("hello, cuckoo, I am bad, trying to copy myself.\n");

// The function gets the current module for you.

:: DeleteFile(L"C:\\some.exe");

GetModuleFileName(0, buf, MAX_PATH);

::CopyFile(buf,L"C:\\some.exe",FALSE);

return 0;

}

提交后,察看report.html, 我们看到在signatures 下面显示

Creates a Windows executable on the filesystem

Behavior Summery:

Files

c:\some.exe

说明cuckoo成功的捕获到了这个特征。

建议参考下 https://github.com/cuckoobox/community/tree/master/modules/signatures, 这里有别人写的一些特征匹配

 类似资料: