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


實踐內容概述

實踐目標

  1. 監控你本身系統的運行狀態,看有沒有可疑的程序在運行。
  2. 是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具儘可能使用原生指令或sysinternals,systracer套件。
  3. 假定未來工做中你以爲本身的主機有問題,就能夠用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行爲與性質。

實踐內容

  1. 系統運行監控
    1. 使用如計劃任務,每隔一分鐘記錄本身的電腦有哪些程序在聯網,鏈接的外部IP是哪裏。運行一段時間並分析該文件,綜述一下分析結果。目標就是找出全部連網的程序,連了哪裏,大約幹了什麼(不抓包的狀況下只能猜),你以爲它這麼幹合適不。若是想進一步分析的,能夠有針對性的抓包
    2. 安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控本身主機的重點事可疑行爲。
  2. 惡意軟件分析
    1. 分析該軟件在(1)啓動回連,(2)安裝到目標機(3)及其餘任意操做時。該後門軟件
      • 讀取、添加、刪除了哪些註冊表項
      • 讀取、添加、刪除了哪些文件
      • 鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)

實驗問題回答

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

  1. 使用schtasks指令設置一個計劃任務,每隔必定的時間對主機的聯網記錄等進行記錄,分析記錄。
  2. 使用sysmon工具,經過修改配置文件,記錄相關的日誌文件。
  3. 使用Process Explorer工具,監視進程執行狀況。

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

  1. 靜態分析
    1. VirusTotal、VirusScan網頁掃描
    2. PEID掃出文件殼
    3. Ollydbg,IDA反彙編
  2. 動態分析
    1. wireshark抓包分析
    2. systracer快照比較

實踐過程記錄

系統運行監控

使用schtacks指令監控系統運行

  1. 使用指令chrome

    schtasks /create /TN netstat20165211 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

    建立任務netstat20165211,其中指令解釋以下shell

    • TN是TaskName的縮寫,咱們建立的計劃任務名是netstat5318;
    • sc表示計時方式,咱們以分鐘計時填MINUTE,該例中爲每一分鐘記錄一次電腦狀態;
    • TR=Task Run,要運行的指令是 netstat
    • bn,b表示顯示可執行文件名,n表示以數字來顯示IP和端口;
    • >表示輸出重定向,將輸出存放在C盤的netstatlog.txt文件中

    成功建立編程

附:在此過程當中,我出現了cmd顯示無效參數的問題,以下瀏覽器

後來通過反覆排查,才發現是TR以前少加了一個空格安全

查看結果網絡

  1. 在C盤建立一個netstat5211.bat的文件,寫入如下內容tcp

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

    打開任務計劃程序打開netstat20165211 將此程序的程序或腳本改成咱們建立的netstat5211.bat

安全選項中勾選使用最高權限運行


讓其自動運行一段時間,收集足夠的數據以待分析

  1. 收集足夠的數據後,將數據導入EXCEL進行,選擇數據-->獲取外部數據-->自文本,選擇咱們的文件,文本導入嚮導配置以下

文本導入後,效果以下

  1. 選中B列,能夠看到,這一列爲所運行的程序,對這一列進行分析。選中後-->插入-->數據透視表-->數據透視圖

    將數據透視表字段列表配置以下

  1. 獲得分析圖,查看

能夠看到wps.exe是最高的,可是,我一直都沒有運行wps,搜索以後,也發現了wps.exe文件,應該是這個文件一直在後臺運行着。隨後是chrome.exeVMware相關的服務,還有nimdnsResponder.exenidmsrv.exenimxs.exetagsrv.exe,查了一下,前三個爲LabVIEW相關程序。LabVIEWNationalInstruments,Inc.出品的一種圖形化的編程語言,用於快速建立靈活的、可升級的測試、測量和控制應用程序。但其鏈接的都是本地地址,應該不存在木馬文件,後門文件的可能性。在圖中還能夠看到咱們的後門程序。

使用sysmon工具監控系統運行

  1. 編寫對應的配置文件,這裏編寫的文件systom5211內容以下

    <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」
    • 進程建立時間相似,也是不建立瀏覽器建立進程的時間。
    • 網絡鏈接爲過濾掉瀏覽器的網絡鏈接、源IP爲127.0.0.1的網絡鏈接和目的端口爲137的鏈接服務,且查看目的端口爲80(http)和443(https)的網絡鏈接。
      • 137端口的主要做用是在局域網中提供計算機的名字或 IP地址查詢服務,通常安裝了NetBIOS協議後,該端口會自動處於開放狀態。
      • 127.0.0.1表示本機 IP。
    • 遠程線程建立記錄了目標爲explorer.exesvchost.exewinlogon.exepowershell.exe 的遠程線程。
      • explorer.exe是Windows程序管理器或者文件資源管理器
      • svchost.exe是一個屬於微軟Windows操做系統的系統程序,是從動態連接庫 (DLL) 中運行的服務的通用主機進程名稱。
      • winlogon.exe是Windows NT 用戶登錄程序,用於管理用戶登陸和退出。
      • powershell.exe是專爲系統管理員設計的新 Windows 命令行外殼程序。該外殼程序包括交互式提示和腳本環境,二者既能夠獨立使用也能夠組合使用。
  2. 安裝sysmon,下載解壓

  3. 進入解壓後的目錄,在命令行輸入sysmon.exe -i C:\sysmon5211.xml

    提示報錯後,輸入命令sysmon -accepteula -i -n成功安裝

  1. 打開事件查看器,應用程序和服務日誌/Microsoft/Windows/Sysmon/Operational按此路徑查看按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息

  2. kali端啓動第二次實驗生成的後門文件

