Dorothy2:一个开源的僵尸网络分析框架

2018 年 2 月 20 日 黑白之道

框架介绍

Dorothy2是一款采用Ruby语言开发的恶意软件/僵尸网络分析框架,你可以使用Dorothy2框架来对可疑的二进制代码进行分析。该框架的最大优势就是其拥有非常灵活的模块化环境,并且配备有专门针对网络分析任务的可交互式调查框架。除此之外,它还可以通过对比此前生成的基线来识别新的进程。据了解,开发人员将在下一版本中添加两大功能,即静态代码分析以及改进的系统行为分析。Dorothy2在对二进制文件进行分析时,需要使用预设置的分析配置文件。

这份分析配置文件主要有以下元素构成:

沙箱系统类型

沙箱系统版本

沙箱系统语言

固定的分析超时时间(恢复虚拟机前需等待多久)

请求截图的数量(以及截图间隔时间)

可支持的插件和扩展

有了这份配置文件之后,研究人员就可以使用不同的环境来对二进制代码集合进行分析了。大家也知道,某些恶意软件只能在特定的环境下运行。一个计算机安全事件响应团队(CSIRT)也可以使用配置文件在某一特定环境中测试可疑的恶意软件。

Dorothy2框架主要由五大模块组成,这些模块均可以单独运行。下面这张图片显示的是Dorothy2的框架结构图,其中的各个模块已相互连接:

1.  代码读取模块(BFM)

该模块负责从代码源读取出待测试的代码。“代码源”可以是系统文件夹、电子邮箱、或者是一台可以通过SSH访问的网络主机。当代码全部读入之后,BFM会将代码加入分析队列之中。

2.  Dorothy分析引擎

该模块通过在沙箱环境中执行待测试的代码来分析队列中的源码,然后将测试生成的网络流量和截图保存分析文件夹中。

3.  网络数据提取模块(DEM)

该模块负责解析pcaps文件,并将相关信息(流数据和IP信息等)保存至Dorothive之中。除此之外,它会将沙箱下载的文件提取出来,并将这些文件保存至代码文件中的分析文件夹内。

4.  WebGUI(WGUI)

该模块可以将所有获取到的数据以可交互的形式显示出来。警告:这个模块需要在受控环境下运行,作者强烈反对用户将其暴露在网络上。

5.  TheJava Dorothy Drone(未发布)

6.  僵尸网络渗透模块(基本资料)

运行环境

警告:当前版本的Dorothy使用了VMWareESX5来作为它的虚拟沙箱模块(VSM)。因此,Dorothy不支持免费版的ESXi,因为它使用的是vSphere 5 API。但是,整个框架是可以进行自定义设置的,配置之后就可以使用其他的虚拟化引擎了。Dorothy2是一个高度模块化的框架,用户可以对其进行自定义设置和修改。

Dorothy的执行需要依赖于下列软件:

-VMWare ESX >= 5.0

-Ruby 1.9.3

-Postgres >= 9.0

-至少一台Windows虚拟机

-一台类Unix设备,用于网络分析引擎(NAM)

-pcapr-local(用于doroParser)

-MaxMind代码库(用于doroParser)

操作系统要求:

-Dorothy可以在任何*nix系统上运行。目前,它可以在OSX和Linux系统上完美运行。

-被用作沙箱环境的虚拟机系统必须是Windows。(建议使用XP)

框架安装

一、  设置ESX环境

1. 基本设置(ssh)

-在vSphere中设置:


Configuration->SecurityProfile->Services->Proprieties->SSH->Options->Start and Stopwith host->Start->OK


2. 设置两个独立的虚拟网络

3. 配置Windows虚拟机

禁用Windows防火墙

安装VMWare

配置静态IP

配置完成之后,使用vSphere控制台创建一个沙箱虚拟机的快照。

4. 在vSphere中创建一个Unix虚拟机,用于NAM模块

-安装tcpdump和sudo


#apt-get install tcpdump sudo


-为Dorothy创建一个专有用户(例如“dorothy”)


#useradd dorothy


-在dorothy用户主目录下创建一个文件夹,用于保存网络数据


#su dorothy

$mkdir /home/dorothy/pcaps


-添加dorothy用户权限


#visudo

add the following line:

dorothy  ALL = NOPASSWD:/usr/sbin/tcpdump, /bin/kill, /usr/bin/killall


-如果你打算在Linux系统上安装Dorothy,我建议你将pcapr和Dorothy gem安装在同一虚拟机中。


#apt-get install ruby1.9.3 rubygems  tshark zip couchdb


-开启couchdb服务器


#/etc/init.d/couchdb start


-安装pcapr-local


#gem install pcapr-local


-配置并开启pcapr-local,并配置用于保存网络输出数据的文件夹路径


$startpcapr

....

Which directory would you like to scan for indexable pcaps?[/root/pcapr.Local/pcaps]

/home/dorothy/pcaps


