20192425 2021-2022-2 《網路與系統攻防技術》實驗四實驗報告
20192425 2021-2022-2 《網路與系統攻防技術》實驗四實驗報告
1.實驗內容
1.惡意程式碼檔案型別標識、脫殼與字串提取
2.使用IDA Pro靜態或動態分析crackme1.exe與crakeme2.exe,尋找特定輸入,使其能夠輸出成功資訊。
3.分析一個自制惡意程式碼樣本rada,並撰寫報告,回答以下問題:
4.取證分析實踐
2.實驗過程
1.惡意程式碼檔案型別標識、脫殼與字串提取
1.使用檔案格式和型別識別工具,給出rada惡意程式碼樣本的檔案格式、執行平臺和加殼工具;
使用命令,檢視可列印字串
C:\Users\11540\Desktop>strings RaDa.exe
發現出現亂碼,推測可能因為加殼導致
使用PEiD進行查殼
2.使用超級巡警脫殼機等脫殼軟體,對rada惡意程式碼樣本進行脫殼處理;
使用超級巡警脫殼機等脫殼軟體,對rada惡意程式碼樣本進行脫殼處理
脫殼後檢視可列印字串
C:\Users\11540\Desktop>strings RaDa.exe
3.使用字串提取工具,對脫殼後的rada惡意程式碼樣本進行分析,從中發現rada惡意程式碼的編寫作者是誰?
開啟IDA_Pro_7.7_Portable選擇脫殼後的檔案,檢視相關資訊
開啟Process Explorer,並且執行剛剛脫殼得到的RaDa_unpacked.exe檔案,找到執行的RaDa_unpacked.exe檔案,右鍵單擊選擇Properties檢視詳細資訊,然後選擇Strings頁面
我們可以看到版權歸Raul siles和David Perze所有,即找到rada惡意程式碼的編寫作者
2.使用IDA Pro靜態或動態分析crackme1.exe與crakeme2.exe,尋找特定輸入,使其能夠輸出成功資訊。
1.crackme1.exe
將crackme1.exe匯入IDA pro
檢視函式呼叫圖
檢視函式彙編程式碼
驗證
2.crackme2.exe
將crackme2.exe匯入IDA pro
檢視函式呼叫圖
檢視函式彙編程式碼
可以發現crackme2.exe要判斷引數位數是否正確、程式名是否正確、密碼是否正確
進行驗證
C:\Users\11540\Desktop>crackme2.exe "I know the secret" I have an identity problem. C:\Users\11540\Desktop>copy crackme2.exe crackmeplease.exe 已複製 1 個檔案。 C:\Users\11540\Desktop>crackmeplease.exe "I know the secret" We have a little secret: Chocolate
3.分析一個自制惡意程式碼樣本rada,並撰寫報告,回答以下問題。
(1)提供對這個二進位制檔案的摘要,包括可以幫助識別同一樣本的基本資訊;
使用之前安裝過的檔案數字指紋生成器生成檔案摘要,並修改檔名對比兩次摘要值,發現一致。
(2)找出並解釋這個二進位制檔案的目的;
開啟Process Explorer工具並執行RaDa_unpacked.exe,觀察工具中的strings頁面。
-
使用http連線到目標為10.10.10.10的主機下的一個名為RaDa_commands的網頁上。
-
CGI-BIN是一種特殊的目錄,在進行互動式的WWW訪問(如填寫線上表格)時,需要伺服器上有 相應的程式對訪問者輸入的資訊進行處理,這些程式就是CGI程式。
-
進行上傳下載操作,並存儲到C盤對應位置C:\RaDa\tmp,查詢發現果然在對應位置發現RaDa.exe檔案。
-
控制計算機啟動項的登錄檔資訊,將RaDa.exe設為開機自啟動
-
在登錄檔中,REG_SZ,是一種字串型別,代表一個簡單的文字字串,是最常見的一種資料型別。
Starting DDoS Smurf remote attack...
完成上面的任務後,程式開始遠端DDoS攻擊。
之後程式執行登錄檔指令RegWrite RegRead RegDelete
Wscript.Shell有三個方法,分別是RegWrite、RegRead、RegDelete,簡介如下:
1.RegWrite
語法示例:RegWrite "HKCU\Software\oldghost\test","abc","REG_SZ"
引數說明:第一個引數中,"HKCU\Software\oldghost\",這是個主鍵及子鍵,"test"是值項。第二個引數就是值項的鍵值。第三個引數是鍵值的型別。登錄檔值的型別我就不說了,有疑問自己查。
功能簡介:在登錄檔中設定指定的鍵或值。
2.RegRead
語法示例:RegRead "HKCU\Software\oldghost\test"
引數說明:同RegWrite的第一個引數。
功能簡介:從登錄檔中返回指定的鍵或值。
3.RegDelete
語法示例:同RegRead。
引數說明:同RegRead。
功能簡介:從登錄檔中刪除指定的鍵或值。
這是個後門程式,能夠發出http請求,供攻擊者遠端連線,並提供給攻擊者宿主機器支援的指令。
(3)識別並說明這個二進位制檔案所具有的不同特性;
能夠發出http請求,然後通過後門與遠端主機連線。可以上傳、下載、執行檔案,甚至向某臺機器發起DoS(拒絕服務)攻擊。執行後將自己拷貝到系統目錄下,修改登錄檔自啟動項。
(4)識別並解釋這個二進位制檔案中所採用的防止被分析或逆向工程的技術;
使用了UPX加殼。
(5)對這個惡意程式碼樣本進行分類(病毒、蠕蟲等),並給出你的理由;
該惡意程式碼能自主傳播,沒有進行偽裝,但攻擊者可以遠端傳送指令進行遠端連線和遠端操作,所以是後門。
(6)給出過去已有的具有相似功能的其他工具;
IRC後門病毒,可以上傳、下載、執行檔案,甚至向某臺機器發起DoS(拒絕服務)攻擊,病毒執行後將自己拷貝到系統目錄下,會在登錄檔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run下新增自己的啟動項。
(7)可能調查出這個二進位制檔案的開發作者嗎?如果可以,在什麼樣的環境和什麼樣的限定條件下?
可以,是Raul siles和David Perze於2004年編寫的。在脫殼之後通過相關工具可以檢視。
4.取證分析實踐
Windows 2000系統被攻破並加入殭屍網路
問題: 資料來源是Snort收集的蜜罐主機5天的網路資料來源,並去除了一些不相關的流量,同時IP地址和其他敏感資訊被混淆。回答下列問題:
(1)IRC是什麼?當IRC客戶端申請加入一個IRC網路時將傳送那個訊息?IRC一般使用那些TCP埠?
因特網中繼聊天(Internet Relay Chat),一般稱為網際網路中繼聊天,簡稱:IRC。它是由芬蘭人Jarkko Oikarinen於1988年首創的一種網路聊天協議。經過十年的發展,世界上有超過60個國家提供了IRC的服務。IRC的工作原理非常簡單,您只要在自己的PC上執行客戶端軟體,然後通過因特網以IRC協議連線到一臺IRC伺服器上即可。它的特點是速度非常之快,聊天時幾乎沒有延遲的現象,並且只佔用很小的頻寬資源。所有使用者可以在一個被稱為"Channel"(頻道)的地方就某一話題進行交談或密談。每個IRC的使用者都有一個Nickname(暱稱)。
IRC 特點是通過伺服器中繼與其他連線到這一伺服器上的使用者交流注冊時需要傳送的訊息有三種,分別是口令,暱稱和使用者資訊。格式如下:USER
IRC 伺服器明文傳輸通常在 6667 埠監聽,也會使用 6660—6669 埠。 SSL 加密傳輸在 6697 埠。
(2)殭屍網路是什麼?殭屍網路通常用於什麼?
殭屍網路 Botnet 是指採用一種或多種傳播手段,將大量主機感染bot程式(殭屍程式)病毒,從而在控制者和被感染主機之間所形成的一個可一對多控制的網路。
攻擊者通過各種途徑傳播殭屍程式感染網際網路上的大量主機,而被感染的主機將通過一個控制通道接收攻擊者的指令,組成一個殭屍網路。之所以用殭屍網路這個名字,是為了更形象地讓人們認識到這類危害的特點:眾多的計算機在不知不覺中如同中國古老傳說中的殭屍群一樣被人驅趕和指揮著,成為被人利用的一種工具。
殭屍網路是一種由引擎驅動的惡意因特網行為:DDoS攻擊是利用服務請求來耗盡被攻擊網路的系統資源,從而使被攻擊網路無法處理合法使用者的請求。 DDoS 攻擊有多種形式,但是能看到的最典型的就是流量溢位,它可以消耗大量的頻寬,卻不消耗應用程式資源。DDoS 攻擊並不是新鮮事物。在過去十年中,隨著殭屍網路的興起,它得到了迅速的壯大和普遍的應用。殭屍網路為 DDoS 攻擊提供了所需的“火力”頻寬和計算機以及管理攻擊所需的基礎架構。
它往往被黑客用來發起大規模的網路攻擊,如分散式拒絕服務攻擊(DDoS)、海量垃圾郵件等,同時黑客控制的這些計算機所儲存的資訊也都可被黑客隨意“取用”。
(3)蜜罐主機(IP地址:172.16.134.191)與哪些IRC伺服器進行了通訊?
用wireshark開啟botnet_pcap_file.dat檔案,設定過濾條件ip.src==172.16.134.191 && tcp.dstport == 6667。
觀察可以得出,蜜罐主機(IP地址:172.16.134.191)主要與以下五臺IRC伺服器進行了通訊,分別是<63.241.174.144>, <217.199.175.10>, <209.126.161.29>,<66.33.65.58>,<209.196.44.172>。
(4)在這段觀察期間,多少不同的主機訪問了以209.196.44.172為伺服器的殭屍網路?
在終端輸入以下命令,得到三個檔案
┌──(suqi㉿suqi)-[~/桌面]
└─$ tcpflow -r botnet_pcap_file20192425.dat "host 209.196.44.172 and port 6667"
reportfilename: ./report.xml
在report.xml檔案中可以看到雙方的ip地址,埠,mac地址等資訊、
通過以下命令,搜尋有多少主機連線
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
(5)哪些IP地址被用於攻擊蜜罐主機?
輸入指令查詢埠並輸出到port.txt中
tcpdump -n -nn -r botnet_pcap_file20192425.dat 'dst host 172.16.134.191' | grep -v 'reply' | cut -d '.' -f 10 | cut -d ':' -f 1 | sort | uniq | more >port.txt; wc -l port.txt
輸入指令查詢ip地址並輸出到ip.txt中
tcpdump -n -nn -r botnet_pcap_file20192425.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > ip.txt;wc -l ip.txt
(6)攻擊者嘗試攻擊了那些安全漏洞?
輸入命令檢視網路流分佈情況,根據包的協議情況,進一步篩選出響應的TCP埠和UDP埠
sudo snort -r botnet_pcap_file.dat -c /etc/snort/snort.conf -K ascii
使用命令檢視TCP響應埠
tcpdump -r botnet_pcap_file20192425.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq
使用命令檢視UDP響應埠
tcpdump -r botnet_pcap_file20192425.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq
分析UDP137埠
137/UDP -- NetBIOS 名稱伺服器。
網路基本輸入/輸出系統 (NetBIOS) 名稱伺服器 (NBNS) 協議是 TCP/IP 上的 NetBIOS (NetBT) 協議族的一部分,它在基於 NetBIOS 名稱訪問的網路上提供主機名和地址對映方法。
NetBIOS是Network Basic Input/Output System的簡稱,一般指用於區域網通訊的一套API。
在區域網中提供計算機的IP地址查詢服務,處於自動開放狀態,是 NetBIOS 查點。
分析TCP135埠
TCP135只是進行了連線,沒有資料內容交換,很有可能是對這個端點進行了connect掃描。
分析TCP25埠
TCP25只是進行了連線,沒有資料內容交換,很有可能是對這個端點進行了connect掃描。
分析TCP139埠
TCP139這裡大部分連線也沒有傳遞具體會話內容,主要是SMB查點。
分析TCP445埠
可以看到其中有PSEXESVC.EXE,這是一種Dv1dr32蠕蟲,通過IRC進行通訊,返回資訊中含有\PIPE\ntsvcs,通過搜尋可知,這是一個遠端呼叫,所以攻擊者肯定是獲得了許可權,因此這個攻擊成功的。
分析TCP4899埠
tcp4899是遠端控制軟體所開啟的服務端埠,經常被黑客用來控制被自己控制的遠端電腦。
首先說明4899埠是一個遠端控制軟體(remote administrator)服務端監聽的埠,他不能算是一個木馬程式,但是具有遠端控制功能,通常防毒軟體是無法查出它來的。
分析TCP80埠
設定過濾條件p.dst172.16.134.191&&tcp.dstport80 && http
可以看到210.22.204.101向蜜罐發了很多的C,可能在進行緩衝區溢位攻擊。
TCP80 通過該埠使用指令碼攻擊IIS伺服器的漏洞,從而獲取系統許可權。
源IP 218.25.147.83,這裡會看到c:\notworm,是一個蠕蟲攻擊。
(7)那些攻擊成功了?是如何成功的?
SVCCTL服務漏洞攻擊成功,PSEXESVC蠕蟲攻擊成功,緩衝區溢位攻擊成功了。
3.問題及解決方案
-
問題1:snort沒有安裝
-
問題1解決方案:在執行相關命令時根據提示進行安裝。
-
問題2:主機wireshark在kali虛擬機器中無法開啟
-
問題2解決方案:直接使用kali系統自帶的wireshark抓包工具。
-
問題3:安裝tcpflow遇到問題
-
問題3解決方案:通過修改網路連線方式,重啟虛擬機器之後,重新安裝才成功安裝。
4.學習感悟、思考等
通過本次實驗深深的感受到了作為一名工具黨的快樂,安裝了很多具有神奇功能的軟體,讓自己有一種很厲害的感覺,但實際上還是很菜TT。