Exp4 惡意代碼分析
實踐目標
-
1.1是監控你自己系統的運行狀態,看有沒有可疑的程序在運行。
-
1.2是分析一個惡意軟件,就分析Exp2或Exp3中生成后門軟件;分析工具盡量使用原生指令或sysinternals,systracer套件。
-
1.3假定將來工作中你覺得自己的主機有問題,就可以用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行為與性質。
實踐內容
- 2.1系統運行監控
- (1)使用如計劃任務,每隔一分鐘記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪里。運行一段時間并分析該文件,綜述一下分析結果。目標就是找出所有連網的程序,連了哪里,大約干了什么(不抓包的情況下只能猜),你覺得它這么干合適不。如果想進一步分析的,可以有針對性的抓包。
- (2)安裝配置sysinternals里的sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。
- 2.2惡意軟件分析(1.5分)
- (1)啟動回連
- (2)安裝到目標機(3)及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)。
- (3)讀取、添加、刪除了哪些注冊表項
- (4)讀取、添加、刪除了哪些文件
- (5)連接了哪些外部IP,傳輸了什么數據(抓包分析)
1. 系統運行監控——計劃任務
創建計劃任務,使系統每1分鐘自動檢測到有哪些程序在連接我們的網絡。
1 schtasks /create /TN 20164305 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > e:\20164305.txt"
- TN:Task Name,本例中是netstat
- SC: SChedule type,本例中是MINUTE,以分鐘來計時
- MO: MOdifier
- TR: Task Run,要運行的指令是 netstat
- -bn,b表示顯示可執行文件名,n表示以數字來顯示IP和端口

在E盤根目錄下新建20164305.bat(重命名更改類型),用于計時
1 date /t >>e:\20164305.txt 2 time /t >>e:\20164305.txt 3 netstat -bn >>e:\20164305.txt
控制面板->系統與安全->管理工具->任務計劃程序,修改 計劃屬性

- 一定要使用最高權限運行,否則則會出現請求不成功的情況
選擇剛才編輯好的腳本,添加到設置中

一段時間后,記錄得到數據(實際上1個小時,電腦沒電了自己關機了)

對獲得的數據進行分析

發現TCP和360使用網絡情況較多,對svhost比較好奇,然后就去查了一下

然后又去搜索了一下Microsoft.Photos.exe

emmm有點慌。。。一會去研究研究能不能了解了它
2. 系統運行監控——利用Sysmon
安裝配置sysinternals里的sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。
-
寫配置文件
寫與自己想要監控的事件相對應的配置文件。編寫20164305.xml,內容如下:
1 <Sysmon schemaversion="4.00"> 2 <!-- Capture all hashes --> 3 <HashAlgorithms>*</HashAlgorithms> 4 <EventFiltering> 5 <!-- Log all drivers except if the signature --> 6 <!-- contains Microsoft or Windows --> 7 <DriverLoad onmatch="exclude"> 8 <Signature condition="contains">microsoft</Signature> 9 <Signature condition="contains">windows</Signature> 10 </DriverLoad> 11 12 <NetworkConnect onmatch="exclude"> 13 <Image condition="end with">chrome.exe</Image> 14 <Image condition="end with">iexplorer.exe</Image> 15 <SourcePort condition="is">137</SourcePort> 16 <SourceIp condition="is">127.0.0.1</SourceIp> 17 </NetworkConnect> 18 19 <CreateRemoteThread onmatch="include"> 20 <TargetImage condition="end with">explorer.exe</TargetImage> 21 <TargetImage condition="end with">svchost.exe</TargetImage> 22 <TargetImage condition="end with">winlogon.exe</TargetImage> 23 <SourceImage condition="end with">powershell.exe</SourceImage> 24 </CreateRemoteThread> 25 </EventFiltering> 26 </Sysmon>

安裝Sysmon, .\sysmon.exe -i e:\20164305.xml (win10中要加.\否則會報錯)

在控制面板->系統與安全->管理工具->事件查看器->應用程序和服務日志-> Microsoft -> Windows -> sysmon -> Operational中找到日志

然后篩選日志信息,并導出查看


-
利用Sysmon具體分析日志
這里我選擇了自己實驗二中生成的后門20164305_backdoor.exe進行分析
- 先進行回連

- 然后輸入查看目錄的命令

- 然后利用wireshark進行分析

可以看到,其先進行了TCP的三次握手,之后再進行數據的傳輸。
3.惡意軟件分析
- 網站上查看后門程序的行為分析。

可以看出這個后門程序是利用upx加殼的惡意代碼,但功能未知
- 利用軟件分析exe

首先是惡意軟件,返回加殼結果

然后對一個安全軟件進行檢測,發現什么都沒發現o(╥﹏╥)o
- 利用wireshark對惡意軟件執行過程進行分析
與前面步驟相同,使用回連程序進行回連

然后監聽整個后門過程,對其TCP連接過程進行分析
- 前一部分為Linux使用mns啟動過程所用的網絡連接

- 然后與虛擬機端口(Windows主機)進行tcp三次握手

- 然后進行指令調用等操作。
試驗后回答問題
- 如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在干些什么。請設計下你想監控的操作有哪些,用什么方法來監控?
- 利用sysmon工具,配置好想要監控的端口、注冊表信息、網絡連接等信息,通過其生成的日志文件進行查看
- 利用wireshark查看數據包,TCPview也可以,但是沒那么全面
- 利用systracer進行快照,比照注冊表、文件等信息
- 利用Process monitor、Process Explorer
- 如果已經確定是某個程序或進程有問題,你有什么工具可以進一步得到它的哪些信息?
- 同樣采用以上工具,用wireshark查看數據包,systracer進行快照的對比(注冊表、文件等),peid查看是否加殼,Process Explorer查看調用的程序庫、dll庫等
實驗總結與體會
殺軟有助于普通用戶對自己的電腦進行監控,就像圖形化界面對于不熟練運用命令行的用戶使用方便相同,利用檢測工具能從最原始的角度發現系統情況與問題,而不是簡單依靠殺軟來維護系統安。

浙公網安備 33010602011771號