1. 程式人生 > >20164322韓玉婷 -----EXP4 惡意代碼分析

20164322韓玉婷 -----EXP4 惡意代碼分析

計算 exc ldl 。。 應用程序 時間 解壓 不能 水平

1.實踐目標

1.1是監控你自己系統的運行狀態,看有沒有可疑的程序在運行。

1.2是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具盡量使用原生指令或sysinternals,systracer套件。

1.3假定將來工作中你覺得自己的主機有問題,就可以用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行為與性質。


2.實踐內容

2.1系統運行監控(2分)

2.1.1 使用schtasks指令監控系統

2.1.2使用sysmon工具監控系統

2.2系統運行監控

2.2.1 惡意軟件分析—— Virus Total網站

2.2.2 惡意軟件分析—— Process Monitot

2.2.3 惡意軟件分析—— Process Expiorer

2.2.4 惡意軟件分析—— systracer

2.2.5 惡意軟件分析—— FEiD


3.實踐總結與基本問題

3.1 實驗總結

3.2 基本問題


2.1.1 使用schtasks指令監控系統

創建計劃任務,使系統每1分鐘自動檢測到有哪些程序在連接我們的網絡。

  • TN:Task Name,本例中是netstat
  • SC: SChedule type,本例中是MINUTE,以分鐘來計時
  • MO: MOdifier
  • TR: Task Run,要運行的指令是 netstat
  • -bn,b表示顯示可執行文件名,n表示以數字來顯示IP和端口

使用 schtasks /create /TN netstat4322 /sc MINUTE /MO 1/TR "cmd /c netstat -bn > c:\netstatlog.txt "命令創建計劃任務 netstat4322 ,如下圖所示:

技術分享圖片

在C盤中創建一個netstat4322.bat

腳本文件(可先創建txt文本文件,使用記事本寫入後通過修改文件名來修改文件格式)

在其中寫入以下內容:

date /t >> c:\netstat4322.txt
time /t >> c:\netstat4322.txt
netstat -bn >> c:\netstat4322.txt

打開任務計劃程序,可以看到我們新創建的這個任務:

技術分享圖片

雙擊這個任務,點擊操作並編輯,將“程序或腳本”改為我們創建的netstat4322.bat批處理文件,另外,要刪除添加參數裏面的內容,然後確定即可。

註意:任務還有其他屬性,點擊“條件”選項卡,可以更改相關的設置。比如默認操作為“只有在計算機使用交流電源時才啟動此任務”,那麽使用電池電源時就會停止任務。這點需要格外註意,如果沒有修改默認操作,任務無論如何都無法執行可能只是因為拔掉了電源。

技術分享圖片

執行此腳本一定時間,就可以在netstate4322.txt文件中查看到本機在該時間段內的聯網記錄:

技術分享圖片

當記錄的數據足夠豐富時,停止任務,將所得數據在excel中進行分析:

技術分享圖片

將每個應用的聯網情況做成樹狀圖,更加清晰直觀:

技術分享圖片

首先我們可以看到TCP是最多的,其次是“wps.exe”和“kxes core.exe”。一個是wps軟件雲端的一個服務的進程,另一個kxescore.exe是金山毒霸的密保用戶的進程。註冊了金山密保之後就會呈現的。


2.1.2使用sysmon工具監控系統

參考:schtask與sysmon應用指導

安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。

確定監控對象

選擇的是進程創建ProcessCreate、進程創建時間FileCreatTime、網絡連接NetworkConnect、遠程線程創建CreateRemoteThread。

寫配置文件

寫與自己想要監控的事件相對應的配置文件。編寫好的Sysmon4322.xml.txt內容如下:(配置文件是xml文件,為了簡單編輯就直接命令為.txt,每次用寫字本打開。)

<Sysmon schemaversion="3.10">

 <!-- Capture all hashes -->

 <HashAlgorithms>*</HashAlgorithms>

 <EventFiltering>

   <!-- Log all drivers except if the signature -->

   <!-- contains Microsoft or Windows -->

   <ProcessCreate onmatch="exclude">

      <Image condition="end with">chrome.exe</Image> </ProcessCreate>

   <FileCreateTime onmatch="exclude" >

      <Image condition="end with">chrome.exe</Image> </FileCreateTime>

   <NetworkConnect onmatch="exclude">

      <Image condition="end with">chrome.exe</Image>

      <SourcePort condition="is">137</SourcePort>

      <SourceIp condition="is">127.0.0.1</SourceIp>

   </NetworkConnect>

   <NetworkConnect onmatch="include">

      <DestinationPort condition="is">80</DestinationPort>
 
      <DestinationPort condition="is">443</DestinationPort>

   </NetworkConnect>

 
<CreateRemoteThread onmatch="include"> <TargetImage condition="end with">explorer.exe</TargetImage> <TargetImage condition="end with">svchost.exe</TargetImage> <TargetImage condition="end with">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread> </EventFiltering> </Sysmon>

技術分享圖片

啟動sysmon

  • 下載sysmon,解壓。

  • 安裝sysmon:以管理員身份執行命令

    sysmon.exe -i C:\sysmon4322.sml.txt

技術分享圖片

會提示出錯,輸入命令 sysmon -accepteula -i -n

