2017-2018-2 20155228 《网络对抗技术》 实验四:恶意代码分析
2017-2018-2 20155228 《網絡對抗技術》 實驗四:惡意代碼分析
1. 實踐內容
1.1 系統運行監控
使用如計劃任務,每隔一分鐘記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪里。運行一段時間并分析該文件,綜述一下分析結果。目標就是找出所有連網的程序,連了哪里,大約干了什么(不抓包的情況下只能猜),你覺得它這么干合適不。如果想進一步分析的,可以有針對性的抓包。
安裝配置sysinternals里的sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。
實際日志的分析還需要發揮下自己的創造力,結合以前學過的知識如linux的文本處理指令等進行。分析的難點在于從大量數據中理出規律、找出問題。這都依賴對結果過濾、統計、分類等進一步處理,這就得大家會什么用什么了。
1.2 惡意軟件分析
分析該軟件在
啟動回連
安裝到目標機
及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)
該后門軟件
讀取、添加、刪除了哪些注冊表項
讀取、添加、刪除了哪些文件
連接了哪些外部IP,傳輸了什么數據(抓包分析)
該實驗重點在“分析”,不是“如何使用某軟件”。組長、課題負責人要求寫細一點,其他人可以重點放在分析上。
2. 基礎問題回答
2.1 如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在干些什么。請設計下你想監控的操作有哪些,用什么方法來監控。
首先用netstat統計系統各個應用的網絡連接情況并進行分析
其次針對行為可疑性的軟件用wireshark進行抓包,分析其具體的網絡連接;用Sysmon進行統計,分析其行為的細節,推測其目的
然后使用Process Monitor和Process Explorer再深入進行分析,查看軟件對系統里的文件、注冊表等的創建、修改情況
最后調整防火墻和IDS對軟件的行為進行限制
2.2 如果已經確定是某個程序或進程有問題,你有什么工具可以進一步得到它的哪些信息。
用netstat統計應用的網絡連接情況
用wireshark進行抓包,分析其具體的網絡連接
用Sysmon進行統計,分析其行為的細節,推測其目的
用Process Monitor和Process Explorer查看軟件對系統里的文件、注冊表等的創建、修改情況
3. 實踐總結與體會
這次實驗沒有找到惡意代碼,但是找到了流氓軟件,已經用防火墻禁止其聯網了
這個結論,是基于程序連接到網絡的沒有使用假名字,感覺惡意代碼換個名字不是什么難事
如果換個名字從netstat上是看不出問題來的
還有用netstat統計的時間還是太短了,就只有統計一天之內的應用的網絡連接
也許有的惡意代碼很長時間才和控制端進行一次通信,這需要長期的大量統計才行
用wireshark可以看到軟件連接網絡的具體行為,但是傳輸的數據內容由于經過處理看不出來是什么
Sysmon、Process Monitor、Process Explorer這三個軟件功能很強大,數據量非常大
要從成千上萬條信息中看出問題,這需要大量經驗才行
不過現在可以針對性得看看自己的惡意代碼在干什么
總的來說還是很有收獲的,尤其是當看到系統里的確有流氓軟件偷偷聯網然后用防火墻禁止聯網,莫名感到興奮。
以前總是覺得防火墻煩得要死,各種關閉防火墻,但是現在感覺防火墻還是很有用的
4. 實踐過程記錄
4.1 建立計劃任務記錄網絡連接情況
4.1.1 簡單實現
打開控制面板搜索計劃任務進入任務計劃程序
在右側的操作欄找到新建任務進入創建任務對話框
在常規欄寫入計劃的名稱
在觸發器欄點擊新建,設置任務的次數,開始時間,重復任務間隔,持續時間
在操作欄點擊新建,設置程序和腳本為cmd,添加參數如下
/c netstat -bn > e:\5228netstatlog0412.txt在條件欄把電源選項條件的勾選去掉,點擊確定
回到任務計劃程序主界面,點擊左側的任務計劃程序欄,找到剛才新建的任務
不用等著任務到時間運行,直接在右側操作欄點運行就能讓任務馬上運行
點擊刷新之后可以看到剛才新建的任務已經操作成功運行
打開日志文件可以看到已經有網絡連接記錄生成
4.1.2 批處理
打開記事本編寫批處理腳本文件5228netstatlog0412.bat
date /t >> e:\5228netstatlog0412.txt time /t >> e:\5228netstatlog0412.txt netstat -bn >> e:\5228netstatlog0412.txt打開任務計劃程序找到并雙擊剛才創建的任務,在操作欄雙擊操作對操作進行編輯
在程序和腳本欄點擊瀏覽選中剛才寫好的5228netstatlog0412.bat
再打開日志文件可以看到網絡連接記錄已經有時間標注
4.2 使用Sysmon對網絡連接、文件修改和進程創建行為進行監視
4.2.1 Sysmon的安裝
Sysmon下載鏈接
下載完成后解壓壓縮包,啟動cmd切換目錄到Sysmon目錄下,輸入并執行安裝指令
sysmon.exe -i -n安裝完成后重啟計算機
4.2.2 Sysmon的配置
輸入以下指令查看schemaversion的版本
sysmon -? config打開記事本編寫編寫Sysmon配置文件Sysmoncfg.xml
<Sysmon schemaversion="4.00"><HashAlgorithms>*</HashAlgorithms><EventFiltering> <ProcessCreate>*</ProcessCreate><FileCreateTime>*</FileCreateTime><NetworkConnect>*</NetworkConnect></EventFiltering> </Sysmon>輸入以下命令導入Sysmon配置文件Sysmoncfg.xml
Sysmon.exe -c C:\Sysmoncfg.xml如果提示error的話那么就是xml文件寫得有問題,配置文件導入成功時應該是這樣的
<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><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></EventFiltering> </Sysmon>4.2.3 使用日志查看器查看Sysmon記錄的日志
打開日志查看器,在左側事件查看器中找Applications and Services Logs——>Microsoft——>Windows——>Sysmon——>Operational
在右側操作欄點擊篩選當前日志,輸入僅保留的網絡連接、文件修改和進程創建對應的ID號:1、2、3
在下側的詳細信息中可以看到每個事件的詳細信息
4.3 netstat搜集到的數據分析
4.3.1 數據處理和導入以及整理
數據處理
為了方便在excel中對數據進行整理,在導入數據之前用word對txt文檔中的數據格式做一個簡單處理
- 因為每一條記錄的應用這一項和其他項:`協議、地址、狀態不在同一行很不方便,所以用word的替換把回車去掉
- 把年月日和周幾還有時間之間的空格全部去掉,使得導入數據后時間和其他項不在同一列避免干擾
數據導入
數據整理
4.3.2 數據分析
| [360se.exe] | 1495 | 360瀏覽器 |
| [VirtualBox.exe] | 315 | VirtualBox |
| [360tray.exe] | 249 | 360安全衛士木馬防火墻模塊 |
| [2345PicSvc.exe] | 106 | 2345看圖王 |
| [WeChat.exe] | 96 | 微信 |
| [netsession_win.exe] | 88 | |
| [360AP.exe] | 80 | 360免費wifi |
| [YoudaoNote.exe] | 62 | 有道云筆記 |
| [SGTool.exe] | 52 | 搜狗 |
| [vmware-hostd.exe] | 48 | Vmware |
| [VBoxNetNAT.exe] | 39 | VirtualBox |
| [vmware.exe] | 38 | Vmware |
| [2345PdfReader.exe] | 34 | 2345看圖王 |
| [QQ.exe] | 31 | |
| [SogouCloud.exe] | 27 | 搜狗云 |
| [SGPicFaceTool.exe] | 17 | 搜狗表情包 |
| [svchost.exe] | 16 | 微軟系統程序 |
| XLServicePlatform | 14 | 迅雷服務平臺 |
| [userNetSchedule.exe] | 12 | 搜狗 |
| [2345PicViewer.exe] | 8 | 2345看圖王 |
| [vmnat.exe] | 6 | Vmware |
| [vmware-authd.exe] | 4 | Vmware |
| RpcSs | 1 | 遠程過程調用 |
| [mmc.exe] | 1 | Windows管理控制程序 |
| CryptSvc | 1 | windows認證服務 |
| [系統] | 1 | |
| [360rp.exe] | 1 | 360殺毒 |
在查詢的過程中不乏看到一些有趣的信息
- 周四晚上到周五白天并沒有使用過迅雷,但是迅雷有自啟動和連接網絡的行為
- RpcSS是一個比較敏感的操作,雖然頻率不高
- 說360是非常流氓的并非沒有道理
找到2345pdf閱讀器連接到的ip地址,到站長之家查一下這個ip
這是一個通信技術公司的IDC機房的ip,這個公司的業務中有數據中心服務
百度上說數據中心提供的是數據的傳輸服務
個人感覺這個2345看圖王軟件如此頻繁得與數據中心建立連接,不太可能是檢查更新或者是做其他必要工作
這個軟件可能會搜集文件(jpg和pdf等)的信息并上傳到網上,至于拿去干什么就不得而知了
可以用whois查到這個公司機房的地址等信息,有一個在北京,還有在浙江
感覺不像是在做好事,于是用wireshrak捕獲數據包看一下這個軟件在背著用戶干什么
先打開wireshark,再打開2345看圖王,免得漏捕
wireshark能捕獲大量數據包,得做一個過濾只留下關注的內容
ip.dst==42.62.30.188 || ip.src== 42.62.30.188//每次打開pdf文檔,2345PdfReader.exe就會連接到這個ip打開一個pdf文檔然后關閉,再打開一個pdf文檔然后又關閉,得到如下結果
看得出來打開pdf文檔的時候,2345PdfReader.exe做了這幾件事
tcp三次握手建立連接
http數據傳輸,其目的地是http://update.pic.2345.com/pic/pdf/middlebar.php
tcp四次揮手關閉連接
NBSTAT名稱查詢請求
不太清楚NBSTAT是在干什么,網上查了一下有這樣的解釋:
NBNS = NetBIOS Name Service,應該是在做命名查詢。微軟WINS的實現就是一個例子。例如開啟了WINS的主機就會發出目的地址地址...255進行廣播,使用UDP協議,連137端口。
可是很多人,尤其是一些網管經常發現大量的這樣報文,最終影響網絡,甚至導致交換機的癱瘓.......
初步分析了一下捕獲到的數據,基本認定原因在于好多個人計算機內包含惡意/流氓軟件,會不停地訪問某一個域名,同時,windows的名字解析機制的順序是:
所以,就會在網絡中產生大量nbns的數據包
綜上分析可知,當用戶打開pdf文檔的時候2345PdfReader.exe就會偷偷上傳不知道是什么數據然后瘋狂連接某一個網站,感覺用戶的計算機像是成了DDos的肉雞?!
得想辦法治一下這個流氓軟件,于是打開防火墻禁止這個程序連接到網絡
4.4 其他分析軟件
Process Monitor
進程監視器是Windows的高級監視工具,顯示實時文件系統,注冊表和進程/線程活動。
它結合了兩個傳統Sysinternals實用程序Filemon和Regmon的功能,并添加了豐富的增強列表,包括豐富和非破壞性篩選,全面的事件屬性(如會話ID和用戶名),可靠的進程信息,帶集成符號支持的完整線程堆棧 對于每個操作,同時記錄到文件等等。其獨特的強大功能將使Process Monitor成為系統故障排除和惡意軟件搜索工具包的核心工具。
感覺Process Monitor的界面比事件查看器友好多了,應用的各個行為都按照時間先后順序排列好了
除了每一條具體的行為記錄,還可以查看進程行為統計:
Tools-->Process Activity Summary-->Details
Process Explorer
有沒有想過哪個程序打開了一個特定的文件或目錄?現在你可以找到。 Process Explorer向您顯示有關哪些句柄和DLL進程已打開或加載的信息。
Process Explorer顯示由兩個子窗口組成。頂部窗口總是顯示當前活動進程的列表,包括他們擁有的帳戶的名稱,而底部窗口中顯示的信息取決于Process Explorer所在的模式:如果它處于手柄模式,您會看到處理在頂部窗口中選擇的進程已打開;如果Process Explorer處于DLL模式,您將看到進程已加載的DLL和內存映射文件。 Process Explorer還具有強大的搜索功能,可以快速顯示哪些進程打開了特定的句柄或加載了DLL。
Process Explorer的獨特功能使其可用于追蹤DLL版本問題或處理泄漏,并深入了解Windows和應用程序的工作方式。
PEiD
PEiD是一款著名的可移植可執行程序(pe文件)外殼查詢工具工具,其功能強大,可以輕易檢出超過470種外殼,并可檢查程序的編程語言。
轉載于:https://www.cnblogs.com/besti20155228/p/8810912.html
總結
以上是生活随笔為你收集整理的2017-2018-2 20155228 《网络对抗技术》 实验四:恶意代码分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 武器级工具包 Immunity Canv
- 下一篇: C# PrintDocument 打印表