1. 程式人生 > >2018-2019-2 網絡對抗技術 20165206 Exp4 惡意代碼分析

2018-2019-2 網絡對抗技術 20165206 Exp4 惡意代碼分析

利用 cep 不能 圖片 png 數字 sta 屬性 指導

- 2018-2019-2 網絡對抗技術 20165206 Exp4 惡意代碼分析

- 實驗任務

1系統運行監控(2分)

(1)使用如計劃任務,每隔一分鐘記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪裏。運行一段時間並分析該文件,綜述一下分析結果。目標就是找出所有連網的程序,連了哪裏,大約幹了什麽(不抓包的情況下只能猜),你覺得它這麽幹合適不。如果想進一步分析的,可以有針對性的抓包。

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

參考:schtask與sysmon應用指導

實際日誌的分析還需要發揮下自己的創造力,結合以前學過的知識如linux的文本處理指令等進行。分析的難點在於從大量數據中理出規律、找出問題。這都依賴對結果過濾、統計、分類等進一步處理,這就得大家會什麽用什麽了。

2惡意軟件分析(1.5分)

分析該軟件在(1)啟動回連,(2)安裝到目標機(3)及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件

(3)讀取、添加、刪除了哪些註冊表項

(4)讀取、添加、刪除了哪些文件

(5)連接了哪些外部IP,傳輸了什麽數據(抓包分析)

- 基礎問題回答

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

我想監控的操作有:註冊表的修改、進程的創建、可疑端口的占用、主機與可疑網絡進行通信、哪些文件被查看了等。

監控方法有:使用sysmon並通過修改配置文件,記錄相關操作的系統日誌文件、使用netstat,讓其定時執行,對記錄的網絡連接進行分析等。

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

使用wireshark軟件進行抓包分析,查看與主機進行的通信過程,判斷是否存在可疑連接;
使用Systracer軟件對比分析,通過註冊表等信息是否改變等相關信息來進行分析。

- 實驗過程

- 系統運行監控

- 使用schtasks指令監控系統

  • 使用schtasks /create /TN netstat5206 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog5206.txt命令,創建計劃任務netstat5206;
    技術分享圖片

  • 指令含義:
    TN是TaskName的縮寫,我們創建的計劃任務名是netstat5206;
    sc表示計時方式,我們以分鐘計時填MINUTE;
    TR=Task Run,要運行的指令是 netstat
    -bn,b表示顯示可執行文件名,n表示以數字來顯示IP和端口;
    c:\netstatlog5206.txt類似於Linux中的重定向,輸出將存放在C盤下的netstatlog5206.txt文件中(自動生成)。
  • 創建腳本文件netstat5206.bat,將它放到c盤中,修改文件內容為:

date /t >> c:\netstatlog5206.txt
time /t >> c:\netstatlog5206.txt
netstat -bn >> c:\netstatlog5206.txt
  • 打開任務計劃程序,找到新創建的任務netstat5206;
    技術分享圖片

  • 對這個任務進行編輯,將“程序或腳本”改為netstat5206.bat批處理文件;
    技術分享圖片

  • 運行一定時間,可在netstatlog5206.txt中查看本機在該時間內的聯網記錄(由於我不小心將之前統計的netstatlog5206.txt刪掉了,分析的數據不是很多。。);
  • 將所得數據在excel中進行分析,導入文本數據;
  • 選擇分隔符號;
    技術分享圖片

  • 選中全部分隔符號;
    技術分享圖片

  • 列數據格式選擇常規;
    技術分享圖片

  • 導入成功;
    技術分享圖片

  • 選中要分析的列;
    技術分享圖片

  • 生成統計圖進行分析,雖然數據較少,但也可以看出TCP連接是最多的,聯網最多的是搜狗瀏覽器對應的程序“Sogoucloud.exe”,也可以看到後門程序20165206_exp4.exe、VM等聯網的進程。
    技術分享圖片

- 使用sysmon工具監控系統

  • 創建配置文件sysmon20165206.xml,修改內容為:
