惡意代碼分析


20175314 2020-4 《網絡對抗技術》Exp4 惡意代碼分析 Week8

一、實踐目標

1、實踐對象

  • 經過加密和壓縮的惡意代碼markshell_hyperion_upxed.exe

2、實踐內容

  • 系統運行監控

    • 使用如計划任務每隔一分鍾記錄電腦有哪些程序在聯網,連接的外部IP是哪里。運行一段時間並分析該文件,綜述分析結果。目標:找出所有連網的程序的連接和操作,這個操作是否合適合理,並有針對性的抓包做進一步的分析;
    • 安裝配置sysinternals中的sysmon工具,設置合理的配置文件,監控主機的重點事可疑行為;
    • 實際日志的分析還需要發揮下自己的創造力,結合以前學過的知識如linux的文本處理指令等進行(難點在於從大量數據中理出規律、找出問題)。
  • 惡意軟件分析

    • 分析該軟件在啟動回連,安裝到目標機及其他任意操作時(如進程遷移或抓屏),該后門軟件:
      • 讀取、添加、刪除了哪些注冊表項;
      • 讀取、添加、刪除了哪些文件;
      • 連接了哪些外部IP,傳輸了什么數據(抓包分析)。

二、基礎知識

1、實踐要求

  • 監控你自己系統的運行狀態,看有沒有可疑的程序在運行;
  • 分析一個惡意軟件,就分析Exp2或Exp3中生成后門軟件;分析工具盡量使用原生指令或sysinternals systracer套件;
  • 假定將來工作中你覺得自己的主機有問題,就可以用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行為與性質。

2、指令/參數

  • schtasks安排命令和程序定期運行或在指定時間內運行
    • TN任務名,這里命名為schtasks5314
    • sc計時方式,這里用MINUTE表示以分鍾為單位
    • bnb是顯示可執行文件的名字,n是用數字表示IP和端口
    • TR要運行的指令、
    • >輸出重定向即輸出的文件路徑,本次為c:\netstatlog.txt
    • schtasks /create /TN schtasks5314 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

3、預備知識

  • MAL_動態分析_Windows計划任務schtasks

  • 微軟輕量級監控工具sysmon原理與實現

  • 分析工具

    • Schtasks 安排命令和程序定期運行或在指定時間內運行
    • WPS 導入Schtasks記錄的數據並使用表格生成統計信息
    • Sysmon 通過系統服務和驅動程序實現記錄進程創建、文件訪問以及網絡信息的記錄(Windows日志事件)
    • Wireshark 在惡意代碼回連服務端(Kali)時對網絡協議(TCP ICMP等)進行捕包分析
    • SysTracer 跟蹤並監視進程對整個系統的修改行為並進行比較
    • PEiD 偵測加殼文件(類型和簽名)
    • VirusTotal 在線分析惡意代碼(相應的的系統文件和注冊表)

三、實踐步驟

1、系統運行監控

  • 使用schtasks指令添加計划任務

  • 新建schtasks5314.txt輸入

