20145215《網絡對抗》Exp4 惡意代碼分析

20145215《網絡對抗》Exp4 惡意代碼分析

基礎問題回答

  1. 若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
    • 使用Windows自帶的schtasks指令設置一個計劃任務,指定每隔必定時間記錄主機的聯網記錄或者是端口開放、註冊表信息等等;
    • 經過sysmon工具,配置好想記錄事件的文件,以後在事件查看器裏找到相關日誌文件即可以查看;
    • 使用Process Explorer工具,監視進程執行狀況,查看是否有程序調用了異常的dll庫之類的。
  2. 若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
    • 使用Wireshark進行抓包分析,查看該程序聯網時進行了哪些操做;
    • 使用systracer工具分析某個程序執行先後,計算機註冊表、文件、端口的一些變化狀況。

實踐內容

目錄

使用schtasks指令監控系統運行

  1. 先在C盤目錄下創建一個netstatlog.bat文件,用來將記錄的聯網結果格式化輸出到netstatlog.txt文件中,netstatlog.bat內容爲:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  1. 打開Windows下命令提示符,輸入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"指令建立一個每隔兩分鐘記錄計算機聯網狀況的任務:
    html

  2. 以後查看一下netstatlog.txt文件,大部分都是正常聯網的應用,一開始不知道LMS.exe是用來幹嗎的,後面百度了一下,是英特爾本地管理服務的一個進程:
    chrome

  3. 隔了一天以後,再次查看了這一天當中記錄的主機聯網日誌,沒有發現什麼異常,除了當時打開後門軟件回連時reverse.exe程序的聯網記錄:
    shell

使用sysmon工具監控系統運行

  1. sysmon微軟Sysinternals套件中的一個工具,能夠從碼雲項目的附件裏進行下載,要使用sysmon工具先要配置文件,一開始我直接用的是老師給的配置文件:
<Sysmon schemaversion="3.10">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>

    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
    </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>
  1. 配置好文件以後,要先使用Sysmon.exe -i C:\Sysmoncfg.txt指令對sysmon進行安裝:
    windows

  2. 啓動以後,即可以到事件查看器裏查看相應的日誌:
    api

  3. 我查看了其中一部分事件的詳細信息,好比這個事件是以前作計劃任務時所建立的:
    瀏覽器

  4. 例以下面的事件是搜狗瀏覽器對文件的建立時間進行了更改,應該也就是更新:
    安全

  5. 還有以前reverse.exe程序運行時所建立的事件:
    網絡

  6. 以後,我對Sysmoncfg.txt配置文件進行了修改,重點是監視80和443端口的聯網狀況,沒有發現什麼異常狀況,關於配置文件的編寫能夠參考使用輕量級工具Sysmon監視你的系統
<Sysmon schemaversion="3.10">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>

    <NetworkConnect onmatch="exclude">
      <Image condition="end with">SogouExplorer.exe</Image>
    </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>

使用virscan分析惡意軟件

  1. virscan網站上查看上次實驗所作的後門軟件的文件行爲分析:
    函數

  2. 能夠看到其啓動回連主機的部分IP地址以及端口號,還有對註冊表鍵值進行了刪除:
    工具

  3. 還有反調試和建立事件對象的行爲:

使用systracer工具分析惡意軟件

  1. 使用systracer工具創建了5個快照,分別是在主機中沒有惡意軟件時、將惡意軟件植入到目標主機中後、惡意軟件啓動回連時、惡意軟件執行dir命令進行查看時以及使用惡意軟件獲取目標主機的攝像頭時:

  2. 將惡意軟件植入到目標主機後,能夠經過快照發現文件中多了一個reverse.exe文件,惡意軟件啓動回連時,能夠查看到其所創建的TCP鏈接以及其打開的句柄:

  3. 執行dir命令時,惡意軟件較於以前的操做好像並無作太多更改,可是在獲取主機攝像頭時,能夠發現,它對註冊表信息進行了修改,而且也新增了不少個句柄:

使用wireshark分析惡意軟件回連狀況

  1. 在惡意軟件進行回連操做時,在Windows主機上用netstat命令能夠查看TCP鏈接的狀況,其中就有後門程序reverse.exe所創建的TCP鏈接:

  2. 使用wireshark進行抓包後能夠看到,其先進行了TCP的三次握手,以後再進行數據的傳輸,如圖所示,帶有PSH,ACK的包傳送的即是執行相關操做指令時所傳輸的數據包:

使用Process Monitor分析惡意軟件

  1. 使用Windows XP系統上的Process Monitor對惡意軟件進行分析時能夠看到不少Explorer.exe進程,應該是惡意軟件對其進程進行的假裝:

使用Process Explorer分析惡意軟件

  1. 使用Process Explorer對惡意軟件進行分析時能夠看到啓動回連時在運行的後門程序:

  2. 點開查看其詳情會發現遠程主機的IP地址和端口號:

  3. 以及其調用的advapi32.dll庫,該庫中所包含的函數與對象的安全性,註冊表的操控以及事件日誌有關:

使用PEiD分析惡意軟件

  1. 使用PEiD軟件能夠查看惡意軟件的殼的相關信息,以及其所使用的編譯器版本:

實驗總結與體會

  • 隨着這幾回實驗對惡意代碼的分析,能夠看出目前的惡意代碼愈來愈有隱蔽性,不少時候單純靠殺軟已經不能實現對惡意代碼的查殺了,這也就要求咱們要學會利用一些工具來對系統中的軟件進行監控並分析。此次的實驗即是很好的一個例子,雖然目前我並無發現個人計算機裏存在着什麼可疑的程序,可是這並不表明系統裏不存在惡意代碼,可能只是它隱藏的更深,更難被發覺,以後我也會繼續增強對惡意代碼各類類的特色進行學習,從而可以更容易發現系統中所存在的一些異常行爲。
相關文章
相關標籤/搜索