框架介绍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的执行需要依赖于下列软件:
操作系统要求:
框架安装一、 设置ESX环境1. 基本设置(ssh) -在vSphere中设置: 2. 设置两个独立的虚拟网络 3. 配置Windows虚拟机
4. 在vSphere中创建一个Unix虚拟机,用于NAM模块 -安装tcpdump和sudo -为Dorothy创建一个专有用户(例如“dorothy”) -在dorothy用户主目录下创建一个文件夹,用于保存网络数据 -添加dorothy用户权限 -如果你打算在Linux系统上安装Dorothy,我建议你将pcapr和Dorothy gem安装在同一虚拟机中。 -开启couchdb服务器 -安装pcapr-local -配置并开启pcapr-local,并配置用于保存网络输出数据的文件夹路径 除此之外,建议允许pcapr访问所有的接口 -设置全部正确的话,你应该可以访问下列url了 安装示例1. 基本安装-强烈建议用户采用下图所示的架构来安装Dorothy框架。 2. 高级安装-建议企业环境下的用户采用下图所示的架构进行安装。 二、 安装依赖软件1. 安装postgres 或 2. 安装下列数据包 3. 如果你想要安装pcapr的话,运行下列命令 三、 安装Dorothygem四、 配置并开启Dorothy1. 安装Maxmind库 -GeoLiteCity -GeoLite ASN -将GeoLiteCity.dat和GeoIPASNum.dat拷贝到Dorothy的etc/geo文件夹中 2.开启Dorothy 3.按照下列顺序进行配置 -环境变量(db和esx服务器等) -Dorothy源(获取新代码) -用于分析的ESX虚拟机 五、使用Dorothy1.将.exe或.bat文件拷贝到$yourdorothyhome/opt/bins/manual/ 2.执行dorothy Dorothy的使用: |