20155301 Exp4 惡意代碼分析
20155301 Exp4 惡意代碼分析
實踐目標
(1) 是監控你自己系統的運行狀態,看有沒有可疑的程序在運行。
(2) 是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具盡量使用原生指令或sysinternals,systracer套件。
(3) 假定將來工作中你覺得自己的主機有問題,就可以用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行為與性質。
實踐內容
2.1系統運行監控
(1)使用如計劃任務,每隔一分鐘記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪裏。運行一段時間並分析該文件,綜述一下分析結果。目標就是找出所有連網的程序,連了哪裏,大約幹了什麽(不抓包的情況下只能猜),你覺得它這麽幹合適不。如果想進一步分析的,可以有針對性的抓包。
(2)安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。
2.2惡意軟件分析
分析該軟件在
(1)啟動回連
(2)安裝到目標機
(3)及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件
(3)讀取、添加、刪除了哪些註冊表項
(4)讀取、添加、刪除了哪些文件
(5)連接了哪些外部IP,傳輸了什麽數據(抓包分析)
3.實踐內容
3.1 系統運行監控
(1)schtasks指令監控,首先生成一個txt文本文件,在裏面輸入
date /t >> c:\4317netstatlog.txt time /t >> c:\4317netstatlog.txt netstat -bn >> c:\4317netstatlog.txt
(2)將其後綴改為.bat,然後我們找到任務計劃程序,然後新建一個任務,配置好觸發器,讓其五分鐘執行一次。
(3)上述操作等同與 schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat" 命令。
(4)用Excel分析記錄下來的數據,通過數據進行分析。
(5)我們可以查看計算機在此在期間訪問網絡的軟件。
(6)還可以看一下訪問最多的主機連接到的外部地址
(7)我們用網站批量查詢一下訪問的IP的網站,訪問最多的是天津市移動,最多的應用是MicrosoftEdge瀏覽器,猜想是不是電腦DNS服務器連接的天津的DNS服務器。
3.2 使用sysmon監視系統
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系統服務和設備驅動程序的方法安裝在系統上,並保持常駐性。sysmon用來監視和記錄系統活動,並記錄到windows事件日誌,可以提供有關進程創建,網絡鏈接和文件創建時間更改的詳細信息。
通過收集使用Windows事件集合或SIEM代理生成的事件,然後分析它們,可以識別惡意或異常活動,並了解入侵者和惡意軟件在網絡上如何操作。
(1)首先編寫配置文件,這次實驗的配置文件中記錄ProcessCreate, FileCreateTime。
<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>
<SourceIp condition="is">127.0.0.1</SourceIp>
</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>
<FileCreateTime onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</FileCreateTime>
<ProcessCreate onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">360tray.exe</Image>
</ProcessCreate>
</EventFiltering>
</Sysmon>
(2)打開cmd,安裝Sysmon,輸入sysmon.exe -i config_file_name
(3)搜索 “事件查看器”,在應用程序和服務日誌——>Microsoft——>Windows——>Sysmon——>Operational
(4)觀察記錄的聯網行為,同時並進行了回連操作。
事件一: 記錄了事件的時間,發生的位置,使用的用戶,安全等級和哈希值等等。
事件二: 記錄了事件事件的發生的時間、目標文件的地址,我認為這個是kali回連所產生的事件,kali的目標文件是我們的後門程序。
事件三: 記錄了交流用的協議,源IP地址、端口號、以及是否用了IPv6協議。
4.systracer分析
(1)從網絡上下載systracer。
點擊take snapshot來快照,建立4個快照,分別為:
snapshot#1 後門程序啟動前,系統正常狀態
可以看到後門程序啟動之前,程序的進程中
snapshot#2 啟動後門回連Linux
可以觀察到圖中openitem中的路徑,猜測應該是kali使用backdoor.exe訪問主機的目錄等。
snapshot#3 Linux控制windows查詢目錄
snapshot#4 Linux控制windows在桌面創建一個路徑
(2)對比下1、2兩種情況
(3)對比3、4兩種情況
使用Process Explorer
Process Explorer可以實時監控計算機的進程狀態,我們可以用它來看看Meterpreter進程遷移的行為,首先運行後門程序,我們找到了它的進程,雙擊進程,我們可以看到詳細信息,其中的TCP/IP,在其中我們可以看到源地址是本地主機,目的地址是虛擬機的地址,然後端口是5301,可以分析出後門是讓本地對虛擬機進行回連。
Process Monitor
Process Monitor一款系統進程監視軟件,總體來說,Process Monitor相當於Filemon+Regmon,其中的Filemon專門用來監視系統 中的任何文件操作過程,而Regmon用來監視註冊表的讀寫操作過程。 有了Process Monitor,使用者就可以對系統中的任何文件和 註冊表操作同時進行監視和記錄,通過註冊表和文件讀寫的變化, 對於幫助診斷系統故障或是發現惡意軟件、病毒或木馬來說,非常 有用。
運行後門回連成功後進行刷新,可以看到後門程序出現在進程樹和主界面中。
下面是後門程序和正常程序的對比,從圖中我們可以看到在棧的模塊/組件中,後門程序有一部分顯示的是未知,而正常程序均是顯示的已知模塊和組件,我認為這一特點也可以作為判別惡意代碼的一個標準。
PEiD分析
PEiD(PE Identifier)是一款著名的查殼工具,其功能強大,幾乎可以偵測出所有的殼,其數量已超過470 種PE 文檔 的加殼類型和簽名。
我們把上次實驗加殼後的程序放到程序裏面測試,其中我們可以看到peid查殼區段的入口點是UPX1,即(EP Section),從最下面一行我們知道後門程序加殼的軟件是UPX 0.89.6-1.02/1.05-2.90。如果是未加殼的程序.則顯示另一副圖。
未加殼版本
使用wireshark分析惡意軟件回連情況
可以清楚的看到本地主機IP:192.168.229.1,到kali IP192.168.229.135的TCP三次握手的連接,其中的[PUSH ACK]應該是kali向主機發送命令所捕獲的TCP包,從這裏我們應該可以分析出惡意代碼的指令傳送過程。
實驗後回答問題
(1)如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在幹些什麽。請設計下你想監控的操作有哪些,用什麽方法來監控。
答: 監控方法有本次實驗利用的腳本,新建一個任務,監控註冊表、系統服務、開機啟動項、文件創建、網絡連接情況。
(2)如果已經確定是某個程序或進程有問題,你有什麽工具可以進一步得到它的哪些信息。
答: 可以通過Wireshark對於網絡流量進行監察,是否有不正常的網絡通信,並且可以把懷疑的目的IP地址放到網站上查詢,進一步探測進程到底在和誰通信,還可以用Process explorer對進程進行監控,記錄下可以進行的String字符串信息進行分析。
實驗總結與體會
此次實驗給我一次機會對電腦的所有進程進行監控,在監測到大量的進程信息後,通過Excel表格、各種分析工具進行篩選,可以把大量的信息整理歸納,以便於針對有問題的進程進行分析,並且通過各種軟件我們可以知道進程到底在和誰通信,在什麽時候通信,可以讓我們知道惡意代碼更加詳細的信息,以便於後一步的禁用和阻止過程。
20155301 Exp4 惡意代碼分析