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

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

目錄


1、實驗內容說明及基礎問題回答html

2、實驗過程linux

3、問題與思考算法

4、實驗總結chrome



1、實驗內容說明及基礎問題回答


實驗內容shell

  • 系統運行監控(2分)windows

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

    • 安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控本身主機的重點事可疑行爲。
    參考:schtask與sysmon應用指導
    實際日誌的分析還須要發揮下本身的創造力,結合之前學過的知識如linux的文本處理指令等進行。分析的難點在於從大量數據中理出規律、找出問題。這都依賴對結果過濾、統計、分類等進一步處理,這就得你們會什麼用什麼了。
  • 惡意軟件分析(1.5分)網絡

分析該軟件在app

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

該後門軟件tcp

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

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

  • 鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)
該實驗重點在「分析」,不是「如何使用某軟件」。組長、課題負責人要求寫細一點,其餘人能夠重點放在分析上。

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

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

  • 使用sysmon工具,經過配置想要監控的端口、註冊表信息、網絡鏈接等信息,記錄相關的日誌文件。

  • 利用wireshark查看數據包

  • 用TCPView也行,不過能獲得的進一步信息較少

  • 用Process Explorer或者Process Monitor

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

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

  • 使用systracer工具分析惡意軟件,進行快照的對比(註冊表、文件等).

  • 使用Process Explorer查看調用的程序庫等等
  • 使用PE explorer
  • 也能夠用PEid查看的加殼狀況

返回目錄



2、實驗過程

Task1 系統運行監控


結合windows計劃任務與netstat命令

  • 爲實現每5min記錄下有哪些程序在鏈接網絡,輸入如下命令:schtasks /create /TN netstat5226 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"建立計劃任務
其中,TN是TaskName的縮寫,咱們建立的計劃任務名是netstat5226;sc表示計時方式,咱們以分鐘計時填MINUTE;TR=Task Run,要運行的指令是 netstat -bn,b表示顯示可執行文件名,n表示以數字來顯示IP和端口。
  • 在C盤中建立一個netstat5226.bat腳本文件(可先建立txt文本文件,使用記事本寫入後經過修改文件名來修改文件格式)

  • 在其中寫入如下內容
