20222312 2024-2025-2 《網路與系統攻防技術》實驗四報告

zhx164發表於2024-11-08

一、惡意程式碼檔案型別標識、脫殼與字串提取對提供的rada惡意程式碼樣本,進行檔案型別識別,脫殼與字串提取,以獲得rada惡意程式碼的編寫作者
(1).透過kali中的file命令檢視檔案格式和可執行平臺,即exe檔案,Win32平臺
透過PEID查殼檔案發現使用UPX殼

二、使用IDA Pro靜態或動態分析crackme1.exe與crakeme2.exe,尋找特定輸入,使其能夠輸出成功資訊。
(1).解析Crackme1.exe:
直接執行crackme1.exe會報錯

然後按F5反編譯,得到虛擬碼如下:

int __cdecl main(int argc, const char **argv, const char **envp)
{
void *v3; // esp

v3 = alloca(16);
__main();
if ( argc == 2 )
{
if ( !strcmp(argv[1], "I know the secret") )
{
printf("You know how to speak to programs, Mr. Reverse-Engineer\n");
return 0;
}
else
{
fprintf(&__iob[2], "Pardon? What did you say?\n");
return 2;
}
}
else
{
fprintf(&__iob[2], "I think you are missing something.\n");
return 1;
}

故,輸入”I Know the secret”,得到結果

三、分析一個自制惡意程式碼樣本rada
(1).提供對這個二進位制檔案的摘要,包括可以幫助識別同一樣本的基本資訊

(2)識別並說明這個二進位制檔案所具有的不同特性
能修改靶機登錄檔,能發動DDos攻擊,截圖,強制休眠,檢查使用者鍵盤輸入

(3)識別並解釋這個二進位制檔案中所採用的防止被分析或逆向工程的技術
加殼:使用UPX加殼

(4)對這個惡意程式碼樣本進行分類(病毒、蠕蟲等),並給出你的理由
木馬
私自透過隱秘通道與攻擊者聯絡,並上傳下載靶機檔案,並且無宿主,不依賴其他程式。另外,virustotal顯示大部分殺軟都檢測出該惡意程式碼為木馬。

6)給出過去已有的具有相似功能的其他工具
比如Metasploit中的msfvenom

(7)可能調查處這個二進位制檔案的開發作者嗎?如果可以,在什麼樣的環境和什麼樣的限定條件下?
要調查二進位制檔案的開發作者,通常可以透過以下方式進行追蹤,但這需要一定的條件和環境支援:

靜態分析:

檢查二進位制檔案的後設資料和符號資訊。某些編譯器和工具鏈可能會在生成的檔案中嵌入特定的標記、版本資訊或路徑,可能揭示開發環境的資訊。
利用反編譯工具(如IDA Pro、Ghidra等)分析程式碼,尋找開發者可能嵌入的除錯資訊或字串。
動態分析:

在受控環境(如虛擬機器或沙箱)中執行檔案,觀察其行為,包括網路連線、檔案訪問和登錄檔操作。這可能會揭示某些開發者特意編寫的特徵或使用的工具。
檔案特徵指紋:

比較檔案雜湊值或程式碼模式,檢查是否與已知的惡意軟體樣本或公開的程式碼庫有相似性,從而推測開發者或開發團隊。
威脅情報和歷史記錄:

如果二進位制檔案與某些攻擊樣本類似,可以透過威脅情報資料庫(如VirusTotal、MITRE ATT&CK等)進行比對,可能查到其來源或開發者的相關資訊。
限制條件
檔案不得經過混淆或加密,否則可能很難解析開發者資訊。
需要許可權使用特定分析工具或威脅情報資料庫。
若檔案是透過正規開發工具鏈生成,且沒有明顯的開發者資訊嵌入,直接確認作者身份會非常困難。

四、取證分析實踐
Windows 2000系統被攻破並加入殭屍網路
問題: 資料來源是Snort收集的蜜罐主機5天的網路資料來源,並去除了一些不相關的流量,同時IP地址和其他敏感資訊被混淆。回答下列問題

(1)IRC是什麼?當IRC客戶端申請加入一個IRC網路時將傳送那個訊息?IRC一般使用那些TCP埠?
IRC(Internet Relay Chat) 是一種早期的網際網路聊天協議,它允許使用者透過實時文字進行通訊。IRC基於客戶端-伺服器架構,使用者透過IRC客戶端連線到IRC伺服器,然後加入各種不同的頻道進行群聊或進行一對一的私聊。

當IRC客戶端申請加入一個IRC網路時,傳送的訊息是:

"NICK":這個命令用於設定客戶端的暱稱。例如:NICK user123 表示將客戶端的暱稱設定為 user123。
"USER":用於設定使用者的身份資訊。通常是一個四個引數的命令,格式如下:USER 。這個命令提供了關於使用者的詳細資訊。
"PASS":如果IRC網路需要密碼認證(例如對某些私有網路或受限制的伺服器),客戶端也會傳送一個 PASS 命令來進行認證。
這兩個訊息(NICK 和 USER)是客戶端在嘗試連線到IRC網路時必須傳送的標準訊息。如果認證成功,客戶端就可以進入IRC伺服器並加入指定的頻道進行聊天。

IRC通常使用的TCP埠:

