20232310 2025-2026-1 《網(wǎng)絡(luò)與系統(tǒng)攻防技術(shù)》實(shí)驗(yàn)四實(shí)驗(yàn)報(bào)告
1.實(shí)驗(yàn)內(nèi)容
1.1識(shí)別惡意代碼的文件類型標(biāo)識(shí),進(jìn)行脫殼與字符串提取。
1.2使用IDA Pro靜態(tài)或動(dòng)態(tài)分析所給exe文件,找到輸出成功信息的方法。
1.3分析自制惡意代碼樣本并撰寫(xiě)報(bào)告。
1.4取證分析實(shí)踐。
2.實(shí)驗(yàn)?zāi)繕?biāo)
完成樣本分析與取證報(bào)告撰寫(xiě),最終掌握惡意代碼分析、逆向工程及網(wǎng)絡(luò)取證的核心方法,明晰僵尸網(wǎng)絡(luò)機(jī)制及IRC協(xié)議應(yīng)用,提升識(shí)別惡意代碼、分析網(wǎng)絡(luò)攻擊與解決安全問(wèn)題的能力。
3.實(shí)驗(yàn)環(huán)境
| 環(huán)境類型 | 配置詳情 |
|---|---|
| 虛擬機(jī) | Kali Linux,內(nèi)存4GB,處理器 4 核,硬盤(pán)80GB,網(wǎng)絡(luò)橋接模式 |
| 主機(jī)系統(tǒng) | Windows11(用于運(yùn)行PEiD、IDA Pro 等工具) |
| 核心工具 | PEiD v0.95、超級(jí)巡警虛擬機(jī)自動(dòng)脫殼器V1.3、IDA Pro、Wireshark、tcpflow、tcpdump |
4.實(shí)驗(yàn)過(guò)程
4.1 惡意代碼文件類型標(biāo)識(shí)、脫殼與字符串提取
4.1.1 文件類型與加殼識(shí)別
首先對(duì)目標(biāo)樣本RaDa.exe進(jìn)行基礎(chǔ)分析,明確其文件屬性與加殼情況:
在Kali虛擬機(jī)中執(zhí)行file RaDa.exe命令,識(shí)別文件類型。結(jié)果顯示該文件為PE32 executable for Ms Windows 4.00(GUI),針對(duì)Intel i386架構(gòu),包含3個(gè)段,確認(rèn)是32位Windows圖形界面可執(zhí)行程序。

通過(guò)strings查看其內(nèi)部數(shù)據(jù),看看有沒(méi)有什么特點(diǎn)

發(fā)現(xiàn)結(jié)尾還是有點(diǎn)特點(diǎn)的

在Windows主機(jī)中使用PEiD工具分析加殼情況。檢測(cè)到該文件采用UPX加殼技術(shù),版本區(qū)間為0.89.6-2.90,開(kāi)發(fā)者為Markus&Laszlo,同時(shí)顯示入口點(diǎn)0000FD20、文件偏移00004120等關(guān)鍵信息。

4.1.2 脫殼處理
使用“超級(jí)巡警之虛擬機(jī)自動(dòng)脫殼器”對(duì)RaDa.exe進(jìn)行脫殼:
打開(kāi)脫殼工具,自動(dòng)識(shí)別UPX殼。
點(diǎn)擊脫殼,成功生成脫殼后的文件RaDa_unpacked.exe,輸出路徑默認(rèn)保存在原文件目錄下。

4.1.3 打開(kāi)IDA Pro,選擇PE Executable,即對(duì)Windows下的可執(zhí)行文件進(jìn)行分析。

所需分析的文件是經(jīng)過(guò)脫殼后的RaDa_unpacked.exe文件。

默認(rèn)配置完成反匯編。
選擇IDA ViewA,在地址為00403F7A處可以看到RaDa文件的作者信息,為Raul Siles && David Perez;在地址為00403FD4處可以看到RaDa文件的創(chuàng)作時(shí)間,為2004年9月。

