返回目錄html
啓動回連
,安裝到目標機
及其餘任意操做
時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件——
返回目錄node
若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,因此想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。linux
- 利用Windows計劃任務netstat,按期查看並分析網絡鏈接狀況
- 可利用sysmon工具,配置好想要監控的端口、註冊表信息、網絡鏈接等信息,經過其生成的日誌文件進行查看
- 利用wireshark查看數據包,分析數據流
- 使用Process Explorer工具,監視進程執行狀況
若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。git
- 利用wireshark查看數據包,查找能夠數據鏈接
- 利用systracer進行快照的對比(註冊表、文件等)
返回目錄web
惡意代碼算法
- 是經過存儲介質和網絡進行傳播,從一臺計算機系統到另外一臺計算機系統,未經受權破壞計算機系統完整性的程序或代碼
- 最多見的惡意代碼有病毒、木馬、蠕蟲、後門、僵屍網絡、Rootkit等
- 惡意代碼都有如下共同特徵:
- 惡意的目的
- 自己是計算機程序
- 經過執行發生做用
- 具體可看惡意代碼
惡意代碼分析chrome
- 靜態分析(不運行程序)
- 使用反病毒軟件來確認程序樣本的惡意性(VirusTotal或者virscan,可調用多個反病毒引擎來進行掃描)
- 哈希值:惡意代碼的指紋(md5deep程序:計算出程序的哈希值)
- 經過檢索惡意代碼字符串得到相應的功能調用解釋等,查看是否有被加殼處理(字符串檢索:Strings 外殼檢測:PEiD)
- 可移植執行(PE)文件以一個文件頭開始,包含代碼信息、應用程序類型、所需的庫函數與空間要求。(使用PEview來分析PE文件。使用Resource Hacker工具來瀏覽.rsrc節(資源)。PEBrowse Professional和PE Explorer 也是分析PE文件的兩大工具)
- 動態分析(運行程序)
- 沙箱:提供容易理解的輸出結果,用來作初診斷很是有用(Norman沙箱、GFI沙箱等)
- DLL類型文件執行(PEview、PE Exporer)
- 用一些系統監視類軟件捕獲運行中惡意程序的系統調用(process monitor、process explorer)
返回目錄shell
使用schtasks /create /TN netstat5330 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat5330.txt"
命令建立計劃任務netstat5330
windows
其中,TN是TaskName的縮寫,這裏計劃任務名是netstat5330;sc表示計時方式,以分鐘計時填MINUTE;TR=Task Run,要運行的指令是
netstat -bn
,b表示顯示可執行文件名,n表示以數字來顯示IP和端口。api
在C盤要目錄下建一個文件c:\netstat5330.bat
(能夠先在桌面新建txt文本文件,使用記事本寫入後在修改後綴爲.bat,複製到C盤中),寫入內容以下:
date /t >> c:\netstat5330.txt time /t >> c:\netstat5330.txt netstat -bn >> c:\netstat5330.txt
計算機管理
-任務計劃程序
,能夠看到咱們新建立的任務:操做
-編輯
,將其中的程序或腳本
改成咱們建立的netstat5330.bat
批處理文件,參數可選項
爲空,點擊肯定。(注意看這裏:必定要勾選使用最高權限運行
,不然可能致使文件不能自主更新或者記錄裏出現權限問題)條件
中設置其餘屬性,在電源
這裏默認操做爲只有在計算機使用交流電源時才啓動此任務
,那麼使用電池電源時就會中止任務,因此若保持默認注意電腦保持開機聯網狀態!運行
,可在netstat5330.bat
目錄下看到一個txt文本文件,打開就可看到每隔一分鐘被輸到這裏的聯網數據。數據
-獲取外部數據
-自文本
,在數據類型
中選擇分隔符號
下一步
,標記全部分隔符號
,點擊完成插入
-數據透視圖
,並默認位置新表格
,點擊肯定
軸
和值
兩個區域中20165330_backdoor.exe
,經過查詢他的鏈接數據,發現他所連IP都顯示爲[::1]:8307
類,通過查詢::1
表明的是ipv6的本機地址,也就是ipv4的127.0.0.1
,在查找相關進程在VM有關進程發現vmware-authd.exe
(它是虛擬機的受權服務)所連外部IP就是個人kali的IP地址和後門設置的端口,這應該就是後門和個人主機進行通信的一個通道吧。。QQBrowser.exe
,這個是QQ瀏覽器對應的進程,沒什麼可疑的。SearchUI.exe
,這個原來是win10所帶的Cortana小娜的進程,查了它的兩個鏈接的外部IP,一個顯示是上海市騰訊雲,一個是在美國(這大概是微軟的吧。)360
、有道雲
還有office
及一些系統服務的,沒有可疑部分。Sysmon是微軟Sysinternals套件中的一個工具。能夠監控幾乎全部的重要操做,參考使用輕量級工具Sysmon監視你的系統開始咱們的使用。
① 基本操做
進程建立
、進程建立時間
、網絡鏈接
、遠程線程建立
進程建立ProcessCreate
我用到了Image
、SourceIp
、SourcePort
,進程建立時間FileCreateTime
我用到了Image
,網絡鏈接NetworkConnect
我用了Image
、SourceIp
、SourcePort
,遠程線程建立CreateRemoteThread
我用了TargetImage
、SourceImage
開始寫與本身想要監控的事件相對應的配置文件,命名爲20165330Sysmoncfig.txt
,內容以下:(配置文件是xml文件,爲了簡單編輯就直接命令爲.txt,每次用寫字本打開。)
<Sysmon schemaversion="3.10"> <!-- Capture all hashes --> <HashAlgorithms>*</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <ProcessCreate onmatch="exclude"> <Image condition="end with">QQBrowser.exe</Image> </ProcessCreate> <FileCreateTime onmatch="exclude" > <Image condition="end with">QQBrowser.exe</Image> </FileCreateTime> <NetworkConnect onmatch="exclude"> <Image condition="end with">QQBrowser.exe</Image> <SourcePort condition="is">137</SourcePort> <SourceIp condition="is">127.0.0.1</SourceIp> </NetworkConnect> <NetworkConnect onmatch="include"> <DestinationPort condition="is">80</DestinationPort> <DestinationPort condition="is">443</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="end with">powershell.exe</SourceImage> </CreateRemoteThread> </EventFiltering> </Sysmon>
exclude
至關於白名單,不用記錄。include
至關於黑名單Image condition
根據本身使用的瀏覽器更改,如谷歌瀏覽器是「chrome.exe」,IE瀏覽器是「iexplore.exe」,我用的是QQ瀏覽器則更改成「QQBrowser.exe」(可在上面的netstat5330.txt中找到進程名稱),寫在exclude中就是不記錄由QQ瀏覽器建立的進程。- 進程建立時間相似,也是不建立瀏覽器建立進程的時間。
- 網絡鏈接過濾掉了瀏覽器的網絡鏈接、源IP爲
127.0.0.1
的網絡鏈接和目的端口爲137的鏈接服務,且查看目的端口爲80(http)
和443(https)
的網絡鏈接。(137
端口的主要做用是在局域網中提供計算機的名字或IP地址查詢服務,通常安裝了NetBIOS協議後,該端口會自動處於開放狀態。127.0.0.1
表示本機IP。)- 遠程線程建立記錄了目標爲
explorer.exe
、svchost.exe
、winlogon.exe
和powershell.exe
的遠程線程。explorer.exe
是Windows程序管理器或者文件資源管理器svchost.exe
是一個屬於微軟Windows操做系統的系統程序,是從動態連接庫 (DLL) 中運行的服務的通用主機進程名稱。winlogon.exe
是Windows NT 用戶登錄程序,用於管理用戶登陸和退出。powershell.exe
是專爲系統管理員設計的新 Windows 命令行外殼程序。該外殼程序包括交互式提示和腳本環境,二者既能夠獨立使用也能夠組合使用。
② 啓動sysmon
Windows PowerShell(管理員)
進入管理員命令行,先cd
進入工具目錄,在安裝sysmon:.\Sysmon.exe -i C:\20165330Sysmoncfig.txt
(由於按老師的指令報錯我將指令改成如上才成功執行)Agree
,安裝成功以下圖.\Sysmon.exe -c C:\20165330Sysmoncfig.txt
來更新.\Sysmon.exe -i
命令啓動sysmon③ 使用sysmon
事件查看器
,在應用程序和服務日誌
-Microsoft
-Windows
-Sysmon
-Operational
能夠看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等等20165330_backdoor.exe
,按步驟執行到回連Sysmon
-Operational
刷新記錄,在12:36:34找到運行後門文件20165330_backdoor.exe
相對應的日誌以下360RealPro.exe
,這是360的實時保護進程名,後續還運行了其餘一些可執行文件,如360sctblist.exe、360sclog.exe。shell
獲取cmdC:\Windows\SysWOW64\cmd.exe
這樣一個進程,其顯示目錄在後門程序目錄下,很顯然與後門程序相關dir
獲取目錄下信息,發現了一個被運行的的進程svchost.exe
webcam_snap
獲取攝像頭,一樣也發現了Svchost.exe
這個進程。靜態分析
① 使用VirusTotal分析惡意軟件
② 使用PEiD進行外殼檢測
PEiD(PE Identifier)是一款著名的查殼工具,其功能強大,幾乎能夠偵測出全部的殼,其數量已超過470 種PE 文檔 的加殼類型和簽名
>>
查看詳細信息③ 使用PE explorer查看PE文件頭中包含代碼信息
PE Explorer是功能超強的可視化Delphi、C++、VB程序解析器,能快速對32位可執行程序進行反編譯,並修改其中資源
20165330_backdoor.exe
試圖
-數據目錄
查看程序靜態數據目錄試圖
-節頭
查看節頭信息工具
-反彙編器
進行反彙編導入
查看所引用的dll庫,分析得知msvcrt.dll
是微軟在windows操做系統中提供的C語言運行庫執行文件kernel32.dll
屬於內核級文件,它控制着系統的內存管理、數據的輸入輸出操做和中斷處理,是必需的advapi32.dll
是一個高級API應用程序接口服務庫的一部分,包含的函數與對象的安全性,註冊表的操控以及事件日誌有關,會受到病毒的侵擾及篡改,致使系統文件丟失、損壞wsock32.dll
是Windows Sockets應用程序接口,用於支持不少Internet和網絡應用程序,是一個對系統很關鍵或很可疑的文件,易遭受木馬病毒(如「犇牛」病毒)破壞致使系統找不到此文件,出現錯誤提示框。ws2_32.dll
是Windows Sockets應用程序接口。一些病毒會在殺毒軟件目錄中創建僞"ws2_32.dll"的文件或文件夾,在殺毒軟件看來這是程序運行須要的文件而調用,這個所謂的「文件」又不具有系統"ws2_32.dll"文件的功能,因此殺毒軟件等就沒法運行了而提示:應用程序正常初始化失敗。動態分析
① 使用SysTracer分析後門軟件的運行過程
SysTracer是一款能夠分析你的計算機文件,文件夾和註冊表項目改變的系統實用工具。你能夠在任何想要的時間獲取無數個屏幕快照,比較任何一對想要的屏幕快照,而且觀察其間的不一樣之處。獲取屏幕快照一般會持續幾分鐘的時間,這取決於文件和文件夾的數量和註冊表項目的總數。
next
設置端口爲5330
(後門生成時利用的端口),安裝完成後進入界面take snapshot
(建立快照),接着Start
Snapshot #1
Snapshot #2
ls
命令,此時建立第三個快照Snapshot #3
screenshot
命令抓屏,此時建立第四個快照Snapshot #4
compare
將快照之間進行比較,在Registry
可看到註冊表的變化(藍色部分爲有變化的)ctrl
鍵,選擇#1和#2進行比較:能夠發如今啓動回連時的變化
opened handles
(打開的句柄)來對比他們都作了什麼② 使用wireshark對流量進行抓包分析
5330.exe
進行回連,輸入過濾條件ip.addr == 192.168.30.129
,能夠看到Wireshark上捕獲到大量的TCP傳輸(因爲抓包時Kali一直處於鏈接win7的狀態,所以並無捕獲到TCP四次握手取消鏈接過程)③ 使用Process Monitor分析惡意軟件
Process Monitor一款系統進程監視軟件,整體來講,Process Monitor至關於Filemon+Regmon,其中的Filemon專門用來監視系統 中的任何文件操做過程,而Regmon用來監視註冊表的讀寫操做過程
過濾器
-過濾器
,選擇進程名稱
,輸入後門名稱5330.exe
,選擇包括
並添加,點擊應用肯定,就能夠看到監視條目ls
查看目錄,在Process Monitor中發現這個操做跳轉到
能夠跳轉到註冊表,發現指向了這個註冊表④ 使用Process Explorer分析惡意軟件
Process Explorer讓使用者能瞭解看不到的在後臺執行的處理程序,能顯示目前已經載入哪些模塊,分別是正在被哪些程序使用着,還可顯示這些程序所調用的 DLL進程,以及他們所打開的句柄。Process Explorer最大的特點就是能夠終止任何進程,甚至包括系統的關鍵進程!
Strings
一般可以顯示這個進程在運行的時候可能會使用到的一些字符串,好比網址、路徑名、註冊表信息等等蛛絲馬跡。若是是病毒或者惡意軟件經過包含着一個遠程的地址用來下載病毒或者將竊取的信息上傳。這裏一般還會包含其餘信息,對於不一樣的場合來講,總有一些是有用的。一般有些殺毒軟件也會從這裏提取病毒特徵碼的。wsock32.dll
和ws2_32.dll
,這兩個是會常常被木馬、病毒等進行侵略篡改的文件,能夠分析出咱們的後門程序對其作必定的修改來實現反彈鏈接控制被控機。在安裝sysmon時報錯,提示找不到命令Sysmon.exe,但它確實存在於當前位置
解決辦法:按照提示要求將命令改成
.\Sysmon.exe -i C:\20165330Sysmoncfig.txt
便可。
參開資料