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

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

1、實踐目標

  • 監控你本身系統的運行狀態,看有沒有可疑的程序在運行html

  • 分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具儘可能使用原生指令或sysinternals,systracer套件chrome

  • 假定未來工做中你以爲本身的主機有問題,就能夠用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行爲與性質。shell

2、實踐內容


2.1系統運行監控 (2分)

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

  • 安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控本身主機的重點事可疑行爲。瀏覽器

2.2惡意軟件分析 (1.5分)

  • 啓動回連,安裝到目標機及其餘任意操做時(如進程遷移或抓屏,重要是你感興趣)該後門軟件網絡

  • 讀取、添加、刪除了哪些註冊表項工具

  • 讀取、添加、刪除了哪些文件學習

  • 鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)網站


3、實踐過程

一、使用schtasks指令監控系統

  • 使用schtasks /create /TN netstat5320 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"命令建立計劃任務netstat5320,相關參數含義以下firefox

    • TN : TaskName 任務名
    • sc :計時方式
    • tr : TaskRun 運行的指令
    • -bn:顯示可執行的文件名、n表示數字和端口
  • 運行結果如圖所示:

  • 在C盤中建立一個netstat5320.bat腳本文件,

  • 輸入如下內容:
    • date /t >> c:\netstat5320.txt
    • time /t >> c:\netstat5320.txt
    • netstat -bn >> c:\netstat5320.txt

  • 打開任務計劃程序,查看是否已經建立新任務

  • 雙擊該任務,進行編輯操做,將「程序或腳本」改成上一步建立的netstat5320.bat批處理文件

  • 修改該任務的條件選項卡中的只有計算機使用交流電時才啓動此任務

  • 執行腳本一段時間,在netstat5320.txt文件中查看到本機一段時間內的聯網記錄

  • 按照教程:學姐的博客,將txt文件的數據導入Excel,按照TCP進行統計:

  • 發現這一段時間內主要是我在使用瀏覽器進行上網,其它的軟件都是一些比較重要的驅動程序,沒用發現其它異樣的軟件。

  • KillerServer爲電腦的網卡驅動

  • NVIDA爲電腦的顯卡驅動

  • YoudaoNote爲有道雲筆記,用來寫博客的

二、使用sysmon工具監測系統

  • 首先進入Sysmon官網下載相關壓縮包,進行解壓

  • 而後建立一個配置文件 Sysmon20165320.xml,進入Sysmon解壓後的目錄,使用Sysmon.exe -i .xml文件路徑安裝sysmon

  • 若是出現對話框,選擇agree

  • 安裝成功

  • 修改配置文件,使用Sysmon.exe -c .xml文件路徑,對配置文件進行更新
  • <Sysmon schemaversion="4.20">
      <!-- Capture all hashes -->
      <HashAlgorithms>*</HashAlgorithms>
      <EventFiltering>
      <!-- Log all drivers except if the signature -->
      <!-- contains Microsoft or Windows -->
      <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signat    ure>
      <Signature condition="contains">windows</Signature>
      </DriverLoad>
    
      <NetworkConnect onmatch="exclude">
      <Image condition="end     with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <Image condition="end with">firefox.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
      <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">firefox.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
      </CreateRemoteThread>
    
      <ProcessCreate onmatch="include">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <Image condition="end with">firefox.exe</Image>
      </ProcessCreate>
    
      <FileCreateTime onmatch="exclude" >
      <Image condition="end with">firefox.exe</Image>   
      </FileCreateTime>
    
      <FileCreateTime onmatch="include" >
      <TargetFilename condition="end with">.tmp</TargetFilename>       
      <TargetFilename condition="end with">.exe</TargetFilename>  
      </FileCreateTime>
    
      </EventFiltering>
      </Sysmon>

  • win10下,左下角開始菜單右擊->事件查看器->應用程序和服務日誌->Microsoft->Windows->Sysmon->Operational。在這裏,咱們能夠看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等等。

  • 打開kali虛擬機,生成一個簡單的後門程序,在win10主機運行該後門程序,而後查看相關日誌

  • 能經過查詢功能找到後門運行時候的日誌,猜想應該是在創建一個TCP鏈接,能看到相關的源IP,目的IP,還有相關的端口號。

三、使用VirusTotal分析惡意軟件

  • 將剛剛生成的一個簡單的後門程序,放入VirusTotal官方網站上進行分析檢查,能看到以下信息:

  • 還能查看到該後門所須要的一些庫文件

  • 該文件的MD5值、SHA-1值、文件類型、文件大小等信息都能被檢測出來,能夠說分析得很透徹了(固然也多是由於生成的後門太簡單,沒什麼創意)

四、使用PEiD分析惡意軟件

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

  • 首先拿剛剛生成的無殼後門放入該工具進行檢測,檢測結果以下:

  • 而後在Kali生成一個加過UPX殼的後門,放入該工具進行檢測,結果以下:

五、使用SysTracer工具進行快照對比

  • 在win7裏面運行SysTracer工具,截取四個快照

    • 徹底正常的主機

    • 木馬後門植入後,主機註冊表與文件信息

    • 運行木馬程序,回連Kali主機

    • 對win7進行相關控制操做

  • 對比1和2,主要發現桌面上多了後門程序

  • 並且可以發現後門程序會用到Apache 的 HTTP通訊服務

  • 對比2和3,能清楚的看到後門程序回連時候一些操做,以及所打開的一些目錄,利用到的端口和IP等信息,並且增長、刪除了許多.dll文件,有關注冊表的鍵值也發生了變化

  • 對比3和4,許多有關注冊表中的變化信息查詢不到,猜想應該是一些鍵值的變化。

六、使用Process Monitor分析惡意軟件

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

  • 打開該程序,找到後門進程,觀察相關信息以下

  • 點擊能查看到詳細的信息:

七、使用wireshark抓包分析惡意軟件

  • 使用wireshark軟件在後門程序回連的時候捕獲全部與Kali控制端傳輸的包,發現出現有TCP三次握手,以及一些利用TCP傳輸的數據包

  • 因此猜想後門程序在回連的時候,應該首先與控制端主機經過TCP三次握手創建鏈接,相關的控制命令等做爲有效數據被加入到TCP數據包發送到被控主機,而後被控主機讀取相關數據,而後執行相應的操做。

4、實驗後回答問題

  • 若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。

    答:一個是使用sysmon工具修改配置文件,記錄相關日誌文件,查找有關的日誌,從中找到一些線索。二是使用schtasks,觀察一段時間內主機的聯網記錄,看有沒有可疑的軟件偷偷上網。

  • 若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。

    答:將它扔到VirtualToatal上進行掃描分析,或者用sysTracer分析它的具體行爲,相關信息。

5、實驗心得

  • 這一次實驗讓咱們去分析一些簡單的後門程序,找它們的一些行爲特徵,並且利用了許多之前未曾據說過的軟件,讓咱們之後面對惡意軟件可以有一套最簡單的分析方法,也讓咱們有了可以與之抗衡的資本,但在分析的過程當中仍是遇到了不少計算機基礎知識不熟悉的問題,分析Sys快照的時候有關注冊表的不少信息仍是看不懂,因此在以後的學習中要增強基礎知識的學習。
相關文章
相關標籤/搜索