20171121王朋偉《惡意代碼分析》實驗報告


一、實驗名稱

  惡意代碼分析

 

二、實驗目的

  1.是監控你自己系統的運行狀態,看有沒有可疑的程序在運行。

  2.是分析一個惡意軟件,就分析Exp2或Exp3中生成后門軟件;分析工具盡量使用原生指令或sysinternals,SysTracer套件。

  3.假定將來工作中你覺得自己的主機有問題,就可以用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行為與性質。

 

三、實驗內容

  3.1系統運行監控

  (1)使用如計划任務,每隔一分鍾記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪里。運行一段時間並分析該文件,綜述一下分析結果。目標就是找出所有連網的程序,連了哪里,大約干了什么(不抓包的情況下只能猜),你覺得它這么干合適不。如果想進一步分析的,可以有針對性的抓包。

  (2)安裝配置Sysinternals里的Sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。

實際日志的分析還需要發揮下自己的創造力,結合以前學過的知識如Linux的文本處理指令等進行。分析的難點在於從大量數據中理出規律、找出問題。這都依賴對結果過濾、統計、分類等進一步處理。

  3.2惡意軟件分析

分析該軟件在(1)啟動回連,(2)安裝到目標機(3)及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)。該后門軟件

  (3)讀取、添加、刪除了哪些注冊表項

  (4)讀取、添加、刪除了哪些文件

  (5)連接了哪些外部IP,傳輸了什么數據(抓包分析)

 

四、基礎知識和實驗准備

  1.從txt文本中導入數據到Excel表中的方法:數據—>自文本—>選擇分隔符號—>選中全部分隔符號—>列數據格式選擇常規—>點擊完成。

  2.Sysinternals里的Sysmon工具:Sysmon是微軟的一款輕量級的系統監控工具,它通過系統服務和驅動程序實現進程創建、文件訪問以及網絡信息的記錄,並把相關的信息寫入並展示在Windows的日志文件里。我們可以使用這款工具去記錄並分析系統進程的活動來識別惡意或者異常活動。

  3.SysTracer工具:SysTracer是一個系統工具,它可以幫助使用者查找計算機可能是由惡意軟件造成的更改。要發現這些更改,SysTracer將執行系統掃描,記錄有關文件和文件夾、注冊表項、系統服務、驅動程序、當前活動進程、動態鏈接庫和計划在系統啟動時運行的應用程序的信息。然后,SysTracer使用所有這些信息創建系統的完整快照,並將其保存,供以后參考。通過快照對比,可以看到哪些文件和注冊表項已更改,即創建、修改或刪除的任何內容。

 

