schtasks
指令設置一個計劃任務,指定每隔必定時間記錄主機的聯網記錄或者是端口開放、註冊表信息等等;sysmon
工具,配置好想記錄事件的文件,以後在事件查看器裏找到相關日誌文件即可以查看;Process Explorer
工具,監視進程執行狀況,查看是否有程序調用了異常的dll庫之類的。Wireshark
進行抓包分析,查看該程序聯網時進行了哪些操做;systracer
工具分析某個程序執行先後,計算機註冊表、文件、端口的一些變化狀況。netstatlog.bat
文件,用來將記錄的聯網結果格式化輸出到netstatlog.txt
文件中,netstatlog.bat
內容爲:date /t >> c:\netstatlog.txt time /t >> c:\netstatlog.txt netstat -bn >> c:\netstatlog.txt
打開Windows下命令提示符,輸入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"
指令建立一個每隔兩分鐘記錄計算機聯網狀況的任務:
html
以後查看一下netstatlog.txt
文件,大部分都是正常聯網的應用,一開始不知道LMS.exe
是用來幹嗎的,後面百度了一下,是英特爾本地管理服務的一個進程:
chrome
隔了一天以後,再次查看了這一天當中記錄的主機聯網日誌,沒有發現什麼異常,除了當時打開後門軟件回連時reverse.exe
程序的聯網記錄:
shell
sysmon
微軟Sysinternals套件中的一個工具,能夠從碼雲項目的附件裏進行下載,要使用sysmon
工具先要配置文件,一開始我直接用的是老師給的配置文件:<Sysmon schemaversion="3.10"> <!-- 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> </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>
配置好文件以後,要先使用Sysmon.exe -i C:\Sysmoncfg.txt
指令對sysmon
進行安裝:
windows
啓動以後,即可以到事件查看器裏查看相應的日誌:
api
我查看了其中一部分事件的詳細信息,好比這個事件是以前作計劃任務時所建立的:
瀏覽器
例以下面的事件是搜狗瀏覽器對文件的建立時間進行了更改,應該也就是更新:
安全
還有以前reverse.exe
程序運行時所建立的事件:
網絡
Sysmoncfg.txt
配置文件進行了修改,重點是監視80和443端口的聯網狀況,沒有發現什麼異常狀況,關於配置文件的編寫能夠參考使用輕量級工具Sysmon監視你的系統:<Sysmon schemaversion="3.10"> <!-- 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">SogouExplorer.exe</Image> </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>
在virscan網站上查看上次實驗所作的後門軟件的文件行爲分析:
函數
能夠看到其啓動回連主機的部分IP地址以及端口號,還有對註冊表鍵值進行了刪除:
工具
還有反調試和建立事件對象的行爲:
使用systracer
工具創建了5個快照,分別是在主機中沒有惡意軟件時、將惡意軟件植入到目標主機中後、惡意軟件啓動回連時、惡意軟件執行dir
命令進行查看時以及使用惡意軟件獲取目標主機的攝像頭時:
將惡意軟件植入到目標主機後,能夠經過快照發現文件中多了一個reverse.exe
文件,惡意軟件啓動回連時,能夠查看到其所創建的TCP鏈接以及其打開的句柄:
執行dir
命令時,惡意軟件較於以前的操做好像並無作太多更改,可是在獲取主機攝像頭時,能夠發現,它對註冊表信息進行了修改,而且也新增了不少個句柄:
在惡意軟件進行回連操做時,在Windows主機上用netstat
命令能夠查看TCP鏈接的狀況,其中就有後門程序reverse.exe
所創建的TCP鏈接:
使用wireshark進行抓包後能夠看到,其先進行了TCP的三次握手,以後再進行數據的傳輸,如圖所示,帶有PSH,ACK
的包傳送的即是執行相關操做指令時所傳輸的數據包:
Process Monitor
對惡意軟件進行分析時能夠看到不少Explorer.exe
進程,應該是惡意軟件對其進程進行的假裝:使用Process Explorer
對惡意軟件進行分析時能夠看到啓動回連時在運行的後門程序:
點開查看其詳情會發現遠程主機的IP地址和端口號:
以及其調用的advapi32.dll
庫,該庫中所包含的函數與對象的安全性,註冊表的操控以及事件日誌有關:
PEiD
軟件能夠查看惡意軟件的殼的相關信息,以及其所使用的編譯器版本: