1. 程式人生 > >20154312 曾林 Exp4惡意軟件分析

20154312 曾林 Exp4惡意軟件分析

inter sta 更多 epo 查找 can eve 管理器 特征

寫在前面

如果把惡意軟件比作罪犯的話,怎麽看這次實驗?

  • 實驗目的:以後能夠在茫茫人海中找到罪犯。

  • 實驗過程:現在以及抓到了一個罪犯,把他放到茫茫人海裏去,看看他和普通人有啥區別。這些區別就是罪犯的特征,以後可以根據這些特征找到更多的罪犯。

  • 實驗手段:利用各種技術去找到罪犯和普通人的區別。

回答問題

Q:如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在幹些什麽。請設計下你想監控的操作有哪些,用什麽方法來監控。
A:

  • 監控TCP連接
  • 監控註冊表修改情況
  • 監控創建新的文件
  • 監控是否頻繁連接未知IP
  • 利用日誌進行監控

Q:如果已經確定是某個程序或進程有問題,你有什麽工具可以進一步得到它的哪些信息。
A:

  • PEiD:是否加殼
  • PE Explorer:反匯編是否有問題,是否有不正常的Data
  • Wireshark:抓包分析,是否有可疑連接
  • TCPView:查看是否使用cifs端口
  • Systracer:程序運行前後是否有註冊表、端口、文件的變化

實踐過程記錄

目錄

1.系統運行監控
1.1Sysinternals工具集
1.1.1TCPView工具
1.1.2Sysmon工具
1.1.3Promon工具
1.2計劃任務並記錄聯網行為
1.3Wireshrak分析
2.惡意軟件分析
2.1VirScan分析惡意代碼
2.2分析軟件動態分析
2.2.1PE Explorer
2.2.2PEiD
2.2.3SysTracer

1.系統運行監控

系統運行監控大致可以分為兩種:

  • 通過Sysinternals工具集來進行實時的分析,分析出有哪些進程、程序是比較可疑的。
  • 通過建立任務計劃,將一段時間內的程序動態記錄在日誌裏,然後通過分析日誌來檢查是否有可疑的程序。

1.1Sysinternals工具集

Sysinternals Suite包含一系列免費的系統工具,其中有大名鼎鼎的Process Explorer、FileMon、RegMon等,如果把系統管理員比喻成戰士的話,那麽Sysinternals Suite就是我們手中的良兵利器。熟悉和掌握這些工具,並且對Windows的體系有一定的了解,將大幅度的提高日常的診斷和排錯能力。

這次我們主要使用的是:

  • TCPView
  • Sysmon
  • Promon
1.1.1TCPView工具

顧名思義,TCPView自然是用來監測TCP連接的工具,在開啟後門的情況下,打開工具就可以看到後門程序正在通過RemotePort:4312連接到RemoteAdress:192.168.15.132,值得註意的是LocalPort這一欄只有4312-3是cifs,其他的進程都是具體的端口號。

查閱資料可以知道cifs是一個新提出的協議,它使程序可以訪問遠程Internet計算機上的文件並要求此計算機提供服務。很明顯如果有程序的LocalPort顯示為cifs的時候就要註意了。

技術分享圖片

1.1.2Sysmon工具

SysmonSysinternals工具集裏面一個重要工具,最主要的功能就是可以通過自定記錄規則進行系統運行的監控,語法結構與HTML一致,在老師配置文件的基礎上我修改了一份自己的配置文件。

<Sysmon schemaversion="4.00">
  <!-- 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>
</NetworkConnect>

<NetworkConnect onmatch="include">     
  <DestinationPort condition="is">80</DestinationPort>      
  <DestinationPort condition="is">443</DestinationPort> 
  <DestinationPort condition="is">4312</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="endwith">powershell.exe</SourceImage>
</CreateRemoteThread>
  </EventFiltering>
</Sysmon>

配置的時候可能會由於版本號不對導致無法進行配置,只要修改頭部的版本號就可以了。就是這個<Sysmon schemaversion="x.xx">

技術分享圖片

顯示Sysmon started之後就開始記錄了,到事件管理器裏面就可以看到。

使用Sysmon的查找功能可以迅速找到你想要查找的有關內容

技術分享圖片

或者使用篩選器,篩選出一段時間內的信息

技術分享圖片

結合這兩點分析,就找到了電腦上的後門4312-3.exe

技術分享圖片

1.1.3Promon工具

同屬於Sysinternals工具集主要是對於進程進行的分析,並且能夠以進程樹的形式分析每一個進程的行為。

剛開始分析就看到了一個很奇怪的東西

技術分享圖片