五、實驗過程記錄

  5.1系統運行監控

    5.1.1使用如計划任務,每隔一分鍾記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪里。

    輸入“ schtasks /create /TN netstat1121 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn >  c:\duikang_sy4\netstatlog.txt" ”創建名為“netstat1121”的任務計划。創建成功后,雙擊該任務計划,勾選“使用最高權限運行”。

    其中TN表示Task Name,SC表示SChedule type,此處使用MINUTE,以分鍾來計時,MO表示 Modifier,TR表示 Task Run,要運行的指令是 netstat -bn,“-b”參數表示顯示可執行文件名,“-n”參數表示以數字來顯示IP和端口。

    實現的功能:開啟計划任務,每5分鍾記錄一下有哪些程序在連接網絡,並把結果寫入netstatlog.txt中。

 

  

    新建一個txt文件,輸入以下指令:

    date /t >> c:\duikang_sy4\netstatlog_1121.txt

    time /t >> c:\duikang_sy4\netstatlog_1121.txt

    netstat -bn >> c:\duikang_sy4\netstatlog_1121.txt

    另存為文件為netstatlog_1121.bat,路徑為c:\duikang_sy4。.bat文件是Windows批處理文件。

    雙擊該任務計划,編輯操作,設置程序或腳本為我們剛剛生成的Windows批處理文件netstatlog_1121.bat。

 

    等待netstat1121運行2小時后,刪除此任務計划。選擇路徑c:/duikang_sy4/netstatlog_1121.txt,查看所記錄的數據。

    將數據導入Excel中,對數據做統計分析(導入方法已在基礎知識和實驗准備中描述)。生成數據透視圖,做降序排列。

 

    2小時內連網超過20次的應用程序:

    QyClient.exe        愛奇藝(PPS)的客戶端進程

    QQ.exe              QQ

    tagsrv.exe           LabVIEW相關程序。LabVIEW是NationalInstruments,Inc.出品的一種圖形化的編程語言,用於快速創建靈活的、可升級的測試、測量和控制應用程序

    nimxs.exe            LabVIEW相關程序

    lkads.exe            LabVIEW相關程序

    WinStore.App.exe       隸屬Windows Store生態系統

    DingTalk.exe        釘釘

    svchost.exe           是微軟Windows操作系統中的系統文件,是從動態鏈接庫 (DLL) 中運行的服務的通用主機進程名稱

    lktsrv.exe           LabVIEW相關程序

    lkcitdl.exe           LabVIEW相關程序

    nidmsrv.exe           LabVIEW相關程序

    WeChatStore.exe        執行后會出現微信的二維碼登錄窗口

    nimdnsResponder.exe     National Instruments Zeroconf Service  NI公司的Zeroconf服務

    WUDFHOST.exe        是一個Windows驅動程序的基礎-用戶模式驅動程序框架進程,每台硬件設備都必須附帶用戶模式設備驅動程序,此驅動程序必須安裝到Windows中

    SearchUI.exe        小娜(Cortanar)的搜索進程

    MFEAvSvc.exe          隸屬殺毒軟件McAfee(邁克菲)的進程

    在記錄的時間內我主要使用的是QQ、釘釘還有微信,因為電腦中裝了很多NI公司的軟件,而且經常會有更新,所以這些軟件連網也很正常,其次就是一些微軟的系統文件。最讓我想不明白的是愛奇藝客戶端為什么會有這么大量的連網,畢竟在這段時間內我並沒有使用它。

    5.1.2安裝配置Sysinternals里的Sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。

    從微軟官網下載SysinternalsSuite.zip,解壓后找到Sysmon64.exe,在屬性中查看此應用程序的版本號,為寫配置文件做准備。

    在Sysmon64.exe所在的目錄下,新建一個txt文件,輸入如下:

 

    另存為Sysmon64_1121.xml文件,xml即可擴展標記語言,是一種用於標記電子文件使其具有結構性的標記語言。

    上述代碼實現的功能是:

    1.在日志中不記錄簽名為“microsoft”和“windows”的驅動裝載;

    2.過濾掉瀏覽器的網絡連接,記錄所有目的端口為80和443的網絡連接(80端口的服務為http,443端口的服務為https),但是過濾掉以“MicrosoftEdge.exe”和“MicrosoftEdgeCP.exe”結尾的可執行文件的聯網情況,也不記錄源IP為127.0.0.1以及源端口號為137的網絡連接;

    3.在創建遠程線程方面,不記錄以“explorer.exe”、“svchost.exe”、“winlogon.exe”和“powershell.exe”結尾的可執行文件所創建的線程。

    以管理員身份運行cmd,在Sysmon64.exe目錄下輸入“Sysmon64.exe -i  Sysmon64_1121.xml”。

 

    通過事件查看器(本地)—>應用程序和服務日志—>Microsoft—>Windows—>Sysmon—>Operational,可以查看到Sysmon64.exe所記錄的服務日志。

 

 

 

    雙擊一條記錄,可以從時間屬性中得知記錄的時間、進程號、可執行文件名、文件版本等詳細信息。

 

  5.2惡意軟件分析

    5.2.1靜態分析

    (1)使用VirusTotal掃描惡意軟件

    此處掃描的是實驗2中生成的一個簡單的后門程序20171121_backdoor.exe。點開BEHAVIOR,可以看到VirusTotal對此惡意程序的行為分析。

 

    (2)使用PEID查殼工具掃描惡意軟件

    掃描不加殼的后門,結果當然是什么都沒找到。

 

    掃描加upx壓縮殼的后門,結果顯示發現UPX殼。

 

    掃描加Hyperion加密殼的后門,驚奇的是,結果卻顯示什么都沒找到。看來PEID只能掃描出壓縮殼,對加密殼沒有檢測能力。

 

    5.2.2動態分析

    (1)使用SysTracer工具分析后門程序(此處使用實驗2生成的后門程序20171121_backdoor.exe)

    安裝SysTracer,輸入監聽端口1121

 

    安裝完成后,運行SysTracer做5次記錄,為控制變量Kali始終在運行狀態。

 

  

    Snapshot #1   植入惡意軟件前

    Snapshot #2   植入惡意軟件后

    Snapshot #3   惡意軟件啟動回連

    Snapshot #4   控制端使用拍攝指令“webcam_snap”

    Snapshot #5   惡意軟件斷開連接后

     比較快照1和快照2

 

    植入惡意軟件后,可以發現Files類型下增加了20171121_backdoor.exe(上圖中間綠色部分)。

 

    與此同時也增加了很多.dll.mui文件。.dll是動態鏈接庫,.mui是Windows多語言用戶界面文件。

    比較快照2和快照3

 

    后門回連成功后,可以發現Applications類型下增加了20171121_backdoor.exe,同時增加了4個.dll文件(關鍵就是這4個動態鏈接庫)。

 

 

