20212916 2021-2022-2《網路攻防實踐》實驗八報告
1.實驗內容
動手實踐任務一
對提供的rada惡意程式碼樣本,進行檔案型別識別,脫殼與字串提取,以獲得rada惡意程式碼的編寫作者,具體操作如下:
(1)使用檔案格式和型別識別工具,給出rada惡意程式碼樣本的檔案格式、執行平臺和加殼工具;
(2)使用超級巡警脫殼機等脫殼軟體,對rada惡意程式碼樣本進行脫殼處理;
(3)使用字串提取工具,對脫殼後的rada惡意程式碼樣本進行分析,從中發現rada惡意程式碼的編寫作者是誰?
動手實踐任務二:分析Crackme程式
任務:在WinXP Attacker虛擬機器中使用IDA Pro靜態或動態分析crackme1.exe和crackme2.exe,尋找特定的輸入,使其能夠輸出成功資訊。
分析實踐任務一:
分析一個自制惡意程式碼樣本rada,並撰寫報告,回答以下問題:
1、提供對這個二進位制檔案的摘要,包括可以幫助識別同一樣本的基本資訊;
2、找出並解釋這個二進位制檔案的目的;
3、識別並說明這個二進位制檔案所具有的不同特性;
4、識別並解釋這個二進位制檔案中所採用的防止被分析或逆向工程的技術;
5、對這個惡意程式碼樣本進行分類(病毒、蠕蟲等),並給出你的理由;
6、給出過去已有的具有相似功能的其他工具;
7、可能調查處這個二進位制檔案的開發作者嗎?如果可以,在什麼樣的環境和什麼樣的限定條件下?
分析實踐任務二:
Windows 2000系統被攻破並加入殭屍網路
任務:分析的資料來源是用Snort工具收集的蜜罐主機5天的網路資料來源,並通過編輯去除了一些不相關的流量並將其組合到了單獨的一個二進位制網路日誌檔案中,同時IP地址和其他特定敏感資訊都已經被混淆以隱藏蜜罐主機的實際身份和位置。回答下列問題:
1、IRC是什麼?當IRC客戶端申請加入一個IRC網路時將傳送那個訊息?IRC一般使用那些TCP埠?
2、殭屍網路是什麼?殭屍網路通常用於什麼?
3、蜜罐主機(IP地址:172.16.134.191)與那些IRC伺服器進行了通訊?
4、在這段觀察期間,多少不同的主機訪問了以209.196.44.172為伺服器的殭屍網路?
5、那些IP地址被用於攻擊蜜罐主機?
6、攻擊者嘗試攻擊了那些安全漏洞?
7、那些攻擊成功了?是如何成功的?
2.實驗步驟
2.1動手實踐一
下載壓縮包,並將其複製在winxp攻擊機桌面上。
進入命令提示符,並在裡面打開復制好的檔案,檢視資料夾中的內容以及指定檔案的資訊
輸入命令 strings RaDa.exe檢視可列印字串(命令頁截圖沒有成功)
根據上圖顯示的資訊,推測是加殼導致(因為全部都是亂碼),所以開始查殼。
如下圖方式開啟開啟軟體
點選此處新增檔案
選擇檔案單擊開啟
點選擴充套件資訊(上一步用的是英文版的,現在切換回中文版軟體)
檢視完畢後開始脫殼
開啟脫殼工具,點選下圖紅框處新增檔案,然後脫殼
成功後文件儲存至如下路徑
成功脫殼後我們再檢視可列印字串,注意此時的檔名已經有了更改,命令如下圖所示
回車後檢視資訊
開啟IDA Pro Free選擇脫殼後的檔案
之後點選下一步,完成即可
再上圖紅框中可以看見作者的資訊
2.2動手實踐二
2.2.1分析Crackmel1.exe
將其複製到桌面,嘗試用命令提示符開啟,但是沒有密碼,打不開,隨機試一試,發現反饋了不同的資訊,具體操作與資訊如下圖所示。發現輸入應該為一個引數。
利用IDA分析程式
與動手實踐一的開啟方法一致,開啟string檢視顯示第一個為引數錯誤,第二個是數量正確,但是內容錯誤的情況
檢視函式呼叫圖
檢視其彙編程式碼
猜測是密碼,密碼錯誤的時候輸出
當密碼正確的時候輸出
進行驗證,輸入crack1.exe “I know the secret” 發現驗證正確
2.2.2分析Crackmel2.exe
試探輸入引數的格式,發現第一個的回覆與其餘兩個回覆有所不同
接下來在IDA中開啟,檢視string,其中標紅的兩項為實驗密碼時出現的
檢視函式呼叫圖
檢視此函式的函式圖
下面為程式名匹配
程式名字正確與否的區別
程式名正確但是密碼正確與否的區別
首先更改名字,然後根據上述內容更改,並輸入,發現驗證通過
實驗輸入錯誤的密碼,並檢視其輸出
對比之前檢視的結構圖
2.3分析實踐一
問題1解答
caaa6985a43225a0b3add54f44a0d4c7 *RaDa.exe
RaDa.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit
開啟process monitor的filter
選擇病毒檔案 rada.exe
問題2解答
開啟rada.exe檔案,發現C盤建立了臨時檔案
問題2解答
並且進行了登錄檔操作
檢視wireshark抓包
檢視rada.exe的md5值
使用file RaDa.exe識別這個程式是PE32位的GUI檔案。
開啟process explorer中的rada.exe,點選strings,發現軟體連線了了10.10.10.10這個IP的rada_commands.html網站下載和上傳了一些檔案。
雙擊開啟,檢視string,發現其向一個地址傳送了資訊
問題3解答
並且在C盤建立了一個tmp檔案用於放置下載的檔案
問題3解答
開始DDOS攻擊
發現對登錄檔進行了讀寫和刪除
可以看見登錄檔中無任何有關它的資訊
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
接下來執行了上傳、下載、休眠、截圖的命令
檢視作者資訊
Raul Siles & David Perez
使用資料庫查詢語句查詢可用網路介面卡。
問題4解答(下圖顯示了加殼具體資訊)
使用查殼工具查殼
實驗一已經完成了脫殼的操作
將已經脫殼的檔案用IDA開啟並且在IDA VIEW-A中查詢aAuthors和sub_405E40
雙擊開啟sub_405E40
檢視函式的flow chart
開啟FUNCTION CALLS
開啟sub_40B010
問題7回答
看到作者資訊
補充問題5回答:
通過分析得知這個病毒對特定的ip地址進行DDOS攻擊,所以為後門。
補充問題6回答:
NvBackControl 此工具與惡意程式碼具有相同的功能。
2.4分析實踐二
問題1回答:
IRC(Internet中繼聊天)提供了一種與來自世界各地的人們進行實時通訊的方式。它由IRC伺服器(允許使用者連線到IRC的計算機)的各種獨立 網路(或“網路”)組成。最大的網路是EFnet (原始IRC網路,通常一次有32,000多人), Undernet,IRCnet, DALnet和NewNet。
註冊時需要傳送的訊息有三種,分別是口令,暱稱和使用者資訊。格式如下:USER 、PASS 、NICK 。註冊完成後,客戶端就使用JOIN資訊來加 入頻道,格式如下:JOIN 。
6667(明文傳輸,如irc://irc.freenode.net)、6697(SSL加密傳輸,如ircs://irc.freenode.net:6697)等。
問題2回答:
“殭屍網路 Botnet 是指採用一種或多種傳播手段,將大量主機感染bot程式(殭屍程式)病毒,從而在控制者和被感染主機之間所形成的一個可一對多控制的網路。攻擊者通過各種途徑傳播殭屍程式感染網際網路上的大量主機,而被感染的主機將通過一個控制通道接收攻擊者的指令,組成一個殭屍網路。之所以用殭屍網路這個名字,是為了更形象地讓人們認識到這類危害的特點:眾多的計算機在不知不覺中如同中國古老傳說中的殭屍群一樣被人驅趕和指揮著,成為被人利用的一種工具。”
在kali虛擬機器裡開啟檔案
問題3:蜜罐主機(IP172.16.134.191)與那些IRC伺服器進行通訊
輸入命令篩選,檢視與主機通訊的IP地址,篩選後發現共有下圖所示五個IP地址
問題4:檢視有多少不同的主機訪問了以201.196.44.172為伺服器的殭屍網路。
檢視檔案vim report.xml 顯示一部分是從目標伺服器傳送出來的,一部分是從其他主機發送到目標主機的
輸入命令export LC_COLLATE='C',export LC_CTYPE='C'
再輸入
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
統計主機個數為3457
問題5:那些IP被用於攻擊蜜罐主機
輸入命令如下:
Tcpdump -n -nn -r /home/kali/<e6><a1><8c><e9><9d><a2>/botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > tcpdump.txt;wc -l tcpdump.txt
檢視如下
問題6:攻擊者嘗試攻擊了那些安全漏洞使用命令檢視流量分佈
輸入命令如下
sudo snort -r botnet_pcap_file.dat -c /etc/snort/snort.conf -K ascii
檢視響應的TCP包: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
如圖所示TCP響應埠為135(rpc)、139(netbios-ssn)、25(smtp)、4899(radmin)、80(http)。
檢視UDP響應的埠:
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
UDP只有137響應,開啟wires hark檢視135和25埠
發現沒有資料傳輸因此猜測位埠掃描
檢視tcp80埠:
命令如下
tcp.dstport==80&&ip.dst==172.16.134.191
檢視圖中這條TCP流,猜測為緩衝區溢位攻擊。
檢視下圖所示,發現為蠕蟲攻擊
檢視80埠是否攻擊成功:命令如下
tcp.srcport==80&&ip.src==172.16.134.191&&http。
顯示tcp返回預設值,所以失敗
檢視139埠,輸入篩選命令如下
tcp.dstport==139&&ip.dst==172.16.134.191
存在大量空會話,猜測為SMB查點
問題7:哪些攻擊成功了,是如何成功的。
檢視TCP445埠:
輸入篩選命令
tcp.dstport==445&&ip.dst==172.16.134.191。
發現一個PSEXESVC.EXE檔案,是一個DV1DR32蠕蟲,通過IRC進行通訊
找出口流量,發現每個IP地址的都有響應,並且返回資訊包含\PIPE\ntsvcs,這是一個遠端呼叫,所以成功了。
檢視TCP4899埠:tcp.dstport==4899&&ip.dst==172.16.134.191
4899是遠端控制軟體radmin服務端的監聽埠,這個軟體不是木馬,攻擊成功後上載這個軟體方便控制。並且只有一個IP訪問過主機210.22.204.101,
因此可以判斷SVCCTL服務漏洞攻擊成功,PSEXESVC蠕蟲攻擊成功。
實驗問題:
問題一:利用kali抓包分析的時候,命令一直錯誤,語法錯誤,但是輸入確實沒有問題。
解決:我的kali安裝的是中文版,識別不了路徑,需要輸入全部路徑,最後可以成功,以後還是儘量不要安裝中文版,會很麻煩。
問題二:命令輸入沒有反應
解決:沒有下載相應軟體,下載之就可以了
感想
本次實驗內容比較多,而且綜合性比較強,實踐的內容還是需要自己多動手,錯誤次數多了也就回了,而且,遇到問題實在不能解決的時候可用找同學幫忙,大家互相討論,可用更快解決問題。