惡意代碼
概述
- 惡意代碼是指故意編制或設置的、對網絡或系統會產生威脅或潛在威脅的計算機代碼。最多見的惡意代碼有計算機病毒(簡稱病毒)、特洛伊木馬(簡稱木馬)、計算機蠕蟲(簡稱蠕蟲)、後門、邏輯炸彈等。
- 特徵:
- 惡意的目的,獲取靶機權限、用戶隱私等
- 自己是計算機程序,能夠執行,並做用於靶機
- 經過執行發生做用,通常來講不運行是沒問題的
惡意代碼分析
- 在大多數狀況下,進行惡意代碼分析時,咱們將只有惡意代碼的可執行文件自己,而這些文件並非咱們人類可讀的。爲了瞭解這些文件的意義,你須要使用各類工具和技巧,而每種只能揭露出少許的信息。因此在實戰中,咱們要綜合使用各類工具,才能看到一個全貌。
- 惡意代碼分析有兩類基本方法:
- 靜態分析:在沒有運行惡意代碼時對其進行分析的技術
- 動態分析:相比較靜態分析而言,則須要運行惡意代碼,經過其產生的行爲,如對計算機中註冊表、文件的更改,網絡的鏈接等動態數據進行分析,從而肯定其具體行爲
惡意代碼分析
靜態分析
概述
- 靜態分析技術,能夠確認一個文件是不是惡意的,提供有關其功能的信息,能夠經過一些PE工具箱(PEview,dependency walker,Resource Hacker,PE explorer等)分析其函數連接庫、殼的狀況、特徵庫比對等操做,經過這些工具能夠快速分析代碼的性質,可是針對較爲複雜的惡意代碼時很大程度上是無效的;
- 這就須要更爲高級的應用技術了,最典型的方法就是逆向工程,經過將可執行文件裝載到反彙編器中,查看程序指令,觀察惡意代碼到底作了什麼。由於這些指令是被CPU執行的,因此經過反彙編能夠告訴咱們程序具體作了什麼,該方法雖然很是高效實用,可是須要綜合掌握C語言、彙編、代碼結構以及windows操做系統等知識,上手略微困難。
靜態分析之特徵庫比對
靜態分析之PE套件使用
PE explorer
- 經過PE打開20154320lc.exe
- 能夠看到該文件的編譯時間本信息
-
- 以下圖,咱們點擊「導入表」,能夠查看該文件依賴的dll庫
PEiD
系統運行監控
TCPView查看惡意代碼回連先後狀況
- 該工具能夠幫咱們實時分析正在聯網的進程,因此咱們能夠經過查看每一個進程的聯網通訊狀態,初步判斷其行爲,例如一個程序應該是單機運行的,若是有網絡行爲,就顯得很可疑了
-
能夠看到回連的程序安全
sysmon工具查看惡意代碼回連先後狀況
- 在
Sysmon.exe
同目錄下創建文件:shiyan4.txt
,寫好配置文件
- 管理員身份運行CMD,輸入指令:
Sysmon.exe -i test.xml
,進行安裝
-
-
安裝成功微信
- 輸入指令:
Sysmon.exe -c shiyan4.xml
,進行配置
-
如今能夠進入
Applications and Services Logs/Microsoft/Windows/Sysmon/Operational
網絡
查看日誌
-
-
建立網絡鏈接:
-
收到微信消息時tcp
- 建立進程:
-
-
打開sysmon建立的進程函數
-
建立文件
-
使用計劃任務schtasks
建立計劃任務20154320netstat
工具
netstat命令設置計劃任務
動態分析
概述
- 動態分析技術,是創建在運行代碼的基礎上的,經過觀察惡意代碼執行後系統上的行爲,例如對系統註冊表的分析、文件的分析、網絡的鏈接等行爲,進而判斷出該代碼具體功能,以移除感染。
- 但上述操做進行以前,必須得有一個前提——創建一個安全的環境,可以避免惡意代碼對系統帶來風險的前提下,研究運行的惡意代碼。因此通常能夠用虛擬機創建一個目標靶機,在對惡意代碼目的不明的狀況下,先對靶機進行快照備份,而後再運行惡意代碼監控其行爲,這樣的動態分析步驟纔會對系統有必定的保障。
- 再高級一點的就是對代碼的動態調試了,經過源代碼級與彙編代碼級的調試器,對惡意代碼進行一步一步調試,觀察其執行過程當中每一個時刻的內部狀態。
動態分析之SysTracer
- 這個實驗建議在虛擬機中完成,虛擬機中文件少、註冊表少,易分析
操做思路與步驟:
- 1.打開攻擊機msfconsle,開放監聽
- 2.win10下打開木馬
20154320lc.exe
,回連kali
- 3.kali中經過msf發送文件給win10靶機
- 4.kali中對win10靶機進行屏幕截圖
- 經過比較每次快照文件的區別,來判斷相應的變化
-
結果分析
- 啓動回連時註冊表發生變化
啓動回連時,新建了20154320lc
.exe
命令行
- 啓動回連時開放端口發生變化,以下圖所示,由於本地木馬
20154320lc.exe
會鏈接遠程端口443,因此先關閉了443端口,再開放了443端口
聯網狀況分析
在後門程序回連時,在主機的命令行中用netstat -n命令查看TCP鏈接的狀況,能夠發現其中有進行回連的後門程序:設計
- 用wireshark,進行捕包分析,查看詳細的協議分析發現,後門程序創建了三次握手並回連時進行了基於IP和端口的鏈接
-
-
基礎問題
1.若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
應當首先更新病毒庫,並對敏感懷疑位置進行病毒查殺,若是沒有找到,應該開啓相關病毒掃描引擎,對計算機進行動態掃描,監控主機鏈接狀況,統計結果後找出可疑的Ip地址和端口號,可對這些ip和端口進行有針對性的抓包,查看有無創建套接字等可疑的行爲、查看有無可疑的傳輸內容等,還能夠經過systracer等查看註冊表、進程等的變化。
2.若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
使用systracer,在打開進程先後分別takeshot,對比先後兩張快照課獲得進程有哪些行爲。
總結與思考
- 經過此次的實踐,基本瞭解了分析惡意代碼的基本操做,將靜態動態的分析方法綜合應用,基本上就能夠確認一個代碼的行爲了,根據以上方法,咱們不用過渡依賴於殺毒軟件給咱們的殺毒報告,能夠對有所懷疑的軟件進行自主分析,最後作出本身的決定是否對其查殺。