4.2 使用IDA Pro靜態(tài)或動(dòng)態(tài)分析crackme1.exe與crakeme2.exe,尋找特定輸入,使其能夠輸出成功信息。
4.2.1分析文件crackme1.exe
在cmd中直接運(yùn)行crackme1.exe,觀察:
無(wú)參數(shù)輸入:輸出 “I think you are missing something.”
輸入1個(gè)任意參數(shù):輸出 “Pardon? What did you say?”
輸入2個(gè)及以上參數(shù):輸出 “I think you are missing something.”
初步認(rèn)為程序需要特定格式的1個(gè)參數(shù)才能輸出成功信息。

在IDA Pro中打開(kāi)文件crackme1.exe,選擇View→Graphs→Function calls,打開(kāi)該文件的函數(shù)調(diào)用圖。


函數(shù)調(diào)用圖中,函數(shù)sub_401280調(diào)用了如fprint、print等函數(shù),這些函數(shù)多用于字符串輸入輸出,因此sub_401280函數(shù)中可能存在我們需要的參數(shù)信息

選擇Windows→Functions,打開(kāi)函數(shù)管理工具。

雙擊需分析的函數(shù)sub_401280,打開(kāi)該函數(shù)的流程圖

在最上面main函數(shù)中,倒數(shù)第二行“cmp [ebp+arg_0],2”為判斷是否有程序名和一個(gè)用戶參數(shù),main函數(shù)通常為int main(int argc,const char **argv),即第一個(gè)參數(shù) argc 對(duì)應(yīng)argv 的大小,第二個(gè)參數(shù)對(duì)應(yīng)命令行的格式。
輸入的參數(shù)不為2時(shí),該程序?qū)⒔o出輸出“I think you are missing something.”。當(dāng)程序得到兩個(gè)輸入時(shí),如果第二個(gè)輸入為“I know the secret”,則程序給出輸出“You know how to speak to programs, Mr. Reverse-Engineer”;否則輸出“Pardon? What did you say?”。因此,我們需要輸入的第二個(gè)參數(shù)為字符串“I know the secret”。

我們也輸入這個(gè)參數(shù)試試,成功了

4.2.2分析文件crackme2.exe
在cmd中運(yùn)行此文件,發(fā)現(xiàn)返回情況與crackme1.exe相似.但輸入額外參數(shù)為“I know the secret”時(shí),仍然無(wú)法驗(yàn)證通過(guò),
說(shuō)明還需尋找對(duì)應(yīng)的正確參數(shù)

打開(kāi)crackme2.exe的函數(shù)調(diào)用圖,我們可以發(fā)現(xiàn)函數(shù)sub_401280會(huì)調(diào)用strcmp、fprintf、puts等函數(shù),
這說(shuō)明sub_401280函數(shù)可能是對(duì)參數(shù)進(jìn)行判斷的函數(shù)。

打開(kāi)函數(shù)sub_401280的流程圖,可以發(fā)現(xiàn)crackme2除了對(duì)“I know the secret”比較,
還對(duì)輸入的第一個(gè)參數(shù)進(jìn)行了比較,要求其為“crackmeplease.exe”

我們將該文件的文件名修改為crackmeplease.exe,再次運(yùn)行
因?yàn)閷?duì)第一個(gè)參數(shù)有要求,所以.\加在前面就會(huì)失敗,要注意。

4.3 分析一個(gè)自制惡意代碼樣本rada
4.3.1 分析文件的基本信息
依次輸入:
file RaDa.exe #識(shí)別文件類型
md5sum RaDa.exe #計(jì)算文件的md5摘要值
exiftool RaDa.exe | grep "Time Stamp" #提取文件元數(shù)據(jù)并過(guò)濾時(shí)間戳信息
我們可以看到:
文件類型:32位Windows GUI程序,針對(duì)X86,有三個(gè)字段
md5摘要值:caaa6985a43225a0b3add54f44a0d4c7
時(shí)間戳信息:2004:10:30 07:59:58+08:00

4.3.2 觀察二進(jìn)制文件的目的
使用IDA Pro分析脫殼后的RaDa_unpacked.exe文件,打開(kāi)函數(shù)調(diào)用圖,重點(diǎn)拆解sub_404FB0函數(shù),它包含大量子函數(shù)調(diào)用,推測(cè)為核心邏輯模塊。

打開(kāi)流程圖

