20145326蔡馨熠《網絡對抗》——惡意代碼分析

20145326蔡馨熠《網絡對抗》——惡意代碼分析

1.實驗後回答問題

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

  • 須要監控什麼?安全

    • 系統中各類程序、文件的行爲。
    • 還須要注意是否會出現權限更改的行爲。
    • 註冊表。
    • 是否有可疑進程。
    • 若是有網絡鏈接的狀況,須要注意這個過程當中的IP地址與端口。
  • 用什麼來監控?網絡

    • 最早想到的確定是使用wireshark抓包了,再進行進一步分析。
    • Sysinternals是一個工具集,其中有許多實用的工具,功能很是豐富強大,好比咱們能夠用TCPview來查看系統中的TCP鏈接的進程,還能用sysmon來監視和記錄系統活動,並記錄到windows的事件日誌裏。
    • 能夠用PE explorer查看PE文件編譯的一些基本信息,導入導出表等,還能夠看到該文件的編譯時間、連接器等基本信息。
    • Dependency Walker是一款專門分析函數依賴的工具軟件,咱們能夠藉助它來分析是否有關於註冊表的異常行爲等。

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

  • 先用像「VirScan」這樣的掃描工具來掃描一個大概狀況,而後再借助相關工具分析可疑的程序。
  • 使用TCPview查看系統中的使用TCP鏈接的進程,看是否有異常,結合wireshark抓包分析。
  • 使用Dependency Walker來分析是否有關於註冊表的異常行爲等。
  • 使用systracer進行快照對比。
  • 使用PEiD查看可疑軟件是否加殼。
  • 使用PE explorer或PE Browser professional來反彙編可疑的軟件,進行分析。也可使用WinHex來進行字段分析,看是否有可疑行爲。

2.實驗總結與體會

  • 這段時間真的是學到很多東西,從最開始作一個基本的後門程序,到逐步實現免殺,再到如今的惡意代碼分析。真的感受很爽!頗有成就感!老師最開始主要講的是如何攻擊靶機,男孩子固然比較感興趣,哈哈哈,如今又教咱們如何進行惡意代碼的分析,我最開始以爲沒意思,以爲很無聊,可是仔細一想,仍是頗有必要掌握這塊知識的。大家想一想,咱們不能保證不受到來自外界的攻擊吧,並且在平常生活中,咱們都是以「防」爲主,不會說是主動去「攻擊」別人吧,幾乎不會,機率過小了。因此要學會基本的惡意代碼分析,保護本身主機的安全。並且,咱們換個角度看,你都知道通常的防範措施了,那某一天你若是要攻擊別人,是否是更駕輕就熟,成功率更高啊。哈哈哈!!惡意代碼的免殺和惡意代碼的分析能夠說是相輔相成的。工具

  • 在大多數狀況下進行惡意代碼分析的時候,咱們只有惡意代碼的可執行文件自己,而這些文件自己不具備可讀性。爲了理解這些文件背後的含義,咱們須要使用各類工具和分析的技巧。設計

  • 惡意代碼分析有兩類基本方法:3d

    • 靜態分析:是一種在沒有運行惡意代碼時對其進行分析的技術,能夠結合相關工具直接的觀察。
    • 動態分析:相比較靜態分析而言,須要運行惡意代碼,經過其產生的動態行爲與數據進行分析,從而肯定其具體行爲,也須要結合相關工具。

3.實踐過程記錄

惡意代碼的靜態分析

VirScan

  • 我先用VirScan掃描一下我上次實驗用到的後門程序。

  • 點一下「文件行爲分析」,咱們能夠詳細地察看這個程序是否有敏感行爲,根據掃描結果得知,該文件有網絡鏈接的行爲,自行刪除註冊表鍵值的行爲。

  • 利用相關軟件,協助分析。《計算機病毒》課程的龐巖梅老師以前給咱們講過相關知識,也介紹過一些軟件,這裏能夠活學活用。畢竟學科之間是有聯繫的啊~

PE explorer

  • 首先是PE explorer這款軟件。咱們能夠用它查看PE文件編譯的一些基本信息,導入導出表等,還能夠看到該文件的編譯時間、連接器等基本信息。在「導入表」中,能夠查看該文件調用的dll文件庫。

  • WSOCK32.dll和WS2_32.dll,這兩個dll文件,是用來建立套接字的,若是這個程序沒有網絡鏈接的功能,那麼在其動態連接庫中就不可能有這兩個dll文件。ADVAPI32.dll是一個高級API應用程序接口服務庫的一部分,包含的函數與註冊表的操控以及事件日誌都有關。另外2個dll文件不作過多介紹,屬於通常程序在win下都會調用的dll庫。