技術分享圖片

在事件查看器裏查看日誌

圖標“計算機”右鍵,點擊打開“管理”。點擊左側“系統工具”->“事件查看器”->應用程序和服務日誌/Microsoft/Windows/Sysmon/Operational

技術分享圖片

利用Sysmon具體分析日誌

這裏我重新生成了一個後門程序hi.exe進行分析;

我們可以看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等等。

技術分享圖片

打開kali,運行木馬文件,使其回連kali攻擊機。查看日誌,通過搜索關鍵字可以找到相關的後門文件:

技術分享圖片

打開這個事件,查看詳細信息,可以看到這個後門映像文件的具體位置、源IP和端口、目的IP和端口等。

技術分享圖片

技術分享圖片


2.2惡意軟件分析

2.2.1 惡意軟件分析—— Virus Total網站

技術分享圖片

在66個殺軟中,有49個報毒,可疑行相當高了。

查看這個惡意代碼的基本屬性:

技術分享圖片

可以看出它的SHA-1、MD5摘要值、文件類型、文件大小,以及TRiD文件類型識別結果。(註:TRiD通過讀取文件頭,根據特征碼進行文件類型匹配。

技術分享圖片

還有該惡意代碼的算法庫支持情況:

2.2.2 惡意軟件分析—— Process Monitor

Process Monitor 是一款由 Sysinternals 公司開發的包含強大的監視和過濾功能的高級 Windows 監視工具,可實時顯示文件系統、註冊表、進程/線程的活動。

打開軟件,可以看到各個進程的詳細記錄,下圖是我的後門進程:

(通過find來找到自己的後面)

技術分享圖片

2.2.3 惡意軟件分析—— Process Explorer

Process Explorer是由Sysinternals開發的Windows系統和應用程序監視工具,目前已並入微軟旗下。不僅結合了Filemon(文件監視器)和Regmon(註冊表監視器)兩個工具的功能,還增加了多項重要的增強功能。包括穩定性和性能改進、強大的過濾選項、修正的進程樹對話框(增加了進程存活時間圖表)、可根據點擊位置變換的右擊菜單過濾條目、集成帶源代碼存儲的堆棧跟蹤對話框、更快的堆棧跟蹤、可在 64位 Windows 上加載 32位 日誌文件的能力、監視映像(DLL和內核模式驅動程序)加載、系統引導時記錄所有操作等。

靶機運行木馬,我們可以看到Process Explorer對其進行的記錄:

技術分享圖片

2.2.4 惡意軟件分析—— systracer

  • 基本步驟如下:
    • 安裝SysTracer軟件
    • 保存快照,命名為Snapshot #
    • 將木馬植入靶機,對靶機註冊表、文件等進行快照,保存為Snapshot #2
    • 打開kali的msfconsle,靶機運行木馬,回連kali,win7下再次快照,保存為Snapshot #3
    • 在kali中對靶機進行屏幕截圖,win7下再次快照,保存為Snapshot #4
    • 在kali中對靶機進行提權操作,win7下再次快照,保存為Snapshot #

技術分享圖片

點擊右下角“Compare”,比較五個快照的不同之處。

比較快照4和快照5,可以看到進程的運行位置、本機地址、靶機地址及端口號

技術分享圖片

比較快照2和快照3,增加了dll庫。

技術分享圖片

比較快照2和快照3,我們還可以看到新增的後門進程,而且可以詳細看到其的目的IP和端口號、源IP和端口號以及連接的協議:

技術分享圖片

除上圖所示,還有一些Systracer未授權的地方我們是沒法查看的。如下圖:

技術分享圖片

技術分享圖片

2.2.5 惡意軟件分析—— PEiD

 > PEiD(PE Identifier)是一款著名的查殼工具,其功能強大,幾乎可以偵測出所有的殼,其數量已超過470種PE文檔的加殼類型和簽名。 

先看一下沒有加殼的後門程序

技術分享圖片

如上圖所示:Nothing found

使用UPX加殼後,PEiD成功檢測出了加殼的相關信息:

技術分享圖片


3.實踐總結與基本問題

3.1 實驗總結

本次實驗的內容十分豐富,但是我覺得有點難,惡意代碼的分析讓我很頭疼,好多東西不認識,只能看懂一些比較簡單的信息,自己的英語水平有待提高。。。。實驗中我學習到了新的指令和軟件,例如SysTracer、ProceMonitor等。這些工具都能很好地輔助我們對主機進行監控,以發現惡意行為並進行及時處理。發現網絡攻防是一門很有趣的課程。

3.2 基本問題

問:如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在幹些什麽。請設計下你想監控的操作有哪些,用什麽方法來監控。

使用windows自帶的schtasks指令設置一個計劃任務,每隔一定的時間對主機的聯網記錄等進行記錄。

使用sysmon工具,通過修改配置文件,記錄相關的日誌文件。

使用Process Explorer工具,監視進程執行情況。

問:如果已經確定是某個程序或進程有問題,你有什麽工具可以進一步得到它的哪些信息。

使用Wireshark進行抓包分析,監視其與主機進行的通信過程。

使用systracer工具分析惡意軟件。

20164322韓玉婷 -----EXP4 惡意代碼分析