這是個github上開源前十的項目之一,筆者只完成學習了部分功能,前來分享點經驗
整個工程 連接地址 :https://github.com/cuckoosandbox/cuckoo
0x01調試運行 學習代碼很關鍵的就是調試了 所以首先奉上點調試小技巧
一個編譯器最基本的就是調試了,所以先介紹下基本的調試啊
F9:調試運行,調試運行的過程中按F9,會直接走到下一個斷點。
F8:單步運行,相當於VS的F10
F7:也是單步運行,不過近函數,相當於VS的F11
Ctrl+Alt+B:進函數 查看函數的具體內榮,相當實用,必備
Ctrl+F:搜索關鍵的變量函數,查看函數或者變量之間拖拽到watches里面進去就行了

0x02 函數講解篇
首先是讀配置文件的信息
第一箭頭,合成的絕對路徑


讀的過程很明細了 調試結合配置文件信息
Section = config(文件名),Key = hello_world此類的 keyvalue=on
這樣變歷就可以把配置文件關鍵信息一一讀取出來


然后設置Server的信息 定了個類,配置Server類的相關信息,端口,IP,注入文件的路徑,分析包的類型什么的

然后判斷是否PE文件 exe.sys.dll中一個,這是屬於分析PE文件那一塊兒的

接下就是同樣相似的步驟配置我們的虛擬機的相關信息,過程差不多,這里就不貼代碼講解了
然后是利用TCP 綁定端口,開啟線程監聽

對端口進行監聽,然后就可以開啟我們的XML-RPC構建主機方面的連接了 url = http://192.168.1.10:8000

既然你要連接人家,構建好了好之后當然要進行連接,下面是等待虛擬機的連接
用了個延遲等待的函數,然后判斷GetSatutau()得到鏈接狀態,一旦連接上 退出等待 開始分析

然后構建需要傳輸文件的路徑,遍歷,壓縮 ,使用xmlrpclib.Binary(zip_Data.getvalue())
傳送壓縮包.os_walk遍歷路徑,壓縮傳送分析目錄的所有文件

虛擬機進行解壓

虛擬機接受到相應需要分析的文件后就可以開始注入分析了
接下來就可以構建分析線程文件的路徑,subprocess.Popen.開啟線程,啟動分析

而客戶端主要是這幾句,使用SimpleXMLRPCServer,構建RPC連接 函數的調用都在服務端

Analyzer.py分析過程不是很難,提權,創建管道,進程間通信,然后調用寫好的,LoadExe.exe,Target.exe,Dll,進行注入就OK了 ,大部分注入的功能都實現在C++里面,主要有遠程注入和APC注入;

最后附上 成功運行結果 希望對學習 這款惡意分析系統的人有所幫助