首先是遠(yuǎn)程通信配置,發(fā)現(xiàn)命令mov edx, offset aHttp10_10_10_1;"http://10.10.10.10/RaDa"
而這個(gè)命令是將地址http://10.10.10.10/RaDa加載到edx寄存器。這說(shuō)明IP地址10.10.10.10很可能是攻擊者的命令控制服務(wù)器。

后續(xù)調(diào)用字符串拼接函數(shù),分別將四個(gè)字符串復(fù)制到內(nèi)存中。RaDa_commands.html可能是攻擊者用來(lái)下發(fā)指令的網(wǎng)頁(yè)文件。cgi-bin可能是Web服務(wù)器上存放腳本的目錄。download.cgi可能是用于下載新指令或惡意模塊的腳本。upload.cgi可能是用于上傳竊取數(shù)據(jù)的腳本。

然后是本地環(huán)境構(gòu)建,通過(guò)mov edx, offset aCRadaTmp指令,在 C 盤(pán)創(chuàng)建 “C:\RaDa\tmp” 目錄,用于存儲(chǔ)臨時(shí)惡意文件或竊取的數(shù)據(jù)

再次是長(zhǎng)期運(yùn)行的保障,代碼中包含修改注冊(cè)表路徑"Software\Microsoft\Windows\CurrentVersion\Run"的邏輯,將自身添加為開(kāi)機(jī)自啟動(dòng)項(xiàng),確保系統(tǒng)重啟后仍能運(yùn)行。

命令mov edx, offset aCRadaBin ; "C:\RaDa\bin",是將"C:\RaDa\bin"復(fù)制到內(nèi)存。隨后連續(xù)調(diào)用兩次字符串拼接函數(shù),得到完整的可執(zhí)行文件路徑“C:\RaDa\bin\RaDa.exe”。這個(gè)路徑將被用于保存自身的文件,并完成開(kāi)機(jī)自啟動(dòng)配置。

嘗試運(yùn)行脫殼后的RaDa進(jìn)程,發(fā)現(xiàn)超時(shí),被阻止。(但是其實(shí)應(yīng)該已經(jīng)成功了,我重啟電腦后,又出現(xiàn)了彈窗,我只能去刪除exe文件和注冊(cè)表)

