Exp4 惡意代碼分析 20154320 李超

惡意代碼

概述

  • 惡意代碼是指故意編制或設置的、對網絡或系統會產生威脅或潛在威脅的計算機代碼。最多見的惡意代碼有計算機病毒(簡稱病毒)、特洛伊木馬(簡稱木馬)、計算機蠕蟲(簡稱蠕蟲)、後門、邏輯炸彈等。
  • 特徵:
    • 惡意的目的,獲取靶機權限、用戶隱私等
    • 自己是計算機程序,能夠執行,並做用於靶機
    • 經過執行發生做用,通常來講不運行是沒問題的

惡意代碼分析

  • 在大多數狀況下,進行惡意代碼分析時,咱們將只有惡意代碼的可執行文件自己,而這些文件並非咱們人類可讀的。爲了瞭解這些文件的意義,你須要使用各類工具和技巧,而每種只能揭露出少許的信息。因此在實戰中,咱們要綜合使用各類工具,才能看到一個全貌。
  • 惡意代碼分析有兩類基本方法:
    • 靜態分析:在沒有運行惡意代碼時對其進行分析的技術
    • 動態分析:相比較靜態分析而言,則須要運行惡意代碼,經過其產生的行爲,如對計算機中註冊表、文件的更改,網絡的鏈接等動態數據進行分析,從而肯定其具體行爲

 

惡意代碼分析

靜態分析

概述

  • 靜態分析技術,能夠確認一個文件是不是惡意的,提供有關其功能的信息,能夠經過一些PE工具箱(PEview,dependency walker,Resource Hacker,PE explorer等)分析其函數連接庫、殼的狀況、特徵庫比對等操做,經過這些工具能夠快速分析代碼的性質,可是針對較爲複雜的惡意代碼時很大程度上是無效的;
  • 這就須要更爲高級的應用技術了,最典型的方法就是逆向工程,經過將可執行文件裝載到反彙編器中,查看程序指令,觀察惡意代碼到底作了什麼。由於這些指令是被CPU執行的,因此經過反彙編能夠告訴咱們程序具體作了什麼,該方法雖然很是高效實用,可是須要綜合掌握C語言、彙編、代碼結構以及windows操做系統等知識,上手略微困難。

靜態分析之特徵庫比對

  • 經過 Virustotal 平臺進行分析以下:
  • 在detail裏能夠看到更詳細的信息
  •  

靜態分析之PE套件使用

PE explorer

  • 經過PE打開20154320lc.exe
  • 能夠看到該文件的編譯時間本信息
  •  

  • 以下圖,咱們點擊「導入表」,能夠查看該文件依賴的dll庫
    •  

PEiD

  • PEiD是一款著名的查殼工具,其功能強大,幾乎能夠偵測出全部的殼,其數量已超過470種PE文檔的加殼類型和簽名。
  • 如圖,nothing found,本程序沒有加殼windows

 

系統運行監控

TCPView查看惡意代碼回連先後狀況

  • 該工具能夠幫咱們實時分析正在聯網的進程,因此咱們能夠經過查看每一個進程的聯網通訊狀態,初步判斷其行爲,例如一個程序應該是單機運行的,若是有網絡行爲,就顯得很可疑了
  • 能夠看到回連的程序安全

sysmon工具查看惡意代碼回連先後狀況

    • Sysmon.exe同目錄下創建文件:shiyan4.txt,寫好配置文件
    • 管理員身份運行CMD,輸入指令:Sysmon.exe -i test.xml,進行安裝
    •  

      • 安裝成功微信

    • 輸入指令:Sysmon.exe -c shiyan4.xml,進行配置
    •  

    • 如今能夠進入

Applications and Services Logs/Microsoft/Windows/Sysmon/Operational網絡

    查看日誌
    •  

      建立網絡鏈接:
    • 收到微信消息時tcp

    • 建立進程:
    •  打開sysmon建立的進程函數

    •  

       

      建立文件

    •  

       

使用計劃任務schtasks

       建立計劃任務20154320netstat工具

  • 以下圖所示:
    •  

netstat命令設置計劃任務

  • 每五分鐘監控的內容會自動寫入文檔中操作系統

    •  

       

    • 導入到excel中進行分析
    •  

    • 統計訪問最多的地址
    •  

動態分析

概述

  • 動態分析技術,是創建在運行代碼的基礎上的,經過觀察惡意代碼執行後系統上的行爲,例如對系統註冊表的分析、文件的分析、網絡的鏈接等行爲,進而判斷出該代碼具體功能,以移除感染。
  • 但上述操做進行以前,必須得有一個前提——創建一個安全的環境,可以避免惡意代碼對系統帶來風險的前提下,研究運行的惡意代碼。因此通常能夠用虛擬機創建一個目標靶機,在對惡意代碼目的不明的狀況下,先對靶機進行快照備份,而後再運行惡意代碼監控其行爲,這樣的動態分析步驟纔會對系統有必定的保障。
  • 再高級一點的就是對代碼的動態調試了,經過源代碼級與彙編代碼級的調試器,對惡意代碼進行一步一步調試,觀察其執行過程當中每一個時刻的內部狀態。

動態分析之SysTracer

  • 這個實驗建議在虛擬機中完成,虛擬機中文件少、註冊表少,易分析

操做思路與步驟:

  • 1.打開攻擊機msfconsle,開放監聽
  • 2.win10下打開木馬20154320lc.exe,回連kali
  • 3.kali中經過msf發送文件給win10靶機
  • 4.kali中對win10靶機進行屏幕截圖
  • 經過比較每次快照文件的區別,來判斷相應的變化
  •  

結果分析

      • 啓動回連時註冊表發生變化
      • 啓動回連時,新建了20154320lc

.exe命令行

      應用,啓用了許多DLL文件
  • 啓動回連時開放端口發生變化,以下圖所示,由於本地木馬20154320lc.exe會鏈接遠程端口443,因此先關閉了443端口,再開放了443端口
      截屏時註冊表發生了一些變化
  •  

  •  

  •  

聯網狀況分析

  在後門程序回連時,在主機的命令行中用netstat -n命令查看TCP鏈接的狀況,能夠發現其中有進行回連的後門程序:設計

  • 用wireshark,進行捕包分析,查看詳細的協議分析發現,後門程序創建了三次握手並回連時進行了基於IP和端口的鏈接
  •  

基礎問題

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

應當首先更新病毒庫,並對敏感懷疑位置進行病毒查殺,若是沒有找到,應該開啓相關病毒掃描引擎,對計算機進行動態掃描,監控主機鏈接狀況,統計結果後找出可疑的Ip地址和端口號,可對這些ip和端口進行有針對性的抓包,查看有無創建套接字等可疑的行爲、查看有無可疑的傳輸內容等,還能夠經過systracer等查看註冊表、進程等的變化。

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

使用systracer,在打開進程先後分別takeshot,對比先後兩張快照課獲得進程有哪些行爲。

總結與思考

  • 經過此次的實踐,基本瞭解了分析惡意代碼的基本操做,將靜態動態的分析方法綜合應用,基本上就能夠確認一個代碼的行爲了,根據以上方法,咱們不用過渡依賴於殺毒軟件給咱們的殺毒報告,能夠對有所懷疑的軟件進行自主分析,最後作出本身的決定是否對其查殺。
相關文章
相關標籤/搜索