埠 6660-6669:這些是IRC協議的標準埠。大多數IRC伺服器會使用這幾個埠之一進行通訊。
埠 7000:這是IRC的另一個常用埠,通常用於加密連線(如使用SSL/TLS)。
如果一個IRC網路對安全性要求較高,可能會啟用SSL或TLS加密連線,並且使用類似 6697 的埠(SSL的標準埠)。

(2)殭屍網路是什麼?殭屍網路通常用於什麼?
殭屍網路(Botnet) 是一種由大量被惡意軟體感染的計算機(這些計算機被稱為“殭屍”)組成的網路。這些計算機通常在不被使用者知情的情況下被駭客控制。殭屍網路的建立通常是透過傳播木馬、病毒、間諜軟體等惡意程式來實現的,這些程式能夠悄悄地讓駭客遠端控制目標計算機。

殭屍網路的功能:
DDoS攻擊(分散式拒絕服務攻擊):殭屍網路最常見的用途之一是發起大規模的DDoS攻擊。駭客透過控制大量感染的計算機,發起流量洪水,壓垮目標伺服器或網路,導致其無法正常工作。

傳送垃圾郵件:殭屍網路也被廣泛用於傳送垃圾郵件(Spam)。駭客控制的殭屍計算機會作為郵件代理,大量傳送垃圾郵件,進行詐騙、廣告、釣魚攻擊等。

竊取敏感資訊:透過控制被感染的計算機,駭客可以遠端訪問使用者的私人資訊,包括登入憑證、銀行卡資訊等。這些資訊通常會被用於身份盜竊或其他形式的詐騙。

點選欺詐:殭屍網路也可用於自動點選廣告連結,從而給廣告商造成虛假的點選量,實施廣告欺詐。

傳播惡意軟體:殭屍網路的計算機可能會繼續作為傳播平臺,向其他計算機或裝置傳播惡意軟體。

在殭屍網路的控制下,這些計算機執行各種非法活動,而計算機的原始使用者通常並不知情。控制這些殭屍計算機的駭客被稱為“殭屍網路操控者”或“Botmaster”
(3).蜜罐主機(IP地址:172.16.134.191)與那些IRC伺服器進行了通訊?
將pacp包拖到wireshark中分析,使用規則:

可以看到與三個不同IP通訊
故一共與63.241.174.144,217.199.175.10,209.196.44.172三個主機通訊
(4).在這段觀察期間,多少不同的主機訪問了以209.196.44.172為伺服器的殭屍網路?
設定過濾器為ip.addr209.196.44.172 and irc.response.commandJOIN
因為之前提到過當使用者傳送JOIN時表示主機加入irc網路,這樣我們就過濾出請求加入了irc網路的所有包。但是由於一個包可能有多個JOIN,也有可能有主機重複加入,因此不能只看包的數量。

哪些IP地址被用於攻擊蜜罐主機?
進入到統計->Ipv4 statistics->Source and Destination,然後輸入以下過濾規則,然後應用

(6)攻擊者嘗試攻擊了那些安全漏洞
思路:找出被訪問次數最多的埠,那些應該就是收到攻擊的埠。
利用統計功能,設定過濾器為ip.dst==172.16.134.191,然後統計其中次數較多的埠。
TCP:80,445,4899,1152,139,1077,1061,1051
UDP:65
可以發現有PSEXESVC.exe,是一種蠕蟲。
(1)tcp135埠只有連線沒有資料互動
(2)tcp139大多為正常連線
(3)tcp25埠只進行了連線,沒有資料的互動,所以攻擊者可能是對該埠進行了connect掃描。
(4)udp137是在進行NetBIOS查點

五、學習中遇到的問題和解決
在對抓包進行分析的時候,匯出的資料一開始並不完全,同時資訊顯示不全,需要在匯出時重新選取分組得到完整資料

六、實驗感悟
在參與惡意程式碼分析的實驗過程中,我深感這是一項既嚴密又充滿挑戰的工作,它不僅要求我們具備紮實的計算機技術基礎,還需要極高的安全防範意識和敏銳的邏輯思維能力。透過這次實驗,我進一步理解了惡意程式碼的運作機制和對網際網路安全的威脅,也學習到了如何使用各種工具和技術進行惡意程式碼的辨識、分析和中和。

實驗中,我們首先被教導如何在安全的沙箱環境中執行惡意程式,觀察其行為表現,記錄檔案系統、登錄檔、網路活動的變化。這一步驟對於分析惡意程式碼的目的和傳播方式至關重要。透過對比惡意程式修改前後的系統變化,我們可以推測出其可能的惡意行為,如資料竊取、廣告彈出等。

隨後的逆向工程部分則更為複雜和挑戰性強。使用工具如IDA Pro, Ghidra等進行程式碼的逆向,使我們能夠窺探到惡意程式的具體實現邏輯。這種深入的程式碼分析不僅幫助我們理解攻擊者的技術手段,還能找到防禦的切入點,為制定有效的防禦策略提供依據。

此外,實驗也讓我體會到編寫惡意程式碼的意圖多種多樣,並且不斷進化的惡意軟體技術帶來了前所未有的分析難題。例如,程式碼混淆和加密技術的使用,大大增加了分析的複雜度,要求我們不斷更新知識和工具以跟上惡意軟體的更新步伐。

相關文章