4.3.3 問(wèn)題回答
(1)提供對(duì)這個(gè)二進(jìn)制文件的摘要,包括可以幫助識(shí)別同一樣本的基本信息。
文件類型:PE32 executable,針對(duì)Intel i386架構(gòu),包含3個(gè)段;
唯一標(biāo)識(shí):MD5 哈希值為caaa6985a43225a0b3add54f44a0d4c7;
采用 UPX 加殼(版本0.89.6-2.90),入口點(diǎn) 0000FD20,文件偏移 00004120;
編譯時(shí)間為2004年10月30日,代碼中提取到作者信息“Raul Siles && David Perez”,創(chuàng)作時(shí)間“September 2004”;
調(diào)用“MSVBVM60.DLL”“LoadLibraryA”等,依賴 Windows 系統(tǒng)環(huán)境。
(2)找出并解釋這個(gè)二進(jìn)制文件的目的。
該文件是一個(gè)遠(yuǎn)程控制后門(mén)。因?yàn)樗⒘伺c服務(wù)器http://10.10.10.10/RaDa的通信,接收攻擊者下發(fā)的指令。
還在C盤(pán)創(chuàng)建“C:\RaDa\tmp”“C:\RaDa\bin”目錄,用來(lái)存儲(chǔ)惡意腳本或者偷竊的數(shù)據(jù)。
而且通過(guò)修改Windows注冊(cè)表“Software\Microsoft\Windows\CurrentVersion\Run”項(xiàng),實(shí)現(xiàn)了開(kāi)機(jī)自啟動(dòng)。
(3)識(shí)別并說(shuō)明這個(gè)二進(jìn)制文件所具有的不同特性。
基于HTTP協(xié)議與服務(wù)器交互,指令與數(shù)據(jù)使用不同的傳輸路徑。
通過(guò)注冊(cè)表自啟動(dòng)項(xiàng)實(shí)現(xiàn)系統(tǒng)重啟后仍能運(yùn)行,增強(qiáng)隱蔽性。
僅支持Windows系統(tǒng),依賴“MSVBVM60.DLL”等組件,無(wú)法在Linux運(yùn)行;
使用 UPX 加殼隱藏原始代碼。
(4)識(shí)別并解釋這個(gè)二進(jìn)制文件中所采用防止被分析或逆向工程的技術(shù)。
該文件采用的反分析技術(shù)主要為UPX加殼保護(hù)。初始使用IDAPro分析原始文件時(shí),僅能獲取殼代碼邏輯,核心字符串信息雜亂無(wú)章,無(wú)法識(shí)別惡意功能相關(guān)指令;經(jīng)超級(jí)巡警脫殼工具處理后,才能還原原始代碼結(jié)構(gòu),提取到C&C服務(wù)器地址、本地目錄路徑等關(guān)鍵信息。
(5)對(duì)這個(gè)惡意代碼樣本進(jìn)行分類(病毒、蠕蟲(chóng)等),并給出你的理由。
歸類為后門(mén)程序,理由如下:不具備病毒的自我復(fù)制感染特性,也無(wú)蠕蟲(chóng)的主動(dòng)傳播能力,需通過(guò)人工植入或載體傳播進(jìn)入目標(biāo)系統(tǒng);
核心行為是隱蔽駐留目標(biāo)系統(tǒng),通過(guò)遠(yuǎn)程通信接口接收控制指令,支持攻擊者對(duì)目標(biāo)主機(jī)進(jìn)行文件管理、命令執(zhí)行等遠(yuǎn)程操作。
這些行為符合后門(mén)程序定義。
(6)給出過(guò)去已有的具有相似功能的其他工具。
BackOrifice,早期遠(yuǎn)程控制后門(mén)工具,支持通過(guò)自定義協(xié)議實(shí)現(xiàn)文件操作、注冊(cè)表修改等遠(yuǎn)程控制功能;
灰鴿子,具備持久化駐留、屏幕監(jiān)控、敏感信息竊取等功能,通過(guò)C&C服務(wù)器實(shí)現(xiàn)對(duì)目標(biāo)主機(jī)的遠(yuǎn)程管理;
NetBus,通過(guò)TCP/IP協(xié)議實(shí)現(xiàn)遠(yuǎn)程控制,支持文件上傳下載、系統(tǒng)命令執(zhí)行,與RaDa的C&C通信邏輯具有一致性。
我們用過(guò)的創(chuàng)造后門(mén)的軟件msfvenom和veil。
(7)可能調(diào)查出這個(gè)二進(jìn)制文件的開(kāi)發(fā)作者嗎?如果可以,在什么樣的環(huán)境和什么樣的限定條件下?
可能。因?yàn)槊摎ず笸ㄟ^(guò)IDAPro分析,在地址00403F7A處提取到作者信息“RaulSiles&&DavidPerez”,創(chuàng)作時(shí)間標(biāo)注為2004年9月。
如果這是開(kāi)發(fā)者真名的話很可能查到。然后還可以在早期網(wǎng)絡(luò)安全論壇、惡意代碼分析社區(qū),特別是2004年的,查一查有沒(méi)有RaDa相關(guān)的痕跡。
(8)給出至少5種檢測(cè)該惡意軟件的方法,例如基于特征碼的方法,需要詳細(xì)介紹每種方法。
1.特征碼檢測(cè):提取樣本的MD5哈希值、UPX加殼特征字節(jié)作為特征碼,導(dǎo)入殺毒軟件,對(duì)文件系統(tǒng)進(jìn)行掃描,匹配到特征碼即判定為惡意。
2.行為檢測(cè):通過(guò)主機(jī)安全工具如Sysmon監(jiān)控程序運(yùn)行行為,重點(diǎn)檢測(cè)是否存在修改注冊(cè)表自啟動(dòng)項(xiàng)、創(chuàng)建“C:\RaDa”系列目錄、發(fā)起可疑IP連接等異常操作,當(dāng)異常行為觸發(fā)時(shí),判定為惡意軟件。可有效檢測(cè)加殼或變種樣本。
3.網(wǎng)絡(luò)流量檢測(cè):在網(wǎng)絡(luò)防火墻或IDS中配置規(guī)則,攔截指向C&C服務(wù)器IP 10.10.10.10的通信流量,或包含“RaDa_commands.html”“cgi-bin/download.cgi”等特定路徑的HTTP請(qǐng)求。
4.沙箱動(dòng)態(tài)檢測(cè):將樣本放入隔離沙箱環(huán)境中運(yùn)行,記錄其注冊(cè)表操作、網(wǎng)絡(luò)連接等行為。沙箱自動(dòng)生成行為報(bào)告。
5.啟發(fā)式檢測(cè):基于惡意代碼共性特征構(gòu)建檢測(cè)規(guī)則,若程序同時(shí)滿足“UPX加殼+修改系統(tǒng)關(guān)鍵注冊(cè)表+發(fā)起非標(biāo)準(zhǔn)端口通信”等條件,即使未匹配到具體特征碼,也判定為高風(fēng)險(xiǎn)惡意軟件。
4.4 取證分析實(shí)踐
4.4.1 IRC是什么?當(dāng)IRC客戶端申請(qǐng)加入一個(gè)IRC網(wǎng)絡(luò)時(shí)將發(fā)送那個(gè)消息?IRC一般使用那些TCP端口?
(1)IRC是InternetRelayChat(互聯(lián)網(wǎng)中繼聊天)的縮寫(xiě),是一種基于文本的實(shí)時(shí)通信協(xié)議。它采用客戶端-服務(wù)器模型,用戶通過(guò)IRC客戶端連接到服務(wù)器后,可加入頻道進(jìn)行群聊或與其他用戶私聊。
(2)IRC客戶端申請(qǐng)加入網(wǎng)絡(luò)時(shí),要發(fā)送NICK命令和USER命令,部分情況需補(bǔ)充PASS命令。
NICK命令用于設(shè)置用戶在網(wǎng)絡(luò)中的唯一昵稱,比如“20232310User”;
USER命令提供用戶的基礎(chǔ)信息如用戶名、主機(jī)名,完成身份注冊(cè);
若服務(wù)器設(shè)置了訪問(wèn)口令,需先發(fā)送PASS命令輸入口令,再進(jìn)行注冊(cè)。
(3)6667端口:最常用的默認(rèn)非加密端口,明文傳輸數(shù)據(jù);
6697端口:常用的SSL/TLS加密端口;
6660-6669端口:作為備用非加密端口。
4.4.2 僵尸網(wǎng)絡(luò)是什么?僵尸網(wǎng)絡(luò)通常用于什么?
僵尸網(wǎng)絡(luò)是指由攻擊者通過(guò)惡意軟件如后門(mén)感染大量互聯(lián)網(wǎng)設(shè)備,并在用戶不知情的情況下形成的受控網(wǎng)絡(luò)。
這些被感染的設(shè)備被稱為“僵尸主機(jī)”或“肉雞”,攻擊者通過(guò)一臺(tái)或多臺(tái)C&C服務(wù)器,向所有僵尸主機(jī)下發(fā)統(tǒng)一指令,實(shí)現(xiàn)集中操控。
用于DDoS攻擊、發(fā)送垃圾郵件、加密貨幣挖礦、充當(dāng)網(wǎng)絡(luò)跳板等。
4.4.3 蜜罐主機(jī)(IP地址:172.16.134.191)與那些IRC服務(wù)器進(jìn)行了通信?
與IP地址209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10的IRC服務(wù)器進(jìn)行了通信。
在Wireshark中打開(kāi)botnet_pcap_file.dat文件,通過(guò)ip.src==172.16.134.191 and tcp.dstport==6667,篩選源IP為172.16.134.191,目的端口為6667的tcp數(shù)據(jù)包。分析可知,蜜罐主機(jī)與4臺(tái)IRC服務(wù)器進(jìn)行通信,IP分別是209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10。

