Cuckoo的配置與使用Ubuntu + VirtualBox + windows Xp SP3

cuckoo簡介:Cuckoo基於虛擬機技術,使用中央控制系統和模塊設計,結合python的自動化特徵,已經是頗爲自動化的惡意軟件行爲研究環境。獨到的蜜罐網絡研發的技巧,讓Cuckoo可以輕而易舉的進行URL分析、網絡通訊分析、程序分析、pdf分析。個人推薦使用debian或ubuntu主機安裝virtualbox當作Cuckoo Host,WinXP做guest。
運行環境:Ubuntu 14.04 LTS Desktop(64Bit),VirtualBox,Windows Xp SP3
參考資料cuckoo.pdf(特別重要,官網可以下載www.cuckoosandbox.org),http://arisri.tistory.com/m/post/127,http://github.com/cuckoobox/cuckoo,
1,配置主機
首先下載一些需要的軟件和庫:
安裝python及依賴庫

$ sudo apt-get install python
$ sudo apt-get install python-sqlalchemy python-bson
$sudo apt-get install python-dpkt python-jinja2 python-magic python-pymongo python-gridfs
安裝tcpdump及配置運行權限爲root
$ sudo apt-get install 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
如果沒有安裝setcap,可以先下載setcap
$ sudo apt-get install libcap2-bin
或者手動修改:
$ sudo chmod +s /usr/sbin/tcpdump
安裝volatility
$ sudo apt-get install volatility
安裝git
$ sudo apt-get install git
2,創建用戶
必須保證運行Cuckoo的用戶和創建並運行虛擬機的用戶是同一個,否則Cuckoo不會識別虛擬機,也無法登錄。你可以將當前用戶運行Cuckoo或者爲Cuckoo新建一個用戶。
創建新用戶:
$ sudo adduser cuckoo
如果是使用Virtualbox來運行虛擬機,那麼確保運行Cuckoo的用戶屬於vboxusers組(或者你用於運行VirtualBox的組)
$ sudo usermod -G vboxusers cuckoo
3,下載Cuckoo
$ git clone git://github.com/cuckoobox/cuckoo.git
4、配置Cuckoo
Cuckoo依賴6個配置文件:
cuckoo.conf:配置通用操作和分析選項
auxiliary.conf:使能和配置輔助模塊
<machinery>.conf:定義本機虛擬化軟件的選項,文件的名字與cuckoo.conf中定義的機器模塊的名字相同
memory.conf:Volatility配置
processing.conf:使能和配置處理模塊
reporting.conf:使能和關閉報告格式
通常只需要編輯cuckoo.conf 、auxiliary.conf和<machinery>.conf這三個文件。
cuckoo.conf
文件中大部分是註釋和解釋,重點關注下面的選項:
machinery in [cuckoo]:這定義了你想要使用的Cuckoo與虛擬機交互的機器模塊,默認值是virtualbox,名字要與模塊名完全相同
ip和port in [resultserver]:這是Cuckoo的分析機器的本地IP和端口。本機使用Ubuntu,可以使用ifconfig查看
auxiliary.conf
這個文件跟隨默認配置即可
<machinery>.conf
machines in [virtualbox]:這個選項指定了使用virtualbox建立的虛擬機的名字
label in [cuckoo1]:定義了VirtualBox配置指定的當前機器的標籤名
ip in [cuckoo1]:定義當前虛擬機的IP地址
5,配置客戶機:
安裝VirtualBox:

$ sudo apt-get install virtualbox
安裝虛擬機:
安裝xp虛擬機,省略。。。。。
安裝需要的軟件:
安裝python。運行cuckoo需要python
根據你要分析的文件,安裝相應的軟件,注意,關閉所有附加軟件的自動更新和檢查更新選項
配置虛擬機網絡:使用NAT即可
關閉操作系統的防火牆和自動更新選項。
安裝Agent:

在cuckoo的agent/目錄下有agent.py文件,將其複製到虛擬機操作系統的開始文件夾中,使其可以開機運行
保存虛擬機:
在保存之前確保配置之後的虛擬機已經重啓過並且當前正在運行,Cuckoo的agent在運行且xp已經完全啓動。
生成快照:
$ VBoxManage snapshot "<Name of VM>" take "<Name of snapshot>" --pause
快照完成後,關閉虛擬機並存儲
$ VBoxManage controlvm "<Name of VM>" poweroff
$ VBoxManage snapshot "<Name of VM>" restorecurrent
此時cuckoo的所有基本配置就已經完成了。
6,Cuckoo的使用:
啓動cuckoo:

$ ./cuckoo.py
注意cuckoo.py不一定用sudo運行,一定要使用之前設置的用戶運行cuckoo
然後另開一個命令行窗口

提交分析的文件到主機:
$ python /home/kevin/cuckoo-master/utils/submit.py --url http://www.baidu.com
然後在storage/analyses的相應ID目錄下會有生成報告。

輸出中報錯及解決方案:
TcpDump is not accessible from this user, network capture aborted

在github上託管的代碼中可以找到這個部分的代碼,從註釋中可以看出這個問題是cuckoo未解決的問題。臨時解決方案是從github上下載最新的Cuckoo版本。
VBoxManage exited with error restoring the machine’s snapshot
注意操作順序,先保存虛擬機,然後運行cuckoo,最後提交分析任務。否則會出現上述問題。
CuckooCriticalError: Unable to bind ResultServer on 192.168.1.89:2042 [Errno 99] Cannot assign requested address
這說明是ResultServer的IP跟host的IP不一致。
cuckoo1:the guest initialization hit the critical timeout, analysis aborted.
這個問題正在解決。。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章