20145217《网络对抗》 恶意代码分析
20145217《網(wǎng)絡(luò)對抗》 免殺原理與實(shí)踐
知識點(diǎn)學(xué)習(xí)總結(jié)
進(jìn)行惡意代碼分析之前必須具備以下知識:編程、匯編/反匯編、網(wǎng)絡(luò)基本知識、PE文件結(jié)構(gòu)以及一些常用行為分析軟件。
一、在一個已經(jīng)感染了惡意代碼的機(jī)器上如何找到病毒文件?
找到惡意代碼才能對其分析,找到惡意代碼文件就是就是分析的第一步,一般來講,惡意代碼運(yùn)行必然會創(chuàng)建一個進(jìn)程,而這個進(jìn)程就是我們找到他的突破口,一個打開的進(jìn)程,可以通過任務(wù)管理器、Process Explorer等來找到其映像文件的地址,這樣就能找到惡意代碼文件了
但是,現(xiàn)在的惡意代碼可能其自身的進(jìn)程隱藏,一般來講,隱藏進(jìn)程的方式就是“脫鏈”,在PEB中有三條鏈表,其中一條鏈表的指向進(jìn)程,該鏈表的每一個元素代表著每一個進(jìn)程,如果想對某進(jìn)程隱藏,那么進(jìn)行“脫鏈”即可。
二、如何通過靜態(tài)基礎(chǔ)分析獲取一些相關(guān)信息?
首先,我們用PEID查看一些基本信息,用PE explorer等軟件查看導(dǎo)入表,一個程序想對你的電腦進(jìn)行某些操作,那么它必然會調(diào)用系統(tǒng)API,而導(dǎo)入表可以告訴我們這個程序調(diào)用了哪些API,我們憑借這些導(dǎo)入函數(shù),可以大致猜測一下這個程序作了什么。
可以對我們提供有效信息的不是只有導(dǎo)入表,查看字符串也經(jīng)常會有一些意外收獲,這個時(shí)候我們可以使用微軟提供的控制臺工具Strings查看程序的字符串信息,通過查看字符串,可以獲取很多提示。
三、如何確定惡意代碼究竟干了些什么?
這個時(shí)候那就需要用到動態(tài)基礎(chǔ)分析了,別猶豫,上虛擬機(jī),跑起來看看吧,跑之前我們先要打開一些行為監(jiān)控軟件,常用的是微軟提供的Process Monitor、Process Explorer等這些軟件可以監(jiān)控到注冊表、文件、進(jìn)程、模塊、網(wǎng)絡(luò)、用戶等等等等信息。還可以使用systracer拍攝快照并對比。
很多后門和木馬程序還會采用反彈式連接的方式鏈接到別的主機(jī),這是可以采用nestat、wireshark等抓包工具進(jìn)行抓包,確定其網(wǎng)絡(luò)行為,發(fā)現(xiàn)攻擊的主機(jī),后期殺毒再做針對處理。
實(shí)驗(yàn)過程概述
一、virscan掃描結(jié)果分析
編譯器:visual C++5.0
兩大主要行為:網(wǎng)絡(luò)行為和注冊表行為,反彈連接一個IP并修改注冊列表。
二、peid掃描結(jié)果分析
- 結(jié)果顯然是沒有加殼。在這里我們又見到了編譯器信息。pied能夠顯示反匯編代碼以及一些地址信息,不過最重要的作用還是查殼脫殼,對文件信息的分析不如接下來的兩款PE軟件好用。
三、Dependency Walker掃描結(jié)果分析
- 這個軟件把程序的dll層級調(diào)用列出來了,他調(diào)用了什么dll,那些dll又調(diào)用了哪些文件。
- 通過分析可以得到該程序?qū)ψ粤斜碛懈膭拥膭幼鳌?/li>
四、PE explorer掃描結(jié)果分析
- 文件頭信息:可以看到文件編譯時(shí)間,連接器等信息。
- 表信息:這里主要查看第二個導(dǎo)入表,即調(diào)用了什么dll。
- 分節(jié)信息:缺點(diǎn)是顯示以ascll碼表示,看不出所以然來。
五、systracer分析惡意代碼回連前后情況
- 運(yùn)行程序:多了cad5217.exe這樣一個進(jìn)程。
- 載入的dll文件:cad5217調(diào)用了大量dll文件,很多在之前的引入表中也能看到。
- 開放端口:可以看到cad5217程序通過tcp連接一個192.168.150.132的443端口。
六、wireshark分析惡意代碼回連前后情況
- 我們知道443端口是https服務(wù)端口,通常采用ssl/tls安全通信協(xié)議。這里的大量ssl包和tcp包數(shù)據(jù)部分都是亂碼,是經(jīng)過加密處理的。
七、TCPview分析惡意代碼回連前后情況
- 易看出在回連后出現(xiàn)cad5217這個進(jìn)程,PID為3617,并且具有網(wǎng)絡(luò)行為是連接另一臺主機(jī)的https端口。
- TCPview不僅可以查看還可以結(jié)束這個進(jìn)程,還可以告訴你這個程序在你的機(jī)器上那個位置,為清除提供方便。
- 結(jié)束進(jìn)程后,linux這邊顯示程序die了。
八、Process monitor查看惡意代碼回連前后情況
- 可以看到回連后程序信息,成功運(yùn)行、日期時(shí)間
- 可以看到父進(jìn)程PID,查了一下是windows資源管理器
九、Process Explorer查看惡意代碼回連前后情況
- 可以看到回連后程序信息
- Process Explorer更像一個詳細(xì)版的任務(wù)管理器,把進(jìn)程的各種信息都直觀地展示出來。雙擊后可以查看各種屬性。
- 具有網(wǎng)絡(luò)連接行為:
- 改程序跟ntdll.dll直接相關(guān)。ntdll.dll描述了windows本地NTAPI的接口。是重要的Windows NT內(nèi)核級文件。
十、netstat查看惡意代碼回連前后情況
- 可以看到正在聯(lián)網(wǎng)到192.168.150.132:443,連接時(shí)建立的。這個小程序并不是太好用,雖然可以通過建立新任務(wù)的方式讓它在后臺不停地進(jìn)行記錄,但并不詳細(xì),當(dāng)有其他程序時(shí)顯然用其他程序更好。
- 還遇到權(quán)限不夠的問題
- 權(quán)限解決:勾選以最高權(quán)限運(yùn)行。
- 效果圖
十一、sysmon查看惡意代碼回連前后情況
- 安裝失敗了
轉(zhuǎn)載于:https://www.cnblogs.com/jokebright/p/6642187.html
總結(jié)
以上是生活随笔為你收集整理的20145217《网络对抗》 恶意代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库基础杂记
- 下一篇: 239元起!OPPO手环2发布:多功能N