除此之外,建议允许pcapr访问所有的接口


What IP address should pcapr.Local run on? Use 0.0.0.0 to listenon all interfaces [127.0.0.1] 0.0.0.0


-设置全部正确的话,你应该可以访问下列url了


http//{ip-used-by-NAM}:8000


安装示例

1.  基本安装-强烈建议用户采用下图所示的架构来安装Dorothy框架。

2.  高级安装-建议企业环境下的用户采用下图所示的架构进行安装。

二、  安装依赖软件

1.  安装postgres 

$sudo apt-get install postgresql-9.1

http://www.postgresql.org/download/

2.  安装下列数据包

$sudo apt-get install ruby1.9.3 rubygemspostgresql-server-dev-9.1 libxml2-dev libxslt1-dev libmagic-dev

3.  如果你想要安装pcapr的话,运行下列命令

$sudo apt-get install tshark zip couchdb

三、  安装Dorothygem

$ sudo gem install dorothy2

四、  配置并开启Dorothy

1.  安装Maxmind库

-GeoLiteCity

-GeoLite ASN

-将GeoLiteCity.dat和GeoIPASNum.dat拷贝到Dorothy的etc/geo文件夹中

2.开启Dorothy

$ dorothy_start –v

3.按照下列顺序进行配置

-环境变量(db和esx服务器等)

-Dorothy源(获取新代码)

-用于分析的ESX虚拟机

五、使用Dorothy

1.将.exe或.bat文件拷贝到$yourdorothyhome/opt/bins/manual/

2.执行dorothy


$ dorothy_start -v -s malwarefolder


Dorothy的使用:

Usage:

dorothy2 [options]

where [options] are:

        --Version,-V:   Print the current version.

        --verbose,-v:   Enable verbose mode

       --infoflow,-i:   Print the analysis flow

   --baseline, -b<s>:   Create a new processbaseline

     --source, -s<s>:   Choose a source (from theones defined in etc/sources.yml)

   --CreateSource,-C:   Create new source file

     --daemon, -d<s>:   (start|stop) Execute/killthe selected module (-W, -B, -A) in backround. If no modules are specified, itwill exec/kill all of them.

          --debug,-e:   Add extensive log trails

         --manual,-m:   Start everything, copy the file,and wait for me.

  --SandboxUpdate,-S:   Update Dorothive with the newSandbox file

    --DorothiveInit, -D<s>:   (RE)Install the DorothyDatabase (Dorothive)

    --queue, -q:   Show the analysis queue

    --Analyser, -A:   Execute only the Analyser Module (willanalalyse only the current queue)

    --BFM, -B:   Execute only the Binary Fetcher Module (BFM)

    --DEM, -E:   Execute only the network Data ExtationModule (DEM) aka doroParser

    --WebGUI, -W:   Execute the WebGUI Module (WGUI)

--help, -h:   Show this message


执行样例:

$dorothy2 -v -d start

Dorothy2首次执行时,它会指引用户对分析环境进行配置,相关配置步骤如下:

配置环境变量($home/.dorothy.yml)

配置BFM源($dorothyhome/etc/sources.yml)

配置沙箱环境($dorothyhome/etc/sandboxes.yml)

配置分析设置文件($dorothyhome/etc/profiles.yml)

配置步骤完成之后,用户可以随时修改和编辑配置文件。

许可证信息

GNU GENERAL PUBLIC LICENSE

  Version 3, 29 June 2007


你可能喜欢

开源工具Zeus-Scanner宙斯扫描器

强大的开源网络侦查工具:IVRE

Python编写的开源Struts2全版本漏洞检测工具


登录查看更多
0

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
213+阅读 · 2020年2月21日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
文本分析与可视化
Python程序员
9+阅读 · 2019年2月28日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
15款免费预测分析软件!收藏好,别丢了!
七月在线实验室
10+阅读 · 2018年2月27日
GitHub上12月份最热门开源项目
程序猿
4+阅读 · 2018年1月9日
33款可用来抓数据的开源爬虫软件工具 (推荐收藏)
数据科学浅谈
7+阅读 · 2017年7月29日
Arxiv
8+阅读 · 2019年5月20日
Arxiv
6+阅读 · 2018年4月23日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
260+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
213+阅读 · 2020年2月21日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
相关资讯
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
文本分析与可视化
Python程序员
9+阅读 · 2019年2月28日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
15款免费预测分析软件!收藏好,别丢了!
七月在线实验室
10+阅读 · 2018年2月27日
GitHub上12月份最热门开源项目
程序猿
4+阅读 · 2018年1月9日
33款可用来抓数据的开源爬虫软件工具 (推荐收藏)
数据科学浅谈
7+阅读 · 2017年7月29日
相关论文
Arxiv
8+阅读 · 2019年5月20日
Arxiv
6+阅读 · 2018年4月23日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
3+阅读 · 2017年12月18日
Top
微信扫码咨询专知VIP会员