date /t >> c:\netstat20175314.txt 
time /t >> c:\netstat20175314.txt 
netstat -bn >> c:\netstat20175314.txt
  • 保存並退出,修改文件名schtasks5314.bat並復制到C盤目錄

  • 任務計划程序編輯計划任務


  • 運行任務netstat開始記錄后台的數據,保持電腦的正常使用,約兩小時后在C盤目錄打開netstat20175314.txt查看數據

  • 使用WPS的表格工具導入文檔數據,生成數據透視圖

    微信 WeChat.exe
    Office OfficeClickToRun.exe WINWORD.EXE WinStore.App.exe EXCEL.EXE
    騰訊課堂 TXEDU.exe
    金山詞霸 ktpcntr(廣告)
    知網研學 CNKIWebServiceAccess.exe CNKIEIDataSrv.exe
    阿里巴巴 AlibabaProtect.exe(反釣魚)
    Microsoft Edge MicrosoftEdgeCP.exe MicrosoftEdge.exe browser_broker.exe
    Google Chrome GoogleUpdate.exe
    福昕高級PDF編輯器 FoxitProxyServer_Socket_PH.exe
    VMware Workstation Pro vmware.exe vmware-authd.exe vmnat.exe
    PacketiX VPN Server 管理工具 vpnserver_x64.exe
    Windows HxTsr.exe(易被感染的與數字簽名有關的系統重要組件) svchost.exe SearchUI.exe CHsIME.exe backgroundTaskHost.exe

  • 在這段時間中使用最多的是微信和騰訊課堂還有虛擬機,符合實際情況。但是后台存在很多非我主動運行的軟件進程,甚至還有廣告軟件,還有根本沒有下載安裝的網絡安全組件和應受重點關注的易感染的系統組件,所以在日常使用中應該主動留意后台進程,保證后台的有序和可信不僅能夠保證自己信息的安全,也能夠保障系統的流暢運行。

  • 下載SysinternalsSuite.zip並解壓

  • 因為系統是64位的系統所以選擇Sysmon64.exe,右鍵屬性詳細信息查看產品版本,在SysinternalsSuite所在目錄下創建sysmon20175314.xml,以文本文檔方式打開輸入代碼保存並退出

    ProcessCreate 進程創建,這里的進程名包含了所有以該進程名結尾的進程
    NetworlConnect 網絡連接,過濾掉瀏覽器的網絡連接,即源IP為127.0.0.1(本機IP)的網絡連接和目的端口為137(提供局域網中ID或IP查詢服務)的連接服務,且查看目的端口為80(http)和443(https)的網絡連接
    CreateRemote 遠程線程創建
    FileCreate Time 進程創建時間
    onmatch include/exclude 設置免檢/必檢名單

  • 以管理員身份運行CMDSysmon64.exe目錄下執行Sysmon64.exe -i sysmon20175314.xml

  • 事件查看器(本地)-應用程序和服務日志-Microsoft-Windows-Sysmon-Operational查看根據配置信息sysmon20175314.xml記錄的進程信息進程號 路徑等系統信息

2、惡意軟件分析

  • 使用惡意軟件(實驗三中的加殼后門程序進行回連),以日志信息和Wireshark捕包信息分析系統進程規律

  • 在事件查看器中根據運行時間找到相應后門程序操作的相關信息,在Wireshark過濾器中輸入篩選條件ip.addr == 192.168.40.130查看相關的協議包信息

  • Kali系統與Windows系統Ping通時的ICMP

  • MSF反彈連接時的TCP

  • dir查看磁盤中后門程序目錄下的文件,日志沒有更新

  • getuid查看作為運行服務器的用戶,日志更新一條

  • SearchFilterHost.exe桌面搜索引擎的索引程序,主要作用是建立快速索引文件,讓用戶能夠更好的搜索出電腦中的任意資料。它會在計算機空閑時自動掃描索引位置的文件名、屬性信息和給定類別的文件內容,這些索引位置默認包括桌面、收藏夾、開始菜單、系統目錄

  • screenshot截屏,日志更新三條

  • 其中包括截圖工具SnippingTool.exe

  • webcam_snap通過攝像頭拍照,日志更新了兩條


  • mspclock.sysmspqm.sys都是系統關鍵文件,可能會成為病毒感染的對象

  • 總的來看,在沒有針對性地繞過Sysmon監控的情況下,Sysmon也不能完全監控到惡意軟件的攻擊行為,而刪除配置項或卸載SysmonDrv過濾器的驅動程序更可以繞過Sysmon,所以安全軟件還是非常重要的。從Wireshark的捕包結果來看,協議包數量主要是由傳輸數據(文件)大小決定(screenshot.jpg≈140Kb/webcam.jpg≈15Kb)

  • 下載SysTracer並安裝