4.4.4 訪問(wèn)過(guò)服務(wù)器的僵尸網(wǎng)絡(luò)
問(wèn):在這段觀察期間,多少不同的主機(jī)訪問(wèn)了以209.196.44.172為服務(wù)器的僵尸網(wǎng)絡(luò)?
答:有3461個(gè)不同的主機(jī)訪問(wèn)了這一僵尸網(wǎng)絡(luò)。
在kali虛擬機(jī)依次輸入
sudo apt update
sudo apt-get install tcpflow
安裝tcpflower

tcpflow --version查看版本

輸入tcpflow -r botnet_pcap_file.dat “host 209.196.44.172 and port 6667”
使用tcpflow,從botnet_pcap_file.dat文件中,篩選出與IP為209.196.44.172且端口為6667的主機(jī)相關(guān)的所有TCP流量數(shù)據(jù)。
生成report.xml報(bào)告文件

查找源IP為209.196.44.172的文件,使用命令
cat 209.196.044.172.06667-172.016.134.191.01152 | grep -a "^:irc5.aol.com 353" | sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l
發(fā)現(xiàn)有3461臺(tái)不同的主機(jī)訪問(wèn)了以209.196.44.172為服務(wù)器的僵尸網(wǎng)絡(luò)
grep -a "^:irc5.aol.com 353":篩選出以irc5.aol.com 353開(kāi)頭的行
sed ...:用sed命令刪除每行開(kāi)頭的固定前綴,只保留成員名稱部分。
tr ' ' '\n':將成員名之間的空格換成換行符,讓每個(gè)成員名單獨(dú)占一行。
tr -d "\15":刪除文本中的回車(chē)符。
grep -v "^$":排除空行,只保留有效內(nèi)容。
sort -u:對(duì)成員名排序并去重。
wc -l:統(tǒng)計(jì)最終的行數(shù),即該IRC頻道的獨(dú)立用戶數(shù)量。

