2019-2020-2 20175230滕星《網絡對抗技術》Exp4 惡意代碼分析

1、實踐目標

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

2、實踐內容

1.系統運行監控

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

2.惡意軟件分析

  • (1)啓動回連
  • (2)安裝到目標機
  • (3)及其餘任意操做時。該後門軟件
    • 讀取、添加、刪除了哪些註冊表項
    • 讀取、添加、刪除了哪些文件
    • 鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)

3、實踐步驟

任務一 系統運行監控

(一)使用如計劃任務,每隔一分鐘記錄本身的電腦有哪些程序在聯網,鏈接的外部IP是哪裏。運行一段時間並分析該文件,綜述一下分析結果。

  • 1.命令建立計劃任務netstat5230
    schtasks /create /TN netstat5230 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat5230.txt"

命令解釋:
TN netstat5230:說明計劃任務名
sc MINUTE:表示已分鐘爲單位的計時方式
TR "cmd /c netstat -bn:cmd運行指令"netstat -bn",b會顯示可執行文件名算法

  • 2.在C:盤下建立內容以下的批處理文件(能夠先建立.txt文件而後修改後綴名爲.bat)
date /t >> c:\netstat5230.txt
 time /t >> c:\netstat5230.txt
 netstat -bn >> c:\netstat5230.txt
  • 3.修改計劃任務chrome

  • 在開始處右擊打開計算機管理->任務計劃程序,找到上述建立的任務
    shell

    • 打開任務,操做->編輯->程序腳本,替換爲上述建立的批處理文件netstat5230.bat,添加參數爲空,並在常規選項卡中勾選使用最高權限運行
  • 4.對該任務右鍵點擊運行,可在netstat5230.bat目錄下看到netstat5230.txt,打開就可看到每隔一分鐘被輸到這裏的聯網數據
    windows

  • 5.一段時間後,打開Excel表格,選擇數據->導入數據->選擇數據源,點擊肯定api

  • 6.在原始數據類型中選擇分隔符號,勾選全部分隔符號
    瀏覽器

  • 7.選擇插入->數據透視圖,選擇咱們要分析的那一列,並默認位置新表格,點擊肯定,在字段中去除不須要的字段,該字段拖動到下方的軸和值兩個區域中,最後,獲得咱們須要的聯網信息統計圖
    安全

從圖中可知:1.使用最多的是WPS.exe,我此時用的正是WPS
2.接下來是QQ瀏覽器,正在寫博客
3.而後是dgservice.exe dgservice.exe服務是驅動精靈的服務,能夠安全結束進程,能夠在服務裏將其設爲手動。當你下次打開驅動精靈時,此服務也會一塊兒打開網絡

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

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

  • 3.輸入命令Sysmon.exe -i 5230sysmoncfig.xml啓動Sysmon
    工具

  • 4.進入事件查看器裏查看日誌,點擊事件查看器,在應用程序和服務日誌->Microsoft->Windows->Sysmon->Operational能夠看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別等

    • 用Sysmon分析事件,能夠看到顯示得有具體時間、運行的程序、使用的協議、源IP、目的IP等等

任務2、惡意軟件分析

(一)靜態分析工具

  • 1.使用VirusTotal分析惡意軟件,將實驗三一個加殼的後門程序放入virusTotal中分析
    能夠看出它的SHA-一、MD5摘要值、文件類型、文件大小,TRiD文件類型、加殼狀況、算法庫支持

  • 2.使用PE explorer進行外殼檢測

    • 查看靜態數據目錄、節頭信息

    • 經過工具能夠進行反彙編

    • 點擊上方菜單的紅箭頭能夠查看dll庫

msvcrt.dll是微軟在windows操做系統中提供的C語言運行庫執行文件
kernel32.dll屬於內核級文件,它控制着系統的內存管理、數據的輸入輸出操做和中斷處理,是必需的
advapi32.dll是一個高級API應用程序接口服務庫的一部分,包含的函數與對象的安全性,註冊表的操控以及事件日誌有關,會受到病毒的侵擾及篡改,致使系統文件丟失、損壞
wsock32.dll是Windows Sockets應用程序接口,用於支持不少Internet和網絡應用程序,是一個對系統很關鍵或很可疑的文件,易遭受木馬病毒(如「犇牛」病毒)破壞致使系統找不到此文件,出現錯誤提示框。
ws2_32.dll是Windows Sockets應用程序接口。一些病毒會在殺毒軟件目錄中創建僞"ws2_32.dll"的文件或文件夾,在殺毒軟件看來這是程序運行須要的文件而調用,這個所謂的「文件」又不具有系統"ws2_32.dll"文件的功能,因此殺毒軟件等就沒法運行了而提示:應用程序正常初始化失敗

(二)動態分析工具

  • 1.抓包工具運用(wireshark)

    • 反彈連接時進行捕包,其中找到了win7與kail之間三次握手的創建,同時鏈接後能夠看到捕獲到大量的TCP傳輸

    • 輸入其餘命令如dir,Kali會不斷給Windows傳一大堆ACK包,有時還伴有PSH+ACK包。說明二者之間產生了數據傳輸

  • 2.快照比對(SysTracer)

    • 安裝時進入選擇第二個,下一步後設置端口爲後門的反彈端口5230

    • 打開後門前先點擊take snapshot(建立快照),接着Start,命名爲Snapshot #1

    • 開啓後門程序回連建立第二個快照Snapshot #2(方法和建立Snapshot #1同樣)

    • 而後kali中輸入ls命令建立第三個快照Snapshot #3

    • 輸入screenshot命令建立第四個快照Snapshot #4

    • 結束連接建立第五個快照Snapshot #5

    • 按住Ctrl任選兩個截取的快照,點擊compare就能夠進行比較二者之間的區別

    • 比較#1和#2能夠看到增長5230端口及兩個地址

- 比較#2和#3也有增長的操做


- 比較#3和#4能夠看到關閉了一些東西可是也出現了一個新的調用SysTracer.exe有了改變

- 最後#4和#5由於關閉了連接,因此對應端口和大量的dll文件都被刪除,關閉或改變

4、基礎問題回答

  • (1)若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
    使用Sysmon,編寫配置文件,記錄有關的系統日誌
    使用systracer,對比不一樣快照,查看是否有可疑行爲
  • (2)若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
    首先利用靜態分析工具如:PEID、ExeinfoPE等工具看看有沒殼在保護,而後能夠利用wireshack等工具查看此程序有沒有異常的鏈接,而後利用systracer,對比進程運行先後有沒有可疑端口、註冊表或可疑的變化

5、實踐體會

本次實踐與以往的實踐相比較爲簡單,只是須要安裝的軟件有些多,我我的認爲,本次實踐可讓咱們的電腦更加安全,木馬病毒咱們不多會用到,可是防範木馬病毒、查找電腦中的木馬病毒顯得更爲有用,雖然本次實踐只是初步學會了分析惡意軟件的方法,但在之後的日子裏,咱們會對於這種分析會愈來愈熟練。

相關文章
相關標籤/搜索