SysTracer是一款集成HIPS以及進程行為跟蹤功能的安全輔助工具,可以跟蹤並監視進程對整個系統的修改行為,包括文件操作,注冊表操作,內存操作和危險行為。SysTracer可以監視全部進程,或者用戶指定的某一個進程及其子進程,並提供監視日志以幫助用戶對特定進程的行為進行分析。可在任何想要的時間獲取無數個屏幕快照,可比較任何一對想要的屏幕快照,並且觀察其間的不同之處。獲取屏幕快照通常會持續幾分鍾的時間,取決於文件和文件夾的數量和注冊表項目的總數。
  • 安裝時要輸入相應端口

  • 運行SysTracer共進行5次記錄,為控制變量Kali始終在運行狀態,同時因為后門程序與虛擬機的位置都在C盤D盤,所以可以根據實際情況只勾選相應的內容以精簡分析過程

    • Snapshot #1未植入惡意軟件前
    • Snapshot #2植入惡意軟件后
    • Snapshot #3惡意軟件回連后
    • Snapshot #4MSF相關的操作sysinfo screenshot
    • Snapshot #5退出惡意軟件后
  • 在比較過程中,#1-#4只需要查看新增的內容即可,#5則需要查看修改和刪除的內容

  • 比較#1#2,可以發現加入了大量注冊表值但是暫時還無法確定是否與后門程序有關

  • 可以確定相關的鍵值和文件還有進程有明顯特別的增加


  • 比較#2#3,又可以發現增加了大量可能無關的注冊表值還有相關的進程

  • 這里查看到的相應IP和相應端口可以知道回連成功

  • 比較#3#4,執行的MSF指令操作沒有發現特別明顯的相關變化

  • 比較#4#5,相關的進程和文件還有鍵值都有刪除

  • 后門程序已經沒有在后台運行了,但是相關的注冊表值暫時還沒有變化(可能重啟后也會刪除),所以我們除了定期要清理磁盤垃圾文件以外也需要工具對注冊表進行維護(修復或刪除等)

  • 使用PEiD檢查惡意代碼是否加殼,但是該惡意代碼是加過加密殼和壓縮殼的,這里只檢測出了壓縮殼

  • 使用VirusTotal檢查惡意代碼,可以查看MD5、SHA-1、文件類型、文件大小、加殼方式等相關信息

Basic properties
    MD5           c3affb62b04fecc07c6fc34bc4f9762f 
    SHA-1         1fb035179f418e8e5a66923705f6dbced9ff7502 
    SHA-256       ffda14b93c2933bedcd9be0637f954699f06f20df6a4bb9d68a920e58fc8d7d5 
    Vhash         02503e0f7d1bz4!z 
    Authentihash  aa8676671817900b31b2a7ba27f938fad408149aa91a6fbecb78336d16d89001 
    Imphash       6ed4f5f04d62b18d96b26d6db7c18840 
    SSDEEP        6144:IaVMLYIFJRL1yDTHvpxicXlDClcBRgLbx6YMs1PxiS9G+ZK8o4TlDWA:......
    File type     Win32 EXE 
    Magic         PE32 executable for MS Windows (GUI) Intel 80386 32-bit 
    File size     289.00 KB (295936 bytes) 
    F-PROT        UPX # 這里也沒有檢測到加密殼
    PEiD          UPX 2.90 [LZMA] -> Markus Oberhumer, Laszlo Molnar & John Reiser 

History
    Creation Time     2020-03-27 01:15:01 
    First Submission  2020-04-02 00:25:09 
    Last Submission   2020-04-02 00:25:09 
    Last Analysis     2020-04-05 15:22:15 

Names
    c3affb62b04fecc07c6fc34bc4f9762f.virus 

Portable Executable Info
    Header 
    Target Machine            Intel 386 or later processors and compatible processors 
    Compilation Timestamp     2020-03-27 01:15:01 
    Entry Point               629984 
    Contained Sections        3 