咱們能夠在事件查看器中看到後門文件的事件記錄

同時,在查看事件時會找到大量的有關allhost.exe文件的記錄

搜查資料後發現,dllhost.exe是微軟Windows操做系統的一部分。dllhost.exe用於管理DLL應用,在任務管理器中能夠找到,這個程序對是微軟Windows系統的正常運行是很是重要的。

衝擊波殺手借用了dllhost.exe做爲進程名,可是因爲Windows不容許同一個目錄下有同名文件的存在,所以,衝擊波殺手把病毒體「dllhost.exe」放到了C:\Windows\System32\Wins目錄裏面。

還能夠找到咱們上一步自動運行的腳本的進程,在每分鐘的整點就會有一串這樣的進程


惡意軟件分析

使用Virus Total分析惡意軟件

一樣仍是使用以前實驗二,實驗三的後門軟件,選擇一個Akashi_Shellcode_upx.exe,進行分析

查看細節,能夠看到他的基本信息(文件類型,文件大小等等)

加殼狀況

還能夠看到,這個文件會發起與192.168.78.129的鏈接。

一樣的分析網站還有virscan,在實驗三中,在這兩個網站已經測試了不少的實例

使用PEiD分析惡意軟件

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

咱們測試一下未加殼,UPX壓縮殼,和加密殼hyperion三種狀況

未加殼

UPX壓縮殼

加密殼hyperion(加密殼找不到殼呀…………)

使用Process Explorer分析惡意軟件

在運行後門程序以後,咱們能夠看到在軟件頁面出現了新的進程20165211_akahsi.exe

打開後能夠查看進程的信息

使用Process Monitor分析惡意軟件

經過對軟件的使用,首先尋找大面積出現的20165211_akashi.exe進程,找到以後,向前推,便可找到Explore.EXE對運行20165211_akashi.exe的操做。

隨便可以看到20165211_akashi.exe的進程情況

使用systracer分析惡意軟件

  • 在靶機安裝SysTracer軟件

  • 保存快照,命名爲Snapshot #1

  • 將後門軟件植入靶機,對靶機註冊表、文件等進行快照,保存爲Snapshot #2

  • 打開kali的msfconsle,靶機運行木馬,回連kali,win7下再次快照,保存爲Snapshot #3

  • 在kali中對靶機進行獲取攝像頭操做,win7下再次快照,保存爲Snapshot #4

分析,經過compare鍵,進行比較分析。

快照一和快照二

能夠看到,增長了個人後門文件20165211_akahsi.exe,同時在這個過程當中增長,刪除了exe文件和dll文件

快照二和快照三

能夠看到,多了一個Apache HTTP Server 進程,指向的文件是咱們的後門文件,這個進程新建了不少目錄,文件,鍵值

同時相比快照二,也刪除更新了不少的文件

快照三和快照四

咱們能夠看到最明顯的是,在註冊表中多了不少對於攝像頭的操做

使用wireshark分析惡意軟件

主要分析了20165211_akashi.exe,已知ip爲192.128.0.106,便可設過濾條件爲ip.addr==192.168.0.106,查看結果爲

咱們能夠看到,有不少靶機和主機之間的tcp鏈接數據包,其中PSH,ACK包有數據進行傳輸


實驗總結與體會

本次實驗作的時候,正值清明假期,回家的時候,把本身的虛擬機文件拷硬盤帶回去,結果用別人的電腦作的時候就各類不習慣,實驗作了好久,崩潰。

此次實驗,重要讓咱們知道了惡意軟件的進程特色,也給咱們提供了不少分析惡意軟件的工具,好比SysTracer,Process Explorer等等,在作實驗的過程當中也確實遇到了不少的問題。在不少時候,軟件出來結果時,更是如同大海撈針,須要本身足夠了解進程的正常狀態,軟件的正確使用方式才能更高效的作完。

作完實驗了,該去刪電腦上的後門程序了……

相關文章
相關標籤/搜索