2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析
Exp4 惡意代碼分析
目錄
- 一、實(shí)驗(yàn)?zāi)繕?biāo)
- (1)監(jiān)控你自己系統(tǒng)的運(yùn)行狀態(tài),看有沒(méi)有可疑的程序在運(yùn)行。
- (2)分析一個(gè)惡意軟件,就分析Exp2或Exp3中生成后門軟件;分析工具盡量使用原生指令或sysinternals,systracer套件。
- (3)假定將來(lái)工作中你覺(jué)得自己的主機(jī)有問(wèn)題,就可以用實(shí)驗(yàn)中的這個(gè)思路,先整個(gè)系統(tǒng)監(jiān)控看能不能找到可疑對(duì)象,再對(duì)可疑對(duì)象進(jìn)行進(jìn)一步分析,好確認(rèn)其具體的行為與性質(zhì)。
二、基礎(chǔ)問(wèn)題回答
- (1)如果在工作中懷疑一臺(tái)主機(jī)上有惡意代碼,但只是猜想,所有想監(jiān)控下系統(tǒng)一天天的到底在干些什么。請(qǐng)?jiān)O(shè)計(jì)下你想監(jiān)控的操作有哪些,用什么方法來(lái)監(jiān)控
- (2)如果已經(jīng)確定是某個(gè)程序或進(jìn)程有問(wèn)題,你有什么工具可以進(jìn)一步得到它的哪些信息。
- 三、實(shí)踐過(guò)程記錄
- 使用計(jì)劃任務(wù),每隔一分鐘記錄自己的電腦有哪些程序在聯(lián)網(wǎng)。
- 使用sysmon工具,監(jiān)控自己主機(jī)的重點(diǎn)事可疑行為。
- 使用VirusTotal分析惡意代碼。
- 使用PEiD檢測(cè)可疑對(duì)象是否加殼。
- 使用SysTracer分析惡意軟件.
- 使用Process Monitor 監(jiān)視進(jìn)程
- 使用Process Explorer 監(jiān)視進(jìn)程.
- 四、實(shí)驗(yàn)總結(jié)與體會(huì)
五、實(shí)驗(yàn)錯(cuò)誤與問(wèn)題及其解決
二、基礎(chǔ)問(wèn)題回答
- [ 如果在工作中懷疑一臺(tái)主機(jī)上有惡意代碼,但只是猜想,所有想監(jiān)控下系統(tǒng)一天天的到底在干些什么。請(qǐng)?jiān)O(shè)計(jì)下你想監(jiān)控的操作有哪些,用什么方法來(lái)監(jiān)控。 ]
我想監(jiān)控的操作有:
(1)注冊(cè)表的修改
(2)進(jìn)程的訪問(wèn)
(3)數(shù)據(jù)包的傳送及其中的內(nèi)容
(4)端口的連接和占用情況(5)防火墻和殺軟的防御和攔截情況。(6)連接了哪些ip。
使用方法監(jiān)控:
(1)使用windows計(jì)劃任務(wù)schtasks,定時(shí)記錄一下有哪些程序在連接網(wǎng)絡(luò),干了些什么,進(jìn)行分析。
(2)可以使用工具sysmon監(jiān)控幾乎所有的重要操作,并在事件查看器中查看日志,尋找惡意代碼的痕跡。
(3)使用Process Explorer監(jiān)視系統(tǒng)和應(yīng)用程序(4)使用Process Monitor監(jiān)視系統(tǒng)進(jìn)程。
- [ 如果已經(jīng)確定是某個(gè)程序或進(jìn)程有問(wèn)題,你有什么工具可以進(jìn)一步得到它的哪些信息。 ]
(1)使用virscan等網(wǎng)站檢測(cè),查看其行為分析等
(2)使用wireshark在該程序或進(jìn)程運(yùn)行時(shí)抓包,查看其與本機(jī)的通信。
(3)使用PEiD分析該程序,看看其是否加殼。
返回目錄
三、實(shí)驗(yàn)過(guò)程記錄
3.1使用Windows計(jì)劃任務(wù)schtasks記錄并分析。
- 使用命令schtasks /create /TN 20165114netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\20165114netstatlog.txt"創(chuàng)建一個(gè)每隔一分鐘重復(fù)一次的名稱為20165114netstat的計(jì)劃任務(wù)。
TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分鐘來(lái)計(jì)時(shí)
MO: MOdifier
TR: Task Run,要運(yùn)行的指令是 netstat -bn,b表示顯示可執(zhí)行文件名,n表示以數(shù)字來(lái)顯示IP和端口
- 先在桌面創(chuàng)建一個(gè)txt文件,寫入下列內(nèi)容后,重命名更改為批處理netstatlog.bat文件。
將文件netstatlog.bat拖入C盤目錄下,這需要管理員權(quán)限,如下圖點(diǎn)擊繼續(xù)即可。
打開(kāi)控制面板->管理工具->任務(wù)計(jì)劃程序,可以看到剛剛創(chuàng)建的這個(gè)任務(wù)。
雙擊點(diǎn)開(kāi)這個(gè)任務(wù),為其設(shè)置屬性,在常規(guī)一欄,勾選使用最高權(quán)限運(yùn)行,否則可能無(wú)法運(yùn)行哦,這時(shí)需要在彈窗中輸入管理員密碼。
在操作一欄,點(diǎn)擊編輯,將程序或腳本改為批處理文件 netstatlog.bat,將參數(shù)一欄清空。
除此之外,條件一欄中,默認(rèn)情況下只有在計(jì)算機(jī)使用交流電源時(shí)才啟動(dòng)此任務(wù),當(dāng)拔出電源時(shí)就會(huì)停止任務(wù),如果使用電池電源可不勾選此項(xiàng)。
運(yùn)行該任務(wù),會(huì)發(fā)現(xiàn)20165114netstatlog.txt中已經(jīng)有聯(lián)網(wǎng)數(shù)據(jù)和記錄了,如下圖所示。
- 等待幾個(gè)小時(shí)候,可以用excel統(tǒng)計(jì)和整理分析一下收集到的數(shù)據(jù)。
使用excel導(dǎo)入文本數(shù)據(jù)和建立數(shù)據(jù)透視圖的過(guò)程可以參考學(xué)姐的博客,寫的十分詳細(xì),下圖是我導(dǎo)入后的excel表格與創(chuàng)建數(shù)據(jù)透視圖過(guò)程。
最后發(fā)現(xiàn),幾個(gè)聯(lián)網(wǎng)頻繁的程序是TCP,2345瀏覽器,虛擬機(jī)的程序等,圖中也可以看到后門程序、電腦管家、wireshark等的記錄。
下圖為一部分外部連接的ip地址:
可以對(duì)可疑的ip地址進(jìn)行查詢,看看他們的歸屬地等信息。
返回目錄
3.2使用sysmon工具監(jiān)控自己主機(jī)的重點(diǎn)可疑行為。
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系統(tǒng)服務(wù)和設(shè)備驅(qū)動(dòng)程序的方法安裝在系統(tǒng)上,并保持常駐性.sysmon用來(lái)監(jiān)視和記錄系統(tǒng)活動(dòng),并記錄到windows事件日志,可以提供有關(guān)進(jìn)程創(chuàng)建,網(wǎng)絡(luò)鏈接和文件創(chuàng)建時(shí)間更改的詳細(xì)信息。
- 我參考了實(shí)驗(yàn)指導(dǎo)和學(xué)姐們的博客,以及文章使用輕量級(jí)工具SYSMON監(jiān)視你的系統(tǒng),創(chuàng)建配置文件了20165114Sysmoncfig.xml,內(nèi)容如下:
==注意:==
- 版本號(hào)需要根據(jù)sysmon的版本修改,我的為:Sysmon schemaversion="4.20"。
- exclude相當(dāng)于白名單,不用記錄。include相當(dāng)于黑名單,需要包括進(jìn)去。
- 過(guò)濾條件相當(dāng)于白名單吧,多多益善,讓信任的程序盡量不要記到日志里,日志多了不好分析。
- 如果你想記錄所有網(wǎng)絡(luò)連接就可以簡(jiǎn)單寫為*,不寫的不記錄。
- 網(wǎng)略連接過(guò)濾掉了瀏覽器的網(wǎng)絡(luò)連接、源IP為127.0.0.1的網(wǎng)絡(luò)連接和目的端口為137的連接服務(wù),且查看目的端口為80(http)和443(https)的網(wǎng)絡(luò)連接。
- 137端口的主要作用是在局域網(wǎng)中提供計(jì)算機(jī)的名字或IP地址查詢服務(wù),一般安裝了NetBIOS協(xié)議后,該端口會(huì)自動(dòng)處于開(kāi)放狀態(tài)。
- 127.0.0.1表示本機(jī)IP。
- 遠(yuǎn)程線程創(chuàng)建記錄了目標(biāo)為explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的遠(yuǎn)程線程。
- explorer.exe是Windows程序管理器或者文件資源管理器
- svchost.exe是一個(gè)屬于微軟Windows操作系統(tǒng)的系統(tǒng)程序,是從動(dòng)態(tài)鏈接庫(kù) (DLL) 中運(yùn)行的服務(wù)的通用主機(jī)進(jìn)程名稱。
- winlogon.exe是Windows NT 用戶登陸程序,用于管理用戶登錄和退出。
- powershell.exe是專為系統(tǒng)管理員設(shè)計(jì)的新 Windows命令行外殼程序。該外殼程序包括交互式提示和腳本環(huán)境,兩者既可以獨(dú)立使用也可以組合使用。
- 下載sysmon的安裝包并解壓。
打開(kāi)命令提示符(管理員),并進(jìn)入該解壓后的目錄下,使用指令Sysmon.exe -i C:\20165114Sysmoncfig.xml安裝sysmon。
將會(huì)彈出如下窗口,點(diǎn)擊agree即可。
如果修改了配置文件,要運(yùn)行指令:sysmon.exe -c C:\20165114ysmoncfig.txt
右鍵我的電腦,點(diǎn)擊管理,點(diǎn)擊事件查看器->應(yīng)用程序和服務(wù)日志->/Microsoft/Windows/Sysmon/Operational,可以查看到日期時(shí)間,事件id,任務(wù)類別等信息。
- 點(diǎn)開(kāi)事件,可以看到詳細(xì)信息。
將實(shí)驗(yàn)二中生成的后門傳送到主機(jī)后,kali進(jìn)行監(jiān)聽(tīng),回連成功后,查找5114,仔細(xì)查看事件及其信息。
過(guò)程中我多次看到了conhost.exe,它是微軟為其Vista以及Win7、Windows 2008(服務(wù)器版)系統(tǒng)定義的系統(tǒng)文件,在系統(tǒng)中被稱為“控制臺(tái)窗口主機(jī)”。其功能主要是為命令行程序(cmd.exe)提供類似于Csrss.exe進(jìn)程的圖形子系統(tǒng)等功能支持,而之前在Windows XP系統(tǒng)中Conhost.exe的這一功能是由Csrss.exe進(jìn)程“兼職”提供的,但這被認(rèn)為存在不安全因素,于是微軟為了提高系統(tǒng)安全性在06年之后發(fā)布的Vista和Win7等系統(tǒng)中新加入Conhost.exe進(jìn)程。毫無(wú)疑問(wèn),這個(gè)進(jìn)程應(yīng)該是安全的,它由微軟簽署。
谷歌的程序:
同樣出現(xiàn)多次的dllhost.exe,是微軟Windows操作系統(tǒng)的一部分。dllhost.exe用于管理DLL應(yīng)用,在任務(wù)管理器中可以找到,這個(gè)程序?qū)κ俏④沇indows系統(tǒng)的正常運(yùn)行是非常重要的。
騰訊電腦管家的相關(guān)運(yùn)行程序。
看到我的后門程序出現(xiàn)了,對(duì)可疑的進(jìn)程可以仔細(xì)看看詳細(xì)信息,再查一查它干了些啥,就可能可以發(fā)現(xiàn)惡意軟件的蹤影。
返回目錄
3.3使用VirusTotal分析惡意代碼。
VirSCAN.org 是一個(gè)非盈利性的免費(fèi)為廣大網(wǎng)友服務(wù)的網(wǎng)站,它通過(guò)多種不同廠家提供的最新版本的病毒檢測(cè)引擎對(duì)您上傳的可疑文件進(jìn)行在線掃描,并可以立刻將檢測(cè)結(jié)果顯示出來(lái),從而提供給您可疑程度的建議。
將后門文件放入該網(wǎng)站檢測(cè),進(jìn)行分析。
查看該后門的基本屬性,包括它的MD5值、SHA-1值、文件類型等信息。
便攜式可執(zhí)行信息,包括比較重要的部分或段落的信息、從外部動(dòng)態(tài)鏈接庫(kù)導(dǎo)入的功能等。
ExifTool文件元數(shù)據(jù)
文件系統(tǒng)操作,包括文件打開(kāi)和閱讀的文件。
進(jìn)行了創(chuàng)建流程、同步機(jī)制、加載模塊等等操作。
使用PEiD檢測(cè)可疑對(duì)象是否加殼。
PEiD(PE Identifier)是一款著名的查殼工具,其功能強(qiáng)大,幾乎可以偵測(cè)出所有的殼,其數(shù)量已超過(guò)470 種PE 文檔 的加殼類型和簽名。
將PEiD安裝好之后是如圖界面,比較小巧。
先用一個(gè)沒(méi)有加過(guò)殼的后門試試,什么都沒(méi)找到。
測(cè)試一個(gè)upx加殼后的程序,果然查出來(lái)了,還可以查看擴(kuò)展信息。
擴(kuò)展信息的信息感覺(jué)也不是很豐富啊...
點(diǎn)擊多文件掃描,掃描一下含有多個(gè)后門程序的目錄,我們可以發(fā)現(xiàn),加過(guò)加密殼hyperion的后門并不能被查出來(lái),看來(lái)這個(gè)軟件并沒(méi)有hyperion的記錄信息。
這個(gè)軟件還能查看進(jìn)程。
點(diǎn)擊選項(xiàng),可以更改掃描模式等。
掃描模式
●正常掃描模式:可在PE文檔的入口點(diǎn)掃描所有記錄的簽名;
●深度掃描模式:可深入掃描所有記錄的簽名,這種模式要比上一種的掃描范圍更廣、更深入;
●核心掃描模式:可完整地掃描整個(gè)PE文檔,建議將此模式作為最后的選擇。
PEiD內(nèi)置有差錯(cuò)控制的技術(shù),所以一般能確保掃描結(jié)果的準(zhǔn)確性。前兩種掃描模式幾乎在瞬間就可得到結(jié)果,最后一種有點(diǎn)慢,原因顯而易見(jiàn)。
返回目錄
3.5 使用SysTracer分析惡意軟件.
SysTracer 這是一款可以分析你的計(jì)算機(jī)文件,文件夾和注冊(cè)表項(xiàng)目改變的系統(tǒng)實(shí)用工具.你可以在任何想要的時(shí)間獲取無(wú)數(shù)個(gè)屏幕快照.你可以比較任何一對(duì)想要的屏幕快照,并且觀察其間的不同之處.獲取屏幕快照通常會(huì)持續(xù)幾分鐘的時(shí)間,這取決于文件和文件夾的數(shù)量和注冊(cè)表項(xiàng)目的總數(shù).
我在自己的主機(jī)上拍攝快照,由于文件太多,耗時(shí)特別長(zhǎng),所以只拍攝了兩個(gè)快照,最好還是選擇在虛擬機(jī)中進(jìn)行,耗時(shí)較短。
(1)在連接后門前拍攝快照1.
(2)監(jiān)聽(tīng)、反彈回連后拍攝快照2.- 安裝軟件systracer,點(diǎn)擊iagree。
我選擇了中間這一項(xiàng),其實(shí)選擇別的項(xiàng)也行。
- 端口我設(shè)為5114.
會(huì)彈出一個(gè)安全警報(bào),點(diǎn)擊允許訪問(wèn)即可。
安裝完成就是這個(gè)界面啦,點(diǎn)擊右邊就是拍攝快照。
拍攝快照,我選了全部的項(xiàng)目文件等,這樣會(huì)導(dǎo)致拍攝時(shí)間較長(zhǎng)。
點(diǎn)擊Applications->running processes,我選擇了only difference只看差異,可以看到后門程序的進(jìn)程。
打開(kāi)的端口:
打開(kāi)的句柄:
但是還有好多東西都沒(méi)看到,一直提示說(shuō)未注冊(cè),這個(gè)問(wèn)題我也暫時(shí)沒(méi)能解決掉。
3.5使用Process Monitor 監(jiān)視進(jìn)程
Process Monitor一款系統(tǒng)進(jìn)程監(jiān)視軟件,總體來(lái)說(shuō),Process Monitor相當(dāng)于Filemon+Regmon,其中的Filemon專門用來(lái)監(jiān)視系統(tǒng)中的任何文件操作過(guò)程,而Regmon用來(lái)監(jiān)視注冊(cè)表的讀寫操作過(guò)程。 有了Process Monitor,使用者就可以對(duì)系統(tǒng)中的任何文件和注冊(cè)表操作同時(shí)進(jìn)行監(jiān)視和記錄,通過(guò)注冊(cè)表和文件讀寫的變化, 對(duì)于幫助診斷系統(tǒng)故障或是發(fā)現(xiàn)惡意軟件、病毒或木馬來(lái)說(shuō),非常有用。
打開(kāi)軟件,可以看到該軟件對(duì)各個(gè)進(jìn)程的詳細(xì)記錄與時(shí)間等等。
3.6使用Process Explorer 監(jiān)視進(jìn)程
由Sysinternals開(kāi)發(fā)的Windows系統(tǒng)和應(yīng)用程序監(jiān)視工具,目前已并入微軟旗下。不僅結(jié)合了Filemon(文件監(jiān)視器)和Regmon(注冊(cè)表監(jiān)視器)兩個(gè)工具的功能,還增加了多項(xiàng)重要的增強(qiáng)功能。包括穩(wěn)定性和性能改進(jìn)、強(qiáng)大的過(guò)濾選項(xiàng)、修正的進(jìn)程樹(shù)對(duì)話框(增加了進(jìn)程存活時(shí)間圖表)、可根據(jù)點(diǎn)擊位置變換的右擊菜單過(guò)濾條目、集成帶源代碼存儲(chǔ)的堆棧跟蹤對(duì)話框、更快的堆棧跟蹤、可在 64位 Windows上加載32位日志文件的能力、監(jiān)視映像(DLL和內(nèi)核模式驅(qū)動(dòng)程序)加載、系統(tǒng)引導(dǎo)時(shí)記錄所有操作等。
- 獨(dú)特之處
1.顯示被執(zhí)行的映像文件的完整路徑
2.顯示進(jìn)程安全令牌
3.加亮顯示進(jìn)程和線程列表中的變化
4.顯示作業(yè)中的進(jìn)程,以及作業(yè)的細(xì)節(jié)
5.顯示運(yùn)行。NET/WinFX應(yīng)用的進(jìn)程,以及與.NET相關(guān)的細(xì)節(jié)
6.顯示進(jìn)程和線程的啟動(dòng)時(shí)間
7.顯示內(nèi)存映射文件的完整列表
8.能夠掛起一個(gè)進(jìn)程
9.能夠殺死一個(gè)線程
后門程序運(yùn)行時(shí),可以看到這個(gè)進(jìn)程的執(zhí)行的記錄:
還可以手動(dòng)殺死這個(gè)進(jìn)程,殺死這個(gè)進(jìn)程后,kali攻擊機(jī)也會(huì)失去對(duì)主機(jī)的控制。
返回目錄
四、實(shí)驗(yàn)總結(jié)與體會(huì)
- 根據(jù)惡意代碼的原理而產(chǎn)生的分析工具多種多樣,殺軟只是其中的易于被大家接受的一種而已,殺軟的用戶體驗(yàn)比較好,只需一鍵就可以檢測(cè),但是通過(guò)實(shí)驗(yàn)我們也知道了,殺軟不是萬(wàn)能的,它檢測(cè)不出來(lái)很多惡意代碼。而仔細(xì)監(jiān)控系統(tǒng),總會(huì)發(fā)現(xiàn)惡意代碼的影蹤,但是感覺(jué)就是需要比較專業(yè)的知識(shí)和仔細(xì)耐心的學(xué)習(xí)分析。在大量而冗雜的數(shù)據(jù)中,找到惡意代碼的痕跡,確實(shí)比較麻煩。但是這種綜合分析能力也正是我們需要學(xué)習(xí)和成長(zhǎng)的方向吧。
- 這次實(shí)驗(yàn)我接觸到了很多不同的軟件,大多軟件通過(guò)日志、進(jìn)程、注冊(cè)表等來(lái)監(jiān)控。每個(gè)軟件都有自身的特點(diǎn)吧,我在實(shí)驗(yàn)過(guò)程中突然接觸這些陌生軟件,又需要進(jìn)行大量數(shù)據(jù)分析,通過(guò)查找大量資料進(jìn)行綜合分析才能順利完成。我的虛擬機(jī)和主機(jī)由于橋接模式無(wú)法Ping通,也更改了很多網(wǎng)絡(luò)設(shè)置、查找大量資料最終才解決,所以在實(shí)驗(yàn)中不要一葉障目,更不要機(jī)械地去使用各種軟件,去思考和分析才是解決問(wèn)題的比較好的途徑。
五、實(shí)驗(yàn)錯(cuò)誤與問(wèn)題及其解決
(1)在使用sysmon工具是遇到版本不匹配的問(wèn)題。只需要將版本修改即可。
(2)實(shí)驗(yàn)過(guò)程中遇到了拍攝快照耗時(shí)太長(zhǎng),最后顯示未注冊(cè)的問(wèn)題。最好用虛擬機(jī)作為靶機(jī),拍攝快照比較合適,這樣比較快。未注冊(cè)的問(wèn)題最后我也沒(méi)能解決,只能重新卸載后安裝。
(3)主機(jī)不可達(dá),導(dǎo)致了主機(jī)與虛擬機(jī)無(wú)法互相Ping通,最后導(dǎo)致了無(wú)法與后門連接。更改網(wǎng)絡(luò)設(shè)置或者關(guān)掉防火墻也都不太行。
轉(zhuǎn)載于:https://www.cnblogs.com/erinwhere/p/10662415.html
總結(jié)
以上是生活随笔為你收集整理的2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高级UI-高级渲染
- 下一篇: BZOJ 4720: [Noip2016