date /t >> c:\netstat5226.txt
time /t >> c:\netstat5226.txt
netstat -bn >> c:\netstat5226.txt

  • 打開任務計劃程序(在計算機管理中),能夠看到咱們新建立的這個任務

  • 雙擊這個任務,點擊操做並編輯,將「程序或腳本」改成咱們建立的netstat5226.bat批處理文件,肯定便可。

  • 任務還有其餘屬性,點擊「條件」選項卡,能夠更改相關的設置。好比默認操做爲「只有在計算機使用交流電源時才啓動此任務」,那麼使用電池電源時就會中止任務。這點須要格外注意,若是沒有修改默認操做,任務不管如何都沒法執行可能只是由於拔掉了電源。

  • 執行此腳本必定時間,就能夠在netstat5226.txt文件中查看到本機在該時間段內的聯網記錄

  • 等記錄項目夠多了再用xlsx進行分析:點擊數據選項卡,獲取外部數據,選擇以前記錄鏈接狀況的文本netstat5226.txt
    • 選擇分隔符號

    • 分隔符號所有選上

    • 列數據格式選擇常規

    • 完成生成表

    • 當記錄的數據足夠豐富時,中止任務,將所得數據在excel中進行分析(詳細操做參考學姐的博客

    • 將其作成餅狀圖(發現tcp最活躍)

    • 用折線圖來表示

使用sysmon監視系統

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>
  • 配置好文件以後,要先使用Sysmon.exe -i C:\Sysmoncfg.txt指令對sysmon進行安裝:

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

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

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

  • 打開這個事件,能夠看到其屬於「NetworkContect」。查看詳細信息,能夠看到這個後門映像文件的具體位置、源IP和端口、目的IP和端口等


Task2 惡意軟件分析


在線檢測——virustotal

  • 把生成的惡意代碼放在VirusTotal進行分析

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

能夠看出它的SHA-一、MD5摘要值、文件類型、文件大小,以及TRiD文件類型識別結果。(注:TRiD經過讀取文件頭,根據特徵碼進行文件類型匹配。)
  • 能夠看到加殼狀況

  • 以及該惡意代碼的算法庫支持狀況

動態分析1——使用TCPView工具

  • 經過TCPView工具能夠獲取後門程序的網絡鏈接信息,發現實驗環境下攻擊機的IP地址

  • 但雙擊後只能獲取少許信息,所以此軟件不適合用來分析具體數據傳輸過程

動態分析2——使用Process Explorer

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

  • 靶機運行木馬,回連攻擊機時,咱們能夠看到Process Explorer對其進行的記錄

動態分析3——使用Process Monitor

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

  • 打開軟件,能夠看出其對各個進程的詳細記錄

動態分析4——使用systracer

  • 下載SysTracer工具
    • 注意在agreet後選擇第二個進行端口號的設置
  • 點擊take snapshot分別存儲如下快照:
    • Snapshot #1:未植入後門程序的天然狀態
    • Snapshot #2:將木馬植入靶機,對靶機註冊表、文件等進行快照
    • Snapshot #3:打開kali的msfconsle,靶機運行木馬,回連kali,win7下再次快照
    • Snapshot #4:在kali中對靶機使用ls指令,win7下再次快照
    • Snapshot #5:在kali中對靶機使用getuid而後getsystem進行提權操做,win7下再次快照


  • 分析
    • 快照一和快照二:增長的後門程序,以及增減的鍵值、dll文件

    • 快照二和快照三:除了增減不少鍵值、dll文件外,還能查找到後門程序的回連(能看到端口號,攻擊方IP地址以及靶機IP地址)

    • 植入後門並回連進行權限提取或其餘操做

      咱們能在雙擊此快照的基礎上經過查看applications中的Runnig Processes找到後門程序,能清楚地看到本機地址和端口以及遠程攻擊方kali的地址及運行端口號

動態分析4——使用wireshark

  • 經過上一步的操做得知攻擊方以及受控方IP地址以及端口號以後使用wireshark進一步分析

  • 三次握手



    從序列號、確認號等能判斷出三次握手過程,同時還能查看傳輸的數據

靜態分析1——使用PEid查看加殼狀況

  • 未加殼時進行掃描

  • 加殼後再次進行掃描

缺點是不能獲取其餘更多的信息

靜態分析2——使用PE Explorer

  • PE Explorer是功能超強的可視化Delphi、C++、VB程序解析器,能快速對32位可執行程序進行反編譯,並修改其中資源。

  • 剛打開PE Explorer咱們就會看到後門程序的頭部信息。

  • 同時還能查看其依賴項

返回目錄



3、問題與思考

  • 問題1:在安裝sysmon時報錯

  • 問題1解決方案:以管理員身份運行cmd,從新執行命令進行安裝,成功。

  • 問題2:在進行數據收集時,出現一些問題,如沒法自啓動在文件中錄入數據、能定時觸發但只顯示時間沒有數據、不能定時觸發但經過管理員運行bat文件能輸出、不能生成txt文件、能定時觸發但只顯示結果沒有日期和時間。。

  • 問題2解決方案:
    • 在C盤中將bat文件的屬性中全部權限更改成徹底控制

    • 在任務管理中點開bat的屬性,在常規中將只在用戶登陸時運行更改成無論用戶是否登陸都要運行,並在下面的框中打鉤

  • 問題3:導入表格時出現如圖所示問題

  • 問題3解決方案:使所選單元格從D31開始便可

  • 問題4:在進行systracer中出現下圖所示狀況

  • 問題4解決方案:將改程序卸載後重裝便可

返回目錄

4、實驗總結

  • 本次實驗所須要使用的工具相比前幾回更豐富,經過運用不一樣的工具,結合以前信息安全及本期計算機病毒的一些知識,進一步熟練操做監控主機,能更好的輔助咱們發現並及時處理惡意行爲。
  • 惡意代碼的分析方法主要分爲靜態分析方法和動態分析方法。這兩種方法在本次實驗中都有所涉及。靜態分析方法是指在不執行二進制程序的條件下進行分析,如反彙編分析等;而動態分析方法是指在惡意代碼執行的狀況下,利用調試工具對惡意代碼實施跟蹤和觀察,肯定惡意代碼的工做過程,以便做進一步分析。
  • 實驗過程當中,遇到各類奇怪問題,不過經過不斷嘗試,能得以解決,但目前對於惡意行爲的監測中並不可控,不能作到百分百的檢測,這也是咱們從此研究的方向。

返回目錄

相關文章
相關標籤/搜索