Dorothy2:一個開源的僵尸網絡分析框架

awnh1473 8年前發布 | 12K 次閱讀 虛擬化 Linux命令 開源 網絡技術

框架介紹

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

  

 :   Create a new processbaseline
     --source, -s

    : Choose a source (from theones defined in etc/sources.yml) --CreateSource,-C: Create new source file --daemon, -d  : (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  : (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

 

來自:http://www.freebuf.com/sectool/120560.html

 

 本文由用戶 awnh1473 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!