<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>
  • 指令含義:
    exclude相當於白名單,不用記錄。include相當於黑名單。
    Image condition這裏要根據自己使用的瀏覽器更改,例如谷歌瀏覽器是“chrome.exe”,IE瀏覽器是“iexplore.exe”,寫在exclude中就是不記錄由該瀏覽器創建的進程。
    進程創建時間類似,也是不創建瀏覽器創建進程的時間。
    網略連接過濾掉了瀏覽器的網絡連接、源IP為127.0.0.1的網絡連接和目的端口為137的連接服務,且查看目的端口為80(http)和443(https)的網絡連接。
    137端口的主要作用是在局域網中提供計算機的名字或IP地址查詢服務,一般安裝了NetBIOS協議後,該端口會自動處於開放狀態。
    127.0.0.1表示本機IP。
    遠程線程創建記錄了目標為explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的遠程線程。
    explorer.exe是Windows程序管理器或者文件資源管理器
    svchost.exe是一個屬於微軟Windows操作系統的系統程序,是從動態鏈接庫 (DLL) 中運行的服務的通用主機進程名稱。
    winlogon.exe是Windows NT 用戶登陸程序,用於管理用戶登錄和退出。
    powershell.exe是專為系統管理員設計的新 Windows 命令行外殼程序。該外殼程序包括交互式提示和腳本環境,兩者既可以獨立使用也可以組合使用。

  • 在cmd中輸入sysmon.exe -i C:\sysmon20165206.xml命令,安裝sysmon;
  • 彈出的窗口選擇agree;
    技術分享圖片

  • 成功安裝;
    技術分享圖片

  • 在計算機管理中查看事件查看器,選擇日誌的位置為應用程序和服務日誌/Microsoft/Windows/Sysmon/Operational;
    技術分享圖片

  • 利用Sysmon具體分析後門程序;
  • 啟動Kali,進行回連;
    技術分享圖片

  • 找到運行後門文件相對應的日誌,查看詳細信息,可以看到這個後門映像文件的具體位置等一些信息;
    技術分享圖片

- 惡意軟件分析

- 用VirusTotal分析惡意代碼

  • 可以看到這個惡意代碼的SHA-1、MD5摘要值、文件類型、文件大小等基本屬性。
    技術分享圖片

- 使用PEiD分析惡意軟件

  • 掃描沒有加殼的後門程序,什麽也沒有找到;
    技術分享圖片

  • 掃描加了壓縮殼的後門程序,可以發現壓縮殼;
    技術分享圖片

  • 掃描加了加密殼的後門程序,什麽也沒有找到;
    技術分享圖片

  • 掃描加了壓縮殼後又加了加密殼的後門程序,什麽也沒有找到;
    技術分享圖片

發現PEid可以發現壓縮殼,但不能掃描出加密殼。

- 用Systracer分析惡意代碼

  • 下載完成後進行安裝,選擇第二個;
    技術分享圖片

  • 設置監聽端口號;
    技術分享圖片

  • 完成安裝後進行對回連前後分別進行快照,take snapshot;
    技術分享圖片

  • 點擊上方“Applications”->左側“Running Processes”->找到後門進程“20165206_ex4.exe”->點擊“Opened Ports”查看回連地址、遠程地址和端口號;
    技術分享圖片

  • 點擊“Compare”,比對一下回連前後計算機發生的變化,選擇only difference,查看改變的地方;
  • 可以發現對文件和註冊表等進行了修改;
    技術分享圖片

技術分享圖片

  • 還有許多信息由於未註冊不能查看;

技術分享圖片

-查看opened handles來對比他們都做了什麽;
技術分享圖片

- 用Wireshark分析惡意代碼

  • 查看VM虛擬機的ip和主機上VM的ip;
    技術分享圖片

技術分享圖片

  • 設置過濾規則為ip.addr == 192.168.154.128,只查看與虛擬機IP有關的數據包;
  • 在回連之前,開始捕獲,回連完成後結束捕獲;
  • 可以看到先進行了TCP三次握手,然後開始傳輸數據,並傳輸了大量ACK、PSH+ACK等數據包;
    技術分享圖片

  • 分析數據包可以看到占用的端口等信息;
    技術分享圖片

- 實驗總結與體會

  • 這次實驗相對以前而言,並沒有太多動手的地方,主要是分析惡意代碼。通過這次實驗,我們可以使用一些惡意代碼分析軟件來分析惡意代碼,也初步嘗試監控我們電腦了。比如可以周期性的運行一個任務,查看聯網的程序、連接的外部IP等。通過分析,可以發現我們電腦存在的一些隱患或問題。這次和前幾次不同,調換了身份,從攻擊者變成了防禦者,讓我對惡意代碼有了進一步的理解,收獲很大。

2018-2019-2 網絡對抗技術 20165206 Exp4 惡意代碼分析