20155217《網絡對抗》Exp04 惡意代碼分析

20155217《網絡對抗》Exp04 惡意代碼分析

實踐內容

  1. 使用schtasks指令監控系統運行
  2. 使用sysmon工具監控系統運行
  3. 使用virscan分析惡意軟件
  4. 使用systracer工具分析惡意軟件
  5. 使用Process Explorer分析惡意軟件
  6. 使用Process Monitor分析惡意軟件
  7. 使用wireshark分析惡意軟件回連狀況
  8. 使用PEiD分析惡意軟件

使用schtasks指令監控系統運行

  • 在C盤目錄下創建netstatlog.bat文件,用來將記錄的聯網結果格式化輸出到netstatlog.txt文件中,netstatlog.bat內容爲:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 打開Windows下命令提示符,輸入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"指令建立一個每隔兩分鐘記錄計算機聯網狀況的任務。
  • 以後查看netstatlog.txt文件,都是正常聯網的應用。

  • 隔天再次查看了這一天當中記錄的主機聯網日誌,並未發現異常。

出現的小問題

在最初運行netstatlog.bat的時候,會出現須要提升權限的狀況。

因此我在運行netstatlog.bat時右鍵單擊,點擊以管理員身份運行,以後在打開txt文件就能正常顯示信息啦。

使用sysmon工具監控系統運行

  • 使用sysmon工具先要配置文件,一開始直接使用老師給的配置文件:
<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>
</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>
  • 配置好文件後,先使用Sysmon.exe -i C:\Sysmon.txt指令對sysmon進行安裝:

  • 啓動以後,即可以到事件查看器裏查看相應的日誌:

  • 我查看了其中一部分事件的詳細信息。
  • 此事件是以前運行Sysmon.exe文件建立的:

  • 此事件是存儲360瀏覽器的緩存數據的:

  • 此事件記錄的是運行wps:

  • 以後,我對Sysmoncfg.txt配置文件進行了修改,重點是監視80和443端口的聯網狀況,發現了一個SoftupNotify.exe的未知進程,百度以後發現居然是一個蠕蟲病毒的名字= =,仍是安裝在了360自己自建的文件夾裏。而後我就搜,發現SoftupNotify.exe是360軟件管家的升級助手文件,一般會在開機的時候,或者在軟件進行升級的時候會自動啓動此進程。鬧了一個誤會,罪過罪過。其餘就沒什麼異常狀況了。

  • 對配置文件的修改以下:
<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">WeChat.exe</Image>
</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>

使用virscan分析惡意軟件

  • virscan網站上查看上次實驗所作的後門軟件的文件行爲分析:

  • 能夠看到其啓動回連主機的部分IP地址以及端口號,還有對註冊表鍵值進行了刪除:

  • 還有反調試和建立事件對象的行爲:

使用systracer工具分析惡意軟件

  • 共創建了3個快照,分別是:有後門程序但未回連時、後門程序回連時、執行指令操做時。

  • 將惡意軟件植入後回連,成功後發現註冊表發生了變化。
  • 對比未回連時和回連時能夠發現後門程序創建了主機到Kali的tcp鏈接,進行了回連;後門程序對註冊表項進行了修改:

  • 對比回連時和輸入指令時能夠看到後門程序對文件、註冊表等都進行了增改:

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

  • 在惡意軟件進行回連時,在Windows主機上用netstat能夠查看TCP鏈接的狀況,其中就有後門程序所創建的TCP鏈接:

  • 使用wireshark進行抓包後能夠看到,其先進行了TCP的三次握手,以後再進行數據的傳輸,如圖所示,帶有PSH,ACK的包傳送的就是執行相關操做指令時所傳輸的數據包:

使用PEiD分析惡意軟件

  • PEiD是一個經常使用的的查殼工具,能夠分析後門程序是否加了殼:

使用Process Monitor分析惡意軟件

使用Process Explorer分析惡意軟件

  • 打開Process Explorer,在Process欄點開explorer.exe前面的小加號,運行後門程序5227test32.exe,界面上就會出現它的基本信息。

  • 雙擊後門程序那一行,點擊不一樣的頁標籤能夠查看不一樣的信息:

  • 其調用的ntdll庫ntdll.dll是重要的Windows NT內核級文件,描述了windows本地NTAPI的接口。當Windows啓動時,ntdll.dll就駐留在內存中特定的寫保護區域,使別的程序沒法佔用這個內存區域。

基礎問題回答

  • 若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
  1. 可使用systracer工具比較某個程序的執行先後計算機註冊表、文件、端口的變化狀況。
  2. 可使用Wireshark進行抓包分析,而後查看該程序聯網時進行了哪些操做。
  3. 使用netstat命令設置一個計劃任務,指定每隔必定時間記錄主機的聯網記錄等等。
  4. 能夠經過sysmon工具,配置好想記錄事件的文件,而後在事件查看器裏面查看相關文件。
  • 若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
  1. 可使用systracer工具比較某個程序的執行先後計算機註冊表、文件、端口的變化狀況。
  2. 可使用Wireshark進行抓包分析,而後查看該程序聯網時進行了哪些操做。

實驗心得與體會

此次實驗主要在參考了盧肖明學長的博客完成的,主要就是對惡意進程的監控,作的過程還算比較順利的。經過此次實驗,掌握了之前不知道的查殺檢測方法,但願本身之後能更好地保護好個人電腦哦。chrome

相關文章
相關標籤/搜索