PEiD

  • PEiD是一款著名的查殼工具,其功能強大,幾乎能夠偵測出全部的殼。 通常正常的軟件是不會加殼的吧,而惡意代碼爲了假裝本身,其中一種經常使用方式就是加殼,經過加殼來達到不被殺軟察覺的目的。

  • 顯示的是「什麼都沒找到 [調試] 」,我暈,什麼狀況。點「Set Info」看看。後來發現其實不是這樣的,正常的編譯確定會顯示編譯器的,既然沒找到,說明不能識別該編譯器,一點進去發現,這個惡意代碼加了UPX壓縮殼!

Dependency Walker

  • Dependency Walker是一款專門分析函數依賴的工具軟件,能夠查看PE模塊的導入模塊,還能夠查看PE模塊的導入和導出函數。咱們從中能夠發現,該可執行文件能夠對註冊表的確進行了刪除操做!! 而且確實有網絡鏈接的功能!!!

PE Browser Professional

  • PE Browser Professional能夠對惡意代碼進行反彙編。使咱們更直觀的觀察惡意代碼,咱們能夠結合Debug日誌、各個寄存器的值、進程信息來深刻研究。

惡意代碼的動態分析

  • 相比較靜態分析而言,須要運行惡意代碼,經過其產生的動態行爲與數據進行分析,從而肯定其具體行爲,也須要結合相關工具。

SysTracer

  • Sysinternals是一個工具集,其中有許多實用的工具,功能很是豐富強大。
  • 操做步驟:調試

    • 準備一臺kali攻擊機,一臺Win7靶機,SysTracer2.10分析軟件;
    • 打開攻擊機進入msfconsle,開始監聽;win7下對註冊表、文件、應用狀況進行快照,保存爲Snapshot #1;
    • win7下打開木馬程序,回連kali,win7下再次快照,保存爲Snapshot #2;
    • kali經過msf發送文件給win7靶機,win7下再次快照,保存爲Snapshot #3;
    • kali中對win7靶機進行屏幕截圖(也能夠是其餘操做),win7下再次快照,保存爲Snapshot #4。
    • 咱們能夠經過「compare」操做來比較每次快照文件的區別。

  • 咱們先對比一下Snapshot #1和Snapshot #2.能夠看到註冊表裏面出現了新的表項,開放了新的端口。

  • 再對比一下Snapshot #2和Snapshot #3.能夠發現註冊表有了增減,開放端口也有了變更,惡意代碼的蹤影愈來愈明顯了。

  • 最後對比一下Snapshot #3和Snapshot #4.能夠發現啓動回連時註冊表發生變化了,截屏時註冊表也發生了一些變化。

使用WireShark抓包分析

  • 我對回連過程進行了WireShark抓包,能夠看到靶機與攻擊機三次握手創建鏈接,含有大量的TCP鏈接數據包。

  • 抓包結果中絕大部分數據包是主機與靶機之間的TCP通訊包,還有一些是DNS包和ARP包。

  • 還能夠看到傳輸截屏數據的數據包,就是這些長度較大的PUSH ACK包。厲害吧~~~!

TCPview

  • 使用TCPview能夠查看系統中的TCP鏈接的進程。

安裝並使用Sysmon

  • 首先有個問題,那就是安裝sysmon工具的時候須要管理員權限,因此在安裝前,咱們須要使用管理員權限來打開cmd.exe,打開方法就是右鍵cmd程序在菜單中選擇管理員權限。安裝的時候不能盲目參考老師給的教程,好比版本號應該改成3.10!而不是3.20!!!日誌

  • 快速安裝xml

  • 配置xml文件,並使用sysmon -c查看配置;

  • 而後咱們能夠在「Applications and Services Logs/Microsoft/Windows/Sysmon/Operational」下找到事件日誌,從而進行分析。

設置任務計劃

  • 首先咱們進入計算機-管理-任務計劃,建立一個任務計劃,命名爲netstat5326。觸發器咱們選擇天天每隔5分鐘執行一次。

  • 我在F盤下建立了一個文件夾:5326cxy,在這個文件夾下寫一個腳本。也就是說在5326cxy文件夾下建立一個netstat5326.txt。隨後將後綴改成「.bat」。

 

  • 看任務計劃中的操做選項欄,啓動程序設爲咱們的netstat5326.bat,參數爲>>f:\5326cxy\netstat5326.txt,這樣咱們的網絡記錄信息netstat5326.txt就會保存在C盤5326cxy文件夾下。

 

  • 這個時候就建立完成了,設置管理員權限並運行這個任務。

相關文章
相關標籤/搜索