4.4.5 被用于攻擊蜜罐主機(jī)的IP地址
問(wèn):哪些IP地址被用于攻擊蜜罐主機(jī)?
答:165個(gè)IP地址,具體如下

怎么操作的呢?輸入:
tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > 20232409_1025.txt;wc -l 20232409_1025.txt,從botnet_pcap_file.dat
awk -F " " '{print $3}':用awk提取每行的第3個(gè)字段即“源IP.端口”。
cut -d '.' -f 1-4:把“源IP.端口”中的IP部分提取出來(lái)。
sort | uniq | more > 20232310.txt:對(duì)提取的IP地址排序、去重,分頁(yè)顯示后保存到20232310.txt 文件中。
wc -l 20232409_1025.txt:統(tǒng)計(jì)該文件的行數(shù),也就是攻擊172.16.134.191的IP總數(shù)。

4.4.6 攻擊者使用的安全漏洞
在Wireshark中打開(kāi)數(shù)據(jù)包文件,通過(guò)Statistics→Protocol Hierarchy查看協(xié)議分布:
攻擊者主要使用TCP數(shù)據(jù)包發(fā)起攻擊,占比約99.7%;
僅使用少量UDP數(shù)據(jù)包,占比約0.3%。

在Kali終端中使用指令
tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq
篩選主機(jī)172.16.134.191發(fā)起的所有TCP的源端口號(hào)

輸入
tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq
篩選主機(jī)172.16.134.191發(fā)送的所有UDP數(shù)據(jù)包的源端口號(hào)

4.4.7 成功的攻擊與原因
成功的攻擊有:TCP連接445端口、4899端口、80端口
(1)TCP連接135端口
用Wireshark打開(kāi)botnet_pcap_file.dat,過(guò)濾條件為ip.addr==172.16.134.191 and tcp.port==135。

只有三次握手,沒(méi)有后續(xù)的惡意數(shù)據(jù)包,所以沒(méi)被成功使用
(2)TCP連接139端口
過(guò)濾條件為ip.addr==172.16.134.191 and tcp.port==139

攻擊者嘗試訪問(wèn)共享目錄\PC0191\c,但服務(wù)器返回RST拒絕訪問(wèn),后續(xù)也沒(méi)有惡意數(shù)據(jù)包,所以沒(méi)被成功使用
(3)TCP連接25端口
過(guò)濾條件為ip.addr==172.16.134.191 and tcp.port==25

有三次握手。但建立后,沒(méi)有后續(xù)的惡意數(shù)據(jù)包,且服務(wù)器很快發(fā)送FIN,ACK請(qǐng)求斷開(kāi)連接,所以沒(méi)被成功使用
(4)TCP連接445端口
過(guò)濾條件為ip.addr==172.16.134.191 and tcp.port==445

進(jìn)行了大量重復(fù)的NTLMSSP認(rèn)證,看起來(lái)像是在進(jìn)行掃描,獲取目標(biāo)主機(jī)存在的活躍信息。
將過(guò)濾后的分組輸出位csv,交給ai,讓它生成Python腳本,再深挖

