1. 程式人生 > 其它 >20192417 實驗四 惡意程式碼分析與實踐

20192417 實驗四 惡意程式碼分析與實踐

目錄

1.實驗內容

一、惡意程式碼檔案型別標識、脫殼與字串提取

對提供的rada惡意程式碼樣本,進行檔案型別識別,脫殼與字串提取,以獲得rada惡意程式碼的編寫作者,具體操作如下:

(1)使用檔案格式和型別識別工具,給出rada惡意程式碼樣本的檔案格式、執行平臺和加殼工具;

(2)使用超級巡警脫殼機等脫殼軟體,對rada惡意程式碼樣本進行脫殼處理;

(3)使用字串提取工具,對脫殼後的rada惡意程式碼樣本進行分析,從中發現rada惡意程式碼的編寫作者是誰?

二、使用IDA Pro靜態或動態分析crackme1.exe與crakeme2.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.實驗過程

任務一:惡意程式碼檔案型別標識、脫殼與字串提取

kali虛擬機器通過file 命令檢視檔案型別,這是微軟 Windows平臺、英特爾80386處理器的一個32位PE檔案,並且是GUI檔案;脫殼前有很多亂碼

用PEID檢視,發現用了UPX的壓縮殼

超級巡警脫殼機脫殼

使用ida pro,可找到作者和時間

任務二:使用IDA Pro靜態或動態分析crackme1.exe與crakeme2.exe,尋找特定輸入,使其能夠輸出成功資訊。

檢視crackme1.exe函式呼叫關係,發現如果輸入"I Know the secret“,則程式可以順利執行,彈出“you know how to ”

同理分析crackme2.exe,發現程式名要使用crackmeplease.exe,故先將crackme2.exe複製為crackmeplease.exe,再輸入crackmeplease.exe “I know the secret”

驗證:

任務三:分析一個自制惡意程式碼樣本rada

用MD5生成RaDa.exe的摘要資訊

執行RaDa.exe,發現它改動開機自啟動,並且將檔案 RaDa.exe 複製到了 C:\RaDa\bin 目錄下

使用process explorer,檢視rada程式的執行資訊

(1)二進位制檔案的摘要及其他資訊:caaa6985a43225a0b3add54f44a0d4c7,是Windows平臺下32位的可執行檔案,使用upx加殼

(2)二進位制檔案的目的:生成檔案,反彈連線到10.10.10.10,方便攻擊者進行後續攻擊。

(3)不同特性:自行復制到指定資料夾,修改登錄檔實現自啟動

(4)採用的防止被分析或逆向工程的技術:UPX

(5)對這個惡意程式碼樣本進行分類(病毒、蠕蟲等),並給出你的理由:
該程式並沒有自主傳播,也沒有偽裝成正常程式,因此它是病毒和蠕蟲也不是木馬,而是一個後門程式,繞過了安全性控制而獲取對系統的訪問許可權。

(6)給出過去已有的具有相似功能的其他工具:

2013年Sercomm在一些採用其硬體的DSL閘道器被發現有後門後採取的做法。 這個後門被發現是廠商自己加進去的,利用32764埠進行遠端訪問。

(7)可能調查處這個二進位制檔案的開發作者嗎?如果可以,在什麼樣的環境和什麼樣的限定條件下?
Raul siles和David Perze,2004。先脫殼,通過ida pro檢視。

任務四:取證分析實踐

  1. IRC是什麼?當IRC客戶端申請加入一個IRC網路時將傳送哪個訊息?IRC一般使用哪些TCP埠?
    答:因特網中繼聊天(Internet Relay Chat),它的工作原理是在自己的PC上執行客戶端軟體,然後通過因特網以IRC協議連線到一臺IRC伺服器上即可。

    IRC的特點是通過伺服器中繼與其他連線到這一伺服器上的使用者交流。註冊時需要傳送的訊息有三種,分別是:口令,暱稱和使用者資訊。格式如下:USER 、PASS 、NICK 。註冊完成後,客戶端就使用JOIN資訊來加入頻道,格式如下:JOIN 。

    IRC伺服器明文傳輸通常在6667埠監聽,也會使用6660—6669埠。SSL加密傳輸在6697埠。

  2. 殭屍網路是什麼?殭屍網路通常用於什麼?
    殭屍網路是指攻擊者出於惡意目的,傳播殭屍程式控制大量主機,並通過一對多的命令與控制通道所組成的網路,通常被黑客用來發起大規模的網路攻擊,如DDoS、海量垃圾郵件等。

  3. 蜜罐主機(IP地址:172.16.134.191)與那些IRC伺服器進行了通訊?
    使用wireshark抓包,設定過濾規則ip.src=172.16.134.191&&tcp.dstport==6667,發現有五臺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為伺服器的殭屍網路?
    在kali虛擬機器安裝tcpflow,使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667,檢視report.xml,找到ip,埠,通訊時間等資訊

​ 使用命令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,發現3461臺主機訪問過這臺伺服器所在的殭屍網路。

5.哪些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 > xxw.txt;wc -l ip.txt 檢視用於攻擊蜜罐主機的ip

6.攻擊者嘗試攻擊了那些安全漏洞?
使用命令snort -r botnet_pcap_file.dat -c /etc/snort/snort.conf -K ascii檢視使用的協議,發現大部分是TCP,少部分是UDP,所以要篩選響應方的TCP埠和UDP埠,則使用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埠,使用tcpdump -r botnet_pcap_2431.d,at -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq 檢視udp埠。

wireshark抓包,逐個分析:

(1)135埠:只有連線,無資料互動

(2)139埠:大部分是普通連線

(3)25埠:[FIN ACK],很多重傳,並且長度都是0,應該是沒有成功

(4)445埠:發現PSEXESVC.EXE,查詢資料發現這是一種Dv1dr32蠕蟲,說明在進行蠕蟲攻擊,並且返回資訊中含有\PIPE\ntsvcs,這是一個遠端呼叫,因此推斷攻擊者獲得了許可權,攻擊成功的

(5)4899埠:是遠端控制工具Radmin的監聽埠,不是木馬但可能是攻擊者攻擊成功後裝來方便控制,只有210.22.204.101訪問

(6)80埠:發現緩衝區溢位攻擊及蠕蟲

(7)137埠:137埠是在區域網中提供計算機的名字或IP地址查詢服務,一般安裝了NetBIOS協議後,該埠會自動處於開放狀態,因此訪問這個埠應該是NetBIOS查點

  1. 那些攻擊成功了?是如何成功的?
    緩衝區溢位攻擊攻擊和PSEXESVC蠕蟲攻擊沒成功:返回css http/1.1

    SVCCTL服務漏洞成功:返回\PIPE\ntsvcs

3.問題及解決方案

  • 問題1:snort安裝不成功
  • 問題1解決方案:換手機熱點,很快就安裝上(不知道為啥,宿舍網挺快的其實,前面安裝tcpflow用宿舍網也可以)
  • 問題2:使用超級巡警虛擬機器脫殼器無法脫殼
  • 問題2解決方案:下載另一版本v1.3

4.學習感悟、思考等

本次實驗的工作量非常大,使用到的工具也很多,ida pro的使用都是網上查閱資料才稍微懂一點,任務四殭屍網路分析涉及到的知識面也很廣,更加讓我意識到了自己的不足。