這個JUMP文件是我當時實踐跳一跳腳本的文件夾,莫名其妙出現了一個LDSGameCenter的文件,正打算百度一下看看這是個啥,結果一念發現LDS=魯大師這可能是個魯大師的遊戲中心文件,百度了一下果然是。我說我怎麽一直找不到魯大師遊戲中心到底存哪了。順藤摸瓜把它刪了。

如果選擇用ProcessTree視圖查看可以看到很多cmd.exe的進程樹,我覺得都很可疑,因為一般正常的程序是不會有一個cmd.exe進程在下面常駐的,一個一個點開看,果然看到了4312-3.exe

技術分享圖片

4312-3.exe進行分析,可以看到程序的鏈接路徑

技術分享圖片

進行回連之後,先執行dir命令,可以看到4312-3.exe讀取了整個Desktop的文件,並且進行了CreateFileCloseFile操作。

技術分享圖片

再看看執行webcam_snap會有什麽不同,可以看到新出現了LoadImage等一系列操作。並且還修改了和COM3有關的註冊表,COM3明顯是一個端口,這一點已經很可疑了,一般不會有什麽程序用到COM1 COM2之外的端口。

技術分享圖片

我們再用record_mic命令試試看

技術分享圖片

又一次修改了COM3端口有關的註冊表,可以推測修改COM3端口是後門程序傳輸數據的一個重要特征。我們再看一看4312-3.exe的具體信息

技術分享圖片

可以看到還調用了advapi32.dll庫,這個庫包含了函數與對象的安全性、註冊表操控以及事件日誌。這也可以作為後門程序的一個特征了。

1.2計劃任務並記錄聯網行為

在創建計劃任務之前,先創建一個netstatlog.bat文件(命令:echo netstatlog.bat),用來把netstat記錄的東西格式化輸出到netstatlog.txt,其內容如下:

date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

之後就可以在Windows>>計劃任務裏面創建新的計劃,註意勾選以最高權限運行

技術分享圖片

設置裏面啟動的程序只要選netstatlog.bat就ok,日誌分析稍後更新。

1.3Wireshark分析

回連的時候Wireshrak可以捕獲到整個過程

技術分享圖片

輸入Webcam_snap命令之後可以看到,有N個滿載(1514)的TCP數據包,大膽猜測,這幾個就是傳輸Webcam拍到的圖片的數據包。

技術分享圖片

2.惡意軟件分析

惡意軟件分析部分主要是運用各種分析工具,從不同的角度對惡意軟件進行“解刨”。

2.1VirScan分析惡意代碼

技術分享圖片

技術分享圖片

好像分析不出來啥???

2.2分析軟件動態分析

利用分析軟件進行動態分析可以知道每一個軟件每時每刻在幹啥,有比較直觀的反饋。

2.2.1PE Explorer

利用PE Explorer可以看到程序的頭部信息

技術分享圖片

以及程序的一些數據

技術分享圖片

還有就是程序的結頭信息

技術分享圖片

PE也可以進行反匯編,反匯編之後得到如下信息

技術分享圖片

個人感覺PE的分析還是偏向於靜態除非對於程序內部結構比較了解,不然在發現可疑程序方面不如動態的分析。

2.2.2PEiD

這個查殼軟件解釋了之前為什麽加殼什麽用都沒有,太容易被查了...

技術分享圖片

2.2.3SysTracer

在使用SysTracer之後發現,它最重要的功能不是在於可以做系統快照,而是在於可以比較系統快照之間的不同。

我根據

  • 為植入後門
  • 植入後門後進行回連
  • 回連之後使用dir命令

分別進行了三次系統快照,結果如下

技術分享圖片

通過三者之間兩兩比較可以發現註冊表上的變化

技術分享圖片

技術分享圖片

很明顯可以發現4312-3.exe這個可疑進程,並且第二張圖裏面可以看到,有一條奇怪的data執行了inetcpl.cpl.-4312#immutable1,查資料之後就會知道inetcpl.cpl是控制面板上的Internet選項,大膽猜測這個很有可能是後門程序添加了4312這個端口有關的參數到Internet選項中去,來方便通信。

實驗總結與體會

一個可疑程序應該有哪些特點?

  • TCPView:LocalPort為cifs
  • Sysmon:頻繁連接未知IP
  • Promon: 藏在cmd.exe 進程樹下面,執行諸如LoadImage createfile之類的操作,並且修改端口註冊表
  • Wireshark: 傳輸1514大小的TCP數據包給一個未知IP
  • PE Explorer:有異常的Data,反匯編後程序中有異常的跳轉
  • PEiD:程序加過殼
  • SysTracer:修改inetcpl.cpl

20154312 曾林 Exp4惡意軟件分析