1. 程式人生 > >20155301 Exp4 惡意代碼分析

20155301 Exp4 惡意代碼分析

數據 所有 對象 方法 病毒 chrome int cer 程序

20155301 Exp4 惡意代碼分析

實踐目標

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

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

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

實踐內容

2.1系統運行監控

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

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

2.2惡意軟件分析

分析該軟件在
(1)啟動回連

(2)安裝到目標機

(3)及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件

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

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

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

3.實踐內容

3.1 系統運行監控

(1)schtasks指令監控,首先生成一個txt文本文件,在裏面輸入

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

(2)將其後綴改為.bat,然後我們找到任務計劃程序,然後新建一個任務,配置好觸發器,讓其五分鐘執行一次。
技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

(3)上述操作等同與 schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat" 命令。

(4)用Excel分析記錄下來的數據,通過數據進行分析。
技術分享圖片

(5)我們可以查看計算機在此在期間訪問網絡的軟件。
技術分享圖片

技術分享圖片

(6)還可以看一下訪問最多的主機連接到的外部地址
技術分享圖片

(7)我們用網站批量查詢一下訪問的IP的網站,訪問最多的是天津市移動,最多的應用是MicrosoftEdge瀏覽器,猜想是不是電腦DNS服務器連接的天津的DNS服務器。
技術分享圖片

3.2 使用sysmon監視系統

sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系統服務和設備驅動程序的方法安裝在系統上,並保持常駐性。sysmon用來監視和記錄系統活動,並記錄到windows事件日誌,可以提供有關進程創建,網絡鏈接和文件創建時間更改的詳細信息。

通過收集使用Windows事件集合或SIEM代理生成的事件,然後分析它們,可以識別惡意或異常活動,並了解入侵者和惡意軟件在網絡上如何操作。

(1)首先編寫配置文件,這次實驗的配置文件中記錄ProcessCreate, FileCreateTime。

<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>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </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>

    <FileCreateTime onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
    </FileCreateTime>

    <ProcessCreate onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
       <Image condition="end with">iexplorer.exe</Image>
       <Image condition="end with">360tray.exe</Image>
    </ProcessCreate>
  </EventFiltering>
</Sysmon>

(2)打開cmd,安裝Sysmon,輸入sysmon.exe -i config_file_name
技術分享圖片

(3)搜索 “事件查看器”在應用程序和服務日誌——>Microsoft——>Windows——>Sysmon——>Operational
技術分享圖片

(4)觀察記錄的聯網行為,同時並進行了回連操作。

事件一: 記錄了事件的時間,發生的位置,使用的用戶,安全等級和哈希值等等。
技術分享圖片

事件二: 記錄了事件事件的發生的時間、目標文件的地址,我認為這個是kali回連所產生的事件,kali的目標文件是我們的後門程序。
技術分享圖片

事件三: 記錄了交流用的協議,源IP地址、端口號、以及是否用了IPv6協議。
技術分享圖片

4.systracer分析

(1)從網絡上下載systracer。
點擊take snapshot來快照,建立4個快照,分別為:

snapshot#1 後門程序啟動前,系統正常狀態
技術分享圖片

可以看到後門程序啟動之前,程序的進程中

snapshot#2 啟動後門回連Linux
技術分享圖片

技術分享圖片

技術分享圖片

可以觀察到圖中openitem中的路徑,猜測應該是kali使用backdoor.exe訪問主機的目錄等。

snapshot#3 Linux控制windows查詢目錄
技術分享圖片

snapshot#4 Linux控制windows在桌面創建一個路徑
技術分享圖片

(2)對比下1、2兩種情況
技術分享圖片

技術分享圖片

(3)對比3、4兩種情況
技術分享圖片

技術分享圖片

使用Process Explorer

Process Explorer可以實時監控計算機的進程狀態,我們可以用它來看看Meterpreter進程遷移的行為,首先運行後門程序,我們找到了它的進程,雙擊進程,我們可以看到詳細信息,其中的TCP/IP,在其中我們可以看到源地址是本地主機,目的地址是虛擬機的地址,然後端口是5301,可以分析出後門是讓本地對虛擬機進行回連。
技術分享圖片

技術分享圖片

技術分享圖片

Process Monitor

Process Monitor一款系統進程監視軟件,總體來說,Process Monitor相當於Filemon+Regmon,其中的Filemon專門用來監視系統 中的任何文件操作過程,而Regmon用來監視註冊表的讀寫操作過程。 有了Process Monitor,使用者就可以對系統中的任何文件和 註冊表操作同時進行監視和記錄,通過註冊表和文件讀寫的變化, 對於幫助診斷系統故障或是發現惡意軟件、病毒或木馬來說,非常 有用。

運行後門回連成功後進行刷新,可以看到後門程序出現在進程樹和主界面中。
技術分享圖片

下面是後門程序和正常程序的對比,從圖中我們可以看到在棧的模塊/組件中,後門程序有一部分顯示的是未知,而正常程序均是顯示的已知模塊和組件,我認為這一特點也可以作為判別惡意代碼的一個標準。
技術分享圖片

PEiD分析

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

我們把上次實驗加殼後的程序放到程序裏面測試,其中我們可以看到peid查殼區段的入口點是UPX1,即(EP Section),從最下面一行我們知道後門程序加殼的軟件是UPX 0.89.6-1.02/1.05-2.90。如果是未加殼的程序.則顯示另一副圖。
技術分享圖片

技術分享圖片

未加殼版本
技術分享圖片

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

技術分享圖片

可以清楚的看到本地主機IP:192.168.229.1,到kali IP192.168.229.135的TCP三次握手的連接,其中的[PUSH ACK]應該是kali向主機發送命令所捕獲的TCP包,從這裏我們應該可以分析出惡意代碼的指令傳送過程。

實驗後回答問題

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

答: 監控方法有本次實驗利用的腳本,新建一個任務,監控註冊表、系統服務、開機啟動項、文件創建、網絡連接情況。

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

答: 可以通過Wireshark對於網絡流量進行監察,是否有不正常的網絡通信,並且可以把懷疑的目的IP地址放到網站上查詢,進一步探測進程到底在和誰通信,還可以用Process explorer對進程進行監控,記錄下可以進行的String字符串信息進行分析。

實驗總結與體會

此次實驗給我一次機會對電腦的所有進程進行監控,在監測到大量的進程信息後,通過Excel表格、各種分析工具進行篩選,可以把大量的信息整理歸納,以便於針對有問題的進程進行分析,並且通過各種軟件我們可以知道進程到底在和誰通信,在什麽時候通信,可以讓我們知道惡意代碼更加詳細的信息,以便於後一步的禁用和阻止過程。

20155301 Exp4 惡意代碼分析