(最后一行放大后)

    此處可以發現后門回連的源IP、源端口以及目的IP、目的端口(上圖最后一行)。

    比較快照3和快照4

 

    執行“webcam_snap”指令后,系統增加了一些系統服務,路徑在HKLM和HKU目錄下的居多。

    比較快照4和快照5

 

    后門斷開連接后,發現Applications類型下減少了20171121_backdoor.exe,同時減少了了4個.dll文件,對比上文,我們可以發現斷開連接減少的這4個.dll文件和回連成功時增加的4個.dll文件正好完全相同,於是我初步猜測這4個.dll文件可以構成后門回連的充要條件。

    (2)使用Wireshark抓包,分析惡意軟件和控制端的通信,同時查看Sysmon的服務日志。

    —在Wireshark過濾器中輸入篩選條件“ip.addr == 192.168.1.13”

    ·啟動回連,Wireshark抓到大量的TCP數據包

 

    ·控制端輸入截屏指令“screenshot”,由圖發現從靶機IP192.168.1.10向控制機IP192.168.1.13傳輸了大量的TCP數據包

 

    ·控制端輸入拍攝指令“webcam_snap”,由圖發現從靶機IP192.168.1.10向控制機IP192.168.1.13同樣傳輸了大量的TCP數據包,但與截屏操作略有不同的是,控制機會回應靶機少量的TCP數據包

 

    —查看Sysmon記錄的日志

    ·后門回連成功時,日志中記錄下后門程序在主機中創建了進程,且進程號為25636。

 

    ·控制端輸入拍攝指令“webcam_snap”時,日志中記錄下后門程序在主機中創建了進程,更關鍵的是此進程運行了如下命令“C:\WINDOWS\System32\svchost.exe -k Camera -s FrameServer”,表示該進程調用了攝像頭進行拍攝。(下圖中CommandLine)

 

 

 

六、問題回答

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

  答:(1)設置任務計划,用netstat指令監控系統聯網的情況,一段時間后使用Excel對結果進行統計分析;

    (2)安裝配置Sysinternals里的Sysmon工具,設置合理的配置文件,在記錄下的日志文件中分析判斷是否有惡意程序;

    (3)使用SysTracer工具每間隔一段時間對系統進行快照,比較幾次快照的異同。

  2.如果已經確定是某個程序或進程有問題,你有什么工具可以進一步得到它的哪些信息。

  答:(1)動態分析:使用Wireshark抓包,查看該惡意程序連接了哪些外部IP,做了哪些通信。運行該程序,在系統日志中查看該程序使用了哪些系統功能,使用SysTracer工具在該程序運行前后對系統進行快照對比,觀察該惡意程序對系統做了哪些修改。

    (2)靜態分析:將程序傳至VirusTotal上或用系統自帶的殺軟掃描該程序,使用PEID等查殼工具對它進行檢查。

 

七、實驗總結與體會

  通過本次網絡對抗技術實驗,我第一次嘗試去了解我的電腦在空閑時的運行狀態,第一次監控自己的系統,統計、分析電腦中的相關服務和應用連網的情況,確認所有的可執行文件都是有來路的,不是惡意程序。

  本次實驗我運用了很多微軟支持的系統監測工具,比如Sysinternals里的Sysmon工具,通過設置合理的配置文件,在日志中監測系統,以及通過SysTracer工具,對系統進行快照對比,同時還使用Wireshark對回連的后門進行抓包,分析其與回連主機的通信,了解惡意軟件在運行時對系統相關文件所做的修改等。

  本次實驗令我受益匪淺,通過這幾個連貫的實驗,我對惡意程序有了系統的認知,期待下次實驗能讓我對這門課程有更深的理解和感悟。


免責聲明!

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



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