20192402白胤廷 實驗四 惡意程式碼分析實踐
1.實驗過程
任務一:惡意程式碼檔案型別標識、脫殼與字串提取
(1)在kali中使用file指令檢視檔案型別
(2)用PEid檢視加殼工具
(3)用strings指令檢視字串
(4)脫殼
(5)檢視脫殼後的字串
任務二:使用IDA Pro靜態或動態分析crackme1.exe與crakeme2.exe,尋找特定輸入,使其能夠輸出成功資訊。
1.creakme1.exe
(1)將crackme1.exe匯入IDA pro
(2)檢視函式呼叫圖
(3)進行驗證
2.crackme2.exe
(1)檢視函式呼叫圖
(2)檢視函式彙編程式碼
(3)進行驗證
任務三:分析一個自制惡意程式碼樣本rada,並撰寫報告,回答以下問題
(1)生成md5摘要
(2)開啟process explorer監聽,執行RaDa.exe
將檔案 RaDa.exe 複製到C:\RaDa\bin 目錄下
回答問題:
- md5摘要:caaa6985a43225a0b3add54f44a0d4c7
基本資訊:PE32 executable for MS Windows (GUI) Intel 80386 32-bit - 連線網際網路時,該惡意程式就會通過http請求連線到指定主機,進行接受攻擊者指令操作,並且攻擊者可以完全控制該系統,所以這應該是一個後門程式。
- (1).RaDa.exe被執行時,它會將自身安裝到系統C盤中。程式執行後,在實驗主機的C盤下建立了一個RaDa目錄,裡面一個bin資料夾,一個tmp資料夾,tmp前面分析過是用來臨時儲存從目標主機下載到受害主機的檔案和從受害主機獲取的檔案資訊,開啟bin資料夾發現裡面安裝了一個RaDa.exe可執行檔案。
(2).通過修改登錄檔的方式使得系統啟動,啟動後每隔一段時間會嘗試與10.10.10.10建立tcp連線,迴圈執行如下操作:
從指定的web伺服器請求指定的web頁面 → 解析獲得的web頁面,獲取其中的指令 → 執行解析出來的指令
(3).檔案雙雙擊執行後沒有彈出任何視窗與提示資訊,只有通過檢視程序才能發現,隱蔽性較好。
4.使用了加殼工具進行處理
5.猜測是後門程式,該程式執行需要通過攻擊者遠端傳送指令,而且不具有自主傳播模組,故不屬於病毒和蠕蟲,也並未進行偽裝,故不是木馬。 - Bobax——2004等也是使用HTTP協議從指定的伺服器下載命令檔案,然後解析並執行其中的指令。
7.該惡意程式是Raul siles和David Perze在2004年編寫的。
任務四:取證分析實踐
1.IRC是什麼?當IRC客戶端申請加入一個IRC網路時將傳送哪個訊息?IRC一般使用哪些TCP埠?
因特網中繼聊天(Internet Relay Chat),簡稱IRC。IRC的工作原理非常簡單,您只要在自己的PC上執行客戶端軟體,然後通過因特網以IRC協議連線到一臺IRC伺服器上即可。IRC特點是通過伺服器中繼與其他連線到這一伺服器上的使用者交流。通過IRC簡介瞭解IRC的相關內容。
註冊時需要傳送的訊息有三種,分別是口令,暱稱和使用者資訊。格式如下:USER 、PASS 、NICK 。註冊完成後,客戶端就使用JOIN資訊來加入頻道,格式如下:JOIN 。
IRC伺服器明文傳輸通常在6667埠監聽,也會使用6660—6669埠。SSL加密傳輸在6697埠。
攻擊者濫用IRC構建殭屍網路時,可能使用任意的埠構建IRC殭屍網路控制通道,那麼基於埠識別服務不再可靠,要進行基於應用協議特徵進行識別(如USER/NICK)。
2.殭屍網路是什麼?殭屍網路通常用於幹什麼?
殭屍網路(英文名稱叫BotNet),是攻擊者出於惡意目的,傳播殭屍程式控制大量主機,並通過一對多的命令與控制通道所組成的網路;是網際網路上受到黑客集中控制的一群計算機。往往被黑客用來發起大規模的網路攻擊,如分散式拒絕服務攻擊(DDoS)、海量垃圾郵件等,同時黑客控制的這些計算機所儲存的資訊也都可被黑客隨意“取用”。因此,不論是對網路安全執行還是使用者資料安全的保護來說,殭屍網路都是極具威脅的隱患。殭屍網路的威脅也因此成為目前一個國際上十分關注的問題。然而,發現一個殭屍網路是非常困難的,因為黑客通常遠端、隱蔽地控制分散在網路上的“殭屍主機”,這些主機的使用者往往並不知情。因此,殭屍網路是目前網際網路上黑客最青睞的作案工具。
3.蜜罐主機(IP地址:172.16.134.191)與那些IRC伺服器進行了通訊?
五個IRC伺服器209.126.161.29、66.33.65.58、63.241.174.144、209.196.44.172、217.199.175.10。
4.在這段觀察期間,多少不同的主機訪問了以209.196.44.172為伺服器的殭屍網路?
檢視雙方的ip地址,埠,mac地址等資訊
搜尋有多少主機連線。
(5)哪些IP地址被用於攻擊蜜罐主機?
6.攻擊者嘗試攻擊了那些安全漏洞?哪些成功了?如何成功的?
(1)看看用了啥協議
(2)TCP響應埠
(3)UDP埠
(4)分析UDP137埠
(5)TCP135和25埠
(6)分析80埠
(7)139埠
(8)分析445埠
(9)分析4899埠
2.問題及解決方案
問題:
實驗2中,crackme2.exe的測試驗證時候,一開始使用的命令crackme2.exe crackmeplease.exe,發現依舊是輸入錯誤的提示
解決:
發現使用了copy命令。回憶程式碼分析時的strcmp函式,應當是當檔名是crackmeplease.exe才可使用,不能單純的給原本的crackme2.exe檔案賦予新名稱引數。使用copy命令後,去C盤發現多了個crackmeplease.exe檔案,應該是用copy將crackme2.exe複製並將複製檔案改了名。
3.學習感悟、思考等
此次實驗任務量比較重,看到題目這麼多問題都幾次敲響了退堂鼓……不過最後好歹是慢慢做完了。實驗操作也略微複雜,雖然在老師釋出的資料檔案裡發現了應該是實驗指導書的PDF檔案,但指導書一點都不傻瓜教程,部分步驟沒有詳細操作,比如“檢視整個程式的call flow”,怎麼個檢視法,我就對著介面那些小按鈕一一試了好久,也去網上找了IDA使用教程。