Sections 
    Name    Virtual Address    Virtual Size    Raw Size    Entropy                 MD5 
    UPX0         4096             331776         0           0       d41d8cd98f00b204e9800998ecf8427e 
    UPX1         335872           294912         294912      7.72    eb2a73ba86dd4d2e0bbbab721003a93e 
    UPX2         630784           4096           512         1.38    80e3fddc7bb34f8dda72990f3853d87a 

Imports  
    KERNEL32.DLL 

ExifTool File Metadata
    CodeSize                  294912 
    EntryPoint                0x99ce0 
    FileType                  Win32 EXE 
    FileTypeExtension         exe 
    ImageFileCharacteristics  No relocs, Executable, No line numbers, No symbols, 32-bit 
    ImageVersion              0.0 
    InitializedDataSize       4096 
    LinkerVersion             1.71 
    MIMEType                  application/octet-stream 
    MachineType               Intel 386 or later, and compatibles 
    OSVersion                 1.0 
    PEType                    PE32 
    Subsystem                 Windows GUI 
    SubsystemVersion          4.0 
    TimeStamp                 2020:03:27 02:15:01+01:00 
    UninitializedDataSize     331776

File system actions
    Files opened # 調用系統關鍵文件
    C:\WINDOWS\system32\winime32.dll 
    C:\WINDOWS\system32\ws2_32.dll 
    C:\WINDOWS\system32\ws2help.dll 
    C:\WINDOWS\system32\psapi.dll 
    C:\WINDOWS\system32\imm32.dll 
    C:\WINDOWS\system32\lpk.dll 
    C:\WINDOWS\system32\usp10.dll 

Registry actions
    Registry keys opened # 從系統注冊庫中得到指定鍵
    \Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\996E.exe 
    \Registry\MACHINE\System\CurrentControlSet\Control\SafeBoot\Option 
    \Registry\Machine\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers 
    \REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\TransparentEnabled 
    \REGISTRY\USER\S-1-5-21-......\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers 

Modules loaded
    Runtime modules 
    KERNEL32.DLL 
    kernel32.dl

四、實踐報告

1、遇到的問題

  • 問題 因為以前都是使用Windows7的虛擬機與Kali虛擬機進行回連,這次嘗試主機時發現Kali可以Ping通主機(Windows10),但是主機不能Ping通Kali。

  • 解決方案 固然是可以將虛擬機的網絡設置修改成橋接模式來解決,但是這樣的話Kali的IP地址就會主機地址改變,后門程序就需要重新生成,所以我選擇更改主機網絡連接設置中VMware的NAT模式相應適配器的IPv4地址來解決,只需要將前24位IP地址設置成與Kali正常NAT模式下的IP地址相同處在同一子網下即可。

2、基礎問題回答

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

    • 使用schtasks定時監聽,一段時間后統計數據;
    • 使用Sysmon編寫配置文件監視相應的進程情況,記錄相關的日志文件分析疑似惡意代碼;
    • 使用Systracer進行快照對幾次系統狀態進行比較,系統是否有執行一些非用戶主動下的操作。
  • (2)如果已經確定是某個程序或進程有問題,你有什么工具可以進一步得到它的哪些信息。

    • 使用VirusTotal(對一些非官方渠道下載的軟件)進行檢查;
    • 使用Systracer進行分析,查看其對注冊表、文件和進程內容的修改;
    • 使用wireshark進行捕包分析,查看它連接到了哪些IP、與外部進行了哪些通信。

3、實驗收獲與感想

  • 本次實驗還比較輕松愉快,內容主要是對自己的電腦進行監控並找出潛在的惡意代碼,注重於防護與監控這方面的實驗。利用各種工具進行對系統的檢測,過程中深深感覺到自己對計算機知識相當匱乏:查出來文件、進程或是注冊表都比較陌生,需要在網上逐一查找;也清晰認識到學習的道路還很漫長:以后各個課程無論是課堂還是實驗都要扎實的學習一步一腳印地夯實基礎才能夠在真正實踐過程中得心應手。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM