20155339 Exp4 惡意代碼分析
實驗后回答問題
(1)如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在干些什么。請設計下你想監控的操作有哪些,用什么方法來監控。
- 監控網絡連接。
- 當某個系統進程出現多個時,重點監控。
- 監控注冊表的變化。
- 監控未知的IP的異常頻率的連接。
- 監控系統日志的變化。
(2)如果已經確定是某個程序或進程有問題,你有什么工具可以進一步得到它的哪些信息。
- 創建計劃任務,跟蹤該進程的網絡連接。
- 使用Systracer拍攝系統的多個快照,并對不同的時刻拍下的快照進行對比,分析改變的注冊表的變化。
- wireshark監視該程序的數據包。
- 用Process Explorer獲取其命令行,路徑,連接的端口號以及本機開放的端口號等信息。
實驗總結與體會
通過本次實驗,解除了上次實驗的憂慮,學習了怎么查看系統的狀態以及分析惡意代碼的存在。植入后門或許并不難,所以對于系統的狀態以及后門的分析就尤為重要了,比起后門攻擊,分析略顯枯燥,但是分析確極其重要。
實踐過程記錄
GE_Windows計劃任務schtasks
- 開始創建任務,首先建立一個文本文檔用于輸出結果,復制到C盤。
- 使用
C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
命令,來實現每五分鐘每記錄一下有哪些程序在連接網絡,若需要實現一分鐘記錄一次,則將MO 5
改為MO 1
即可,對相關參數進行分析:
/TN taskname 指定唯一識別這個計劃任務的名稱。
/S system 指定要連接到的遠程系統。如果省略這個系統參數,默認是本地系統。
/SC schedule 指定計劃頻率。有效計劃任務: MINUTE、 HOURLY、DAILY、WEEKLY、 MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT.
/MO modifier 改進計劃類型以允許更好地控制計劃重復周期。有效值列于下面“修改者”部分中。 /TR taskrun 指定在這個計劃時間運行的程序的路徑和文件名。
- 出現下圖所示則新建成功,但是即使這樣發現netstatlog.txt并沒有變化,打開控制面板,找到任務計劃,點擊屬性,發現需要更改一些設置,首先選擇使用常規中的“最高權限運行”,然后將條件里的條件中的如下兩個條件去掉。
現在就可以看到每五分鐘就會進行一次記錄。
- 我們再加工一下,在C盤要目錄下建一個文件c:\netstatlog.bat,內容如下:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
可以在圖形界面打開計劃任務,將其中每5分鐘執行的指令從"cmd /c netstat -bn > c:\netstatlog.txt"替換為“c:\netstatlog.bat”。更改完后,我們在netstatlog.txt中會看到如下的輸出,多了日期與時間,這樣看起來更方便。
- 放了一天多,我將其導入到excel中去,具體導入方法就是在Excel的數據中選擇從文本文檔導入,然后選擇分隔符號,再將所有分割符號選上,并且在其他后鍵入“:”,完成。
然后對數據進行了一個透視分析,這里我是按降序進行排列,柱狀圖則更明顯的突出了對外連接最多的程序,對其中的幾個進行分析。
- 這個wpscloudsvr.exe格外多啊,但是看樣子是個WPS的什么云服務,搜了一下是WPS熱點,這個真的很討厭,每次都是手動關閉看來關的不夠徹底,進入控制面板將其文件位置找出關閉該程序,并且刪了它。
- 接下來是SogouExplorer.exe,這次之后打算改用火狐了,這個隨便連接的次數也太多了點,我的流量啊。
- vmware-hostd.exe,這個其實是VMware的一個服務端,網上說是可以關閉的,不影響正常使用,我這種小白,還是留著它吧。
- devenv.exe這是什么呢,原來是是程序開發平臺Microsoft Visual Studio 用戶界面程序,開發者在這個界面進行設計開發調試工作,那也是沒問題的。
- ComputerZTray.exe是魯大師的硬件核心服務,也是正常軟件,SGTool.exe搜狗輸入法的加速程序,xmp.exe迅雷看看播放器,DsmSvc,使這個可以加速應用程序的啟動速度,如果禁用,會加快系統啟動速度。也就是說,你要做個取舍了,是要啟動速度,還是要以后軟件的加載速度。當然還有我的backdoorc3.exe,這個網上當然是搜不到的,放到virscan上,查殺率當然意料之中的高,當然是個病毒。
對連接次數超過10的IP進行一個批量搜索。
- 大的公司像聯通、移動這種應該沒問題,對幾個我覺得可疑的,無法想象自己為什么會連到這些地方的IP進行了一個搜索,首先對美國的這個進行一次搜索吧,我也沒點什么國外的網站啊。首先將其在我的數據中進行一次搜索,看看它是什么程序的IP,搜索發現是vmware,對,那就應該是可信的了。
再對這兩個進行個搜索吧。
同樣先回到我的數據中進行搜索,原來WPS熱點是這幾家公司!
- 再看看這是什么吧,是devenv.exe進程,上網搜索過了,是VS的一部分,用于應用程序開發,那就沒問題了,看來我的電腦沒什么問題。
VirScan
把我的后門軟甲放到VirScan上掃描一下,不出所料,22%的查殺率。
可以看到它選擇了MD5和sha-1來進行哈希摘要,可能在編碼的過程中使用了這兩個算法。
嘗試獲取別的信息,點擊任意一個掃描結果看看會有什么別的發現。
- 并沒有什么太大的發現,但是發現了大家放到VirScan上掃描的自己生產的后門軟件,看來查到的病毒都是一樣的。
Sysmon
- Sysmon是微軟Sysinternals套件中的一個工具。可以監控幾乎所有的重要操作。
- 配置好文件之后開始安裝sysmon,先從老師的附件里面下載,文件名為SysinternalsSuite201608,其中包括了Sysmon.exe等,安裝命令為
sysmon.exe -i 配置文件名
。 - 首先對老師的配置文件進行學習,編寫了自己的配置文件,需要注意的是,exclude相當于白名單,不用記錄,而include相當于黑名單。在語法上需要注意一一對應,比如
<SourceIp xxx>
要與</SourceIp>
對應,我在編寫的過程中忽略了這一點,直接從上面復制下來就出現了錯誤。 - 關于我的配置文件,我將搜狗瀏覽器加入了白名單,與此同時對于80端口的HTTP和443端口的HTTPS,當然還需要包括我的5339端口了,具體如下:
<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">SogouExplorer.exe</Image><Image condition="end with">iexplorer.exe</Image>
</NetworkConnect><NetworkConnect onmatch="include"><DestinationPort condition="is">80</DestinationPort><DestinationPort condition="is">443</DestinationPort><DestinationPort condition="is">5339</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>
但是這里需要注意,我們需要使用管理員身份打開cmd.
接下來就可以成功安裝了。
- 在這里學到一招,如果我們要切換盤符的目錄,正確的用法是在cd 和路徑中間 增加一個'/d',例如我想切換到F盤就需要輸入
cd /d f:
就可以了,直接cd是不可以的。 - 打開控制面板,打開事件查看日志,依次點擊應用程序和服務日志->Microsoft->Windows->Sysmon->Operational
大量的數據或許并不有利于我們分析,所以我用篩選器對數據進行了一次篩選。
創建了一個搜狗表情工具。
Excel文件發生了變化。
使用systracer工具分析惡意軟件
1.在正常情況即沒有后門程序的情況下對Windows進行快照。
2.在將后門程序拷入主機之后進行快照。
3.回連成功后進行一次快照。
- 快照結果進行對比分析:
1和2進行對比,只觀察不同的部分,由下圖可以看出注冊表發生了變化,首先修改了了很多鍵值,這些鍵值包括顯示控制系統和軟件的處理鍵下的子鍵、當前用戶的配置數據信息等。
增加了HKEY_LOCAL_MACHINE下的一些子鍵值。
當然,還有一些軟件,比如搜狗啊、SysTracer本身以及微信等引發的鍵值變化,可以說很詳細了。
- 還有剩下的就是沒有注冊看不了,額,沒有辦法。
- 2和3進行比較,注冊變化更明顯,只是依舊看不了。
- 再1和3進行比較看一看,鍵值發生了很多變化,增加了很多鍵值,可是沒有注冊看不了,看來也只能再通過別的方法分析了。
總的來說,植入一個后門程序并且在進行回連的時候會發生很多鍵值的變化,是可以通過這個方面來進行分析的,只是對于剛入門并且沒有注冊的我們貌似有些不適用。
用wireshark來進行分析
- 開始捕獲包,同時Kali開始通過msf尋找后門程序來進行回連,主機雙擊后門程序來進行回連,結束捕獲。
開始分析TCP的一些內容。這個119.75.213.61有點可疑,回去看看原來整理的Excel,原來是金山WPS辦公軟件云服務進程,剛關閉完WPS云服務這又有個金山WPS辦公軟件云服務,也給他關了。
還有個23.57.229.163是什么搜一下,一搜嚇到了我,這個IP竟然是印度的。
很值得懷疑,再看看建立連接有沒有成功。
- 成功建立的三次握手,但是竟然還給我報了一個304錯誤,那這是什么呢?上網搜索一下,發現是Akamai(一個CDN運營商)網站的IP。
接下來的就是被虛擬機攻擊的我的5339端口了。在本機的虛擬機攻擊本機這么直接的操作下,wireshark很直觀的再現并且剖析了這一過程,剛開始VM廣播尋找哪個主機啟動了后門,開始回連192.168.224.140。
端口以及回連的IP直接暴露了出來。
- 一直以為是主機的IP和虛擬機的IP進行通訊,發現其實是,主機的以太網適配器的IP地址與Kali進行了回連,這說明以后在真正的實際應用中,本機的各種的IP與別的IP的連接都需要分析,有些東西用不是單單只能通過物理機IP來進行連接傳播甚至被控制的。
- 其他沒有抓到什么別的包
Process Explorer進行分析
- 該軟件運行很簡單,下載安裝好了就會進行監控,這個軟件還是比較好用,讓使用者能了解看不到的在后臺執行的處理程序,能顯示目前已經載入哪些模塊,分別是正在被哪些程序使用著,還可顯示這些程序所調用的 DLL進程,以及他們所打開的句柄。Process Explorer最大的特色就是可以中終任何進程,甚至包括系統的關鍵進程!我覺得這個甚至比任務管理器還好用!竟然現在才知道。
- 這個軟件使用也比較簡單,安裝完后直接就開始了監視,可以在監視菜單欄的空白處點擊右鍵,選擇添加列,然后將使用的用戶名、路徑命令行等添加到顯示的列表中,便于分析。
使用該軟件進行分析。
- 首先剛開始就有一個smss.exe進程進入了我的視線,上網查了一下,一查嚇一跳,竟然有很多人說是木馬、病毒,多查了幾個網站,發現其實這個程序全名Session Manager Subsystem,它是一種部分的微軟視窗操作系統。本身這個程序是一個正常的系統進程,但是如果用戶發現在系統進程中出現多個smss.exe進程或者CPU使用率變動很大,那么要小心該程序可能就是一個潛伏在電腦深處的一個盜號木馬程序,所以再去尋找,發現只有這一個smss.exe,但是還是有些不放心與之前的任務計劃抓下的進程的連接來進行比較,在其中并沒有找到這一項的連接,所以應該是沒有問題。
svchost.exe也可能是病毒,在這個軟件里面也有分析如下圖,與此同時對于主機內的每個svchost.exe放到virscan進行掃描,檢出為0,基本可以認定為系統程序而不是病毒。
這應該就是計劃任務schtasks將記錄寫入netstatlog.txt的程序。
接下來就是我的后門程序了。
可以清楚的看到回連的IP和本機開放的端口,還可以查看其進程ID號。
又有一個奇怪的程序。
- 上網搜索發現igfxem.exe進程是正常的進程。是intel家的核顯驅動類的進程.核顯即“核芯顯卡”,是指GPU部分它是與CPU建立在同一內核芯片上,兩者完全融合的芯片,與igfxhk.exe進程同時存在,看來是安全的,其實這個也是可以禁用的,不過對于核心顯卡設置會有一定的影響。
其他進程貌似沒有什么問題,這款軟件還在一定程度上減少了對未知的系統程序的百度,比如下圖所示,很明確的指出了DCOMLAUNCH服務的功能和其是否能被禁用。
看來我的電腦還是比較干凈的。