在 SMB 協(xié)議相關(guān)記錄中,出現(xiàn)多次對(duì) \System32\PSEXESVC.EXE 的刪除請(qǐng)求與響應(yīng)。可能是攻擊者為清除痕跡或阻止后續(xù)檢測(cè)而采取的行動(dòng)
所以成功利用了該端口。

(5)TCP連接4899端口
過(guò)濾條件為ip.addr==172.16.134.191 and tcp.port==4899

大量rbakcupl > radmin-port [PSH,ACK]數(shù)據(jù)包,表示攻擊者通過(guò)4899端口持續(xù)傳輸數(shù)據(jù)。
然后攻擊者通過(guò)HTTP請(qǐng)求,發(fā)送目錄遍歷攻擊HEAD /cgi/../../../../../winnt/system32/cmd.exe?/c+dir

(6)TCP連接80端口
過(guò)濾條件為ip.addr==172.16.134.191 and tcp.port==80

查看后續(xù)的數(shù)據(jù)包可知,在正常的TCP三次握手后,攻擊者向80端口發(fā)送了由大量字符“c”,這是一個(gè)緩沖區(qū)溢出攻擊。

(7)UDP連接137端口
過(guò)濾條件為ip.addr==172.16.134.191 and udp.port==137

數(shù)據(jù)包內(nèi)容均為正常的名稱查詢與響應(yīng),未包含任何攻擊
5.問(wèn)題及解決
問(wèn)題1:在powershell中運(yùn)行改名后的crackmeplease.exe失敗
問(wèn)題1解決方案:參考同學(xué)的方法,我改成使用cmd運(yùn)行,并且不使用".",避免了第一個(gè)參數(shù)不同。
原來(lái)PowerShell會(huì)自動(dòng)加“./”影響文件名識(shí)別。
問(wèn)題2:看同學(xué)的博客,不懂怎么才能在幾萬(wàn)行的數(shù)據(jù)包中找到惡意攻擊,同學(xué)們好像都是直接跳過(guò)去的
問(wèn)題2解決方案:考慮到現(xiàn)在的ai都可以直接在服務(wù)器運(yùn)行代碼,我將.dat文件過(guò)濾后輸出為csv文件,
然后投喂給ai,讓ai幫忙寫(xiě)代碼,進(jìn)行深度檢索,從而找到惡意攻擊。
我詢問(wèn)了王老師,老師說(shuō)熟練之后,可以直接一行一行往下看,也很快就能找到。
6.心得體會(huì)
通過(guò)這次惡意代碼分析實(shí)驗(yàn),我系統(tǒng)掌握了惡意代碼分析的核心技術(shù)。從文件識(shí)別、脫殼、字符串提取到靜態(tài)動(dòng)態(tài)分析和IDA Pro的使用,都讓我對(duì)網(wǎng)絡(luò)安全領(lǐng)域的逆向思維有了更具體的認(rèn)知。
分析crackme2時(shí)遇到問(wèn)題,明明參數(shù)和文件名都改對(duì)了,在PowerShell里卻一直報(bào)錯(cuò),后來(lái)查資料才發(fā)現(xiàn)PowerShell會(huì)自動(dòng)加“./”影響文件名識(shí)別,換成CMD就成功了,不同命令行工具的細(xì)節(jié)差異會(huì)直接影響結(jié)果。
用IDA分析函數(shù)流程時(shí),我一開(kāi)始對(duì)著復(fù)雜的調(diào)用圖找不到重點(diǎn),后來(lái)試著聚焦strcmp、printf這些關(guān)鍵函數(shù),慢慢理清了參數(shù)判斷邏輯。
特別是ai的運(yùn)用,在分析大量數(shù)據(jù)時(shí)很有效果,可以方便我們新手快速定位。
現(xiàn)在我對(duì)網(wǎng)絡(luò)攻防的興趣更濃了,以后想深入學(xué)習(xí)動(dòng)態(tài)調(diào)試和惡意代碼對(duì)抗技術(shù),爭(zhēng)取能更高效地識(shí)別和防御各類安全威脅。

浙公網(wǎng)安備 33010602011771號(hào)