返回目錄html
schtasks /create /TN netstat5318 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
命令建立計劃任務netstat5318
TN
是TaskName的縮寫,咱們建立的計劃任務名是netstat5318;sc
表示計時方式,咱們以分鐘計時填MINUTE;TR
=Task Run,要運行的指令是 netstatbn
,b
表示顯示可執行文件名,n
表示以數字來顯示IP和端口;>
表示輸出重定向,將輸出存放在c:\netstatlog.txt
文件中netstat5318.bat
腳本文件,寫入如下內容date /t >> c:\netstat5318.txt time /t >> c:\netstat5318.txt netstat -bn >> c:\netstat5318.txt
打開任務計劃程序,能夠看到新建立的這個任務:
算法
雙擊這個任務,點擊操做並編輯,將「程序或腳本」改成咱們建立的netstat5318.bat
批處理文件,肯定便可。
chrome
還能夠自行更改該任務的其餘屬性,如在"條件"選項卡中能夠看到,電源選項中默認操做爲「只有在計算機使用交流電源時才啓動此任務」,那麼使用電池電源時就會中止任務。這點須要格外注意,若是沒有修改默認操做,任務不管如何都沒法執行可能只是由於拔掉了電源。,爲了咱們統計足夠多的數據,最好把這個取消掉
shell
執行此腳本必定時間,就能夠在netstat5318.txt文件中查看到本機在該時間段內的聯網記錄:
windows
當記錄的數據足夠豐富時,中止任務,將所得數據在excel中進行分析,此過程要一直保持開機聯網狀態才能持續監控瀏覽器
統計數據以下:
微信
統計圖以下:
網絡
由統計數據可知,聯網最多的是是火狐瀏覽器對應的程序「firefox.exe」,排名第二的是「vmware.exe」,它虛擬機的進程。這裏咱們還能夠找到微信、TIM、後門程序20165318_win7_騰訊電腦管家.exe這些連網的進程。函數
返回目錄工具
sysmon是微軟Sysinternals套件中的一個工具,使用sysmon工具前首先要配置文件。參考使用輕量級工具Sysmon監視你的系統該文章,建立配置文件sysmon20165318.xml
。
我比較感興趣的是進程建立ProcessCreate、進程建立時間FileCreatTime、網絡鏈接NetworkConnect、遠程線程建立CreateRemoteThread。
UtcTime, ProcessGuid, ProcessId, Image, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine
UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime
UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName
UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction
sysmon20165318.xml
內容以下:<Sysmon schemaversion="4.12"> <!-- Capture all hashes --> <HashAlgorithms>*</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <ProcessCreate onmatch="exclude"> <Image condition="end with">chrome.exe</Image> <Image condition="end with">firefox.exe</Image> </ProcessCreate> <ProcessCreate onmatch="include"> <ParentImage condition="end with">cmd.exe</ParentImage> </ProcessCreate> <FileCreateTime onmatch="exclude" > <Image condition="end with">chrome.exe</Image> <Image condition="end with">firefox.exe</Image> </FileCreateTime> <NetworkConnect onmatch="exclude"> <Image condition="end with">chrome.exe</Image> <Image condition="end with">firefox.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">firefox.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」,火狐瀏覽器是「firefox.exe」我用的是360瀏覽器和火狐瀏覽器寫在exclude中就是不記錄由360瀏覽器和火狐瀏覽器建立的進程。想知道本身瀏覽器進程名,能夠查看「netstat5318.txt」中的記錄。安裝sysmon:執行命令sysmon.exe -i C:\sysmon20165318.xml
,成功安裝結果以下:
查看「事件查看器」,選擇日誌的位置,應用程序和服務日誌/Microsoft/Windows/Sysmon/Operational
,在這裏,咱們能夠看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等。
這個配置文件記錄的第一個日誌就是打開C:\sysmon20165318.xml
配置文件
啓動回連到kali
找到運行後門文件相對應的日誌,打開這個事件,能夠看到其屬於「NetworkContect」。查看詳細信息
,能夠看到這個後門映像文件的具體位置、源IP和端口、目的IP和端口等
運行shell,getuid等命令以後,咱們都會找到一個以前沒有出現過的C:\Windows\SysWOW64\cmd.exe程序以下圖所示,SysWOW64能夠在64bit的Windows中運行32bit的程序,而Windows下的cmd.exe是64bit的,kali回連獲取的windows的cmd程序是32位的!
SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要做用是創建快速索引文件,讓用戶可以更好的搜索出電腦中的任意資料。它會在計算機空閒時自動掃描索引位置的文件名、屬性信息和給定類別的文件內容,這些索引位置默認包括桌面、收藏夾、開始菜單、系統目錄。
把生成的惡意代碼放在VirusTotal進行分析(也可使用VirusScan工具),基本狀況以下:
雖然有20個報毒,可是對比實驗三中生成的那些後門來講已經算是比較少的了。
查看這個惡意代碼的基本屬性:
能夠看出它的SHA-一、MD5摘要值、文件類型、文件大小,以及TRiD文件類型識別結果。(注:TRiD經過讀取文件頭,根據特徵碼進行文件類型匹配。)最神奇的是它能夠查出來文件的編碼方式,能夠看出我是用VC++進行編譯的!
還能夠看到加殼狀況:
以及該惡意代碼的算法庫支持狀況:
> PEiD(PE Identifier)是一款著名的查殼工具,其功能強大,幾乎能夠偵測出全部的殼,其數量已超過470種PE文檔的加殼類型和簽名。
先看一下沒有加殼的後門程序
再看一下加過壓縮殼的後門程序:
再看一下加過加密殼的後門程序:
咱們能夠看到,這個軟件雖然能夠查到壓縮殼,可是居然查不到加密殼!!!,說好的能夠偵測出全部的殼呢(* ̄︶ ̄)
PE Explorer是功能超強的可視化Delphi、C++、VB程序解析器,能快速對32位可執行程序進行反編譯,並修改其中資源。該軟件支持插件,你能夠經過增長插件增強該軟件的功能,原公司在該工具中捆綁了UPX的脫殼插件、掃描器和反彙編器,能夠查看程序頭部信息(默認界面)、程序靜態數據目錄、程序結頭信息、對程序反彙編等等,很是好用。
這裏主要看文件引用的dll庫,能夠經過視圖->引入
進行查看,以下圖所示:
Process Monitor 是一款由 Sysinternals 公司開發的包含強大的監視和過濾功能的高級 Windows 監視工具,可實時顯示文件系統、註冊表、進程/線程的活動。
打開軟件,能夠看到各個進程的詳細記錄,下圖是個人後門進程:(你們若是使用這個軟件,必定必定不要光靠肉眼去找,要善於利用查找,否則猶如大海撈針啊!!!)
進程的詳細信息以下:
咱們還能夠看到這個後門程序引用的各類其餘的庫
Process Explorer是由Sysinternals開發的Windows系統和應用程序監視工具,目前已併入微軟旗下。不只結合了Filemon(文件監視器)和Regmon(註冊表監視器)兩個工具的功能,還增長了多項重要的加強功能。包括穩定性和性能改進、強大的過濾選項、修正的進程樹對話框(增長了進程存活時間圖表)、可根據點擊位置變換的右擊菜單過濾條目、集成帶源代碼存儲的堆棧跟蹤對話框、更快的堆棧跟蹤、可在 64位 Windows 上加載 32位 日誌文件的能力、監視映像(DLL和內核模式驅動程序)加載、系統引導時記錄全部操做等。
靶機運行後門程序進行回連時,咱們能夠在 Process Explorer工具中查看到其記錄,咱們能夠看到這個程序運行時子程序中有conhost.exe
這個程序,一樣的程序咱們能夠在cmd.exe
的子程序中看到,由此咱們能夠知道該程序是在命令行中運行的。
也能夠詳細查看該進程使用的CPU,虛擬內存空間、物理內存空間、I/O等。
此實驗建議在兩臺虛擬機中進行,windows虛擬機文件少,進行快照時間短,且易於分析。
下載SysTracer工具
dir
指令,保存爲Snapshot #4record_mic
指令,保存爲Snapshot #5
經過右下角的compare
鍵或者View Differences Lists
比對各快照,能夠選擇Only Difference
只查看不一樣的項
對比快照一和快照二:增長了個人後門程序20165318_backdoor.exe
,
這裏能夠看到不少增長,刪除,更新的鍵值和文件
能夠看到新增的後門進程,並且能夠詳細看到其的目的IP和端口號、源IP和端口號以及鏈接的協議:
並且該後門程序生成了不少文件、目錄和鍵值
在c:\Windows\Prefetch
目錄下增長了相關的文件
此外,如上圖所示,一些Systracer未受權的地方咱們是無法查看的。
對HKEY_USER
和HKEY_CURRENT_USER
根鍵中的Software
子鍵進行了修改(HKEY_CURRENT_USER管理系統當前的用戶信息。在這個根鍵中保存了本地計算機中存放的當前登陸的用戶信息,包括用戶登陸用戶名和暫存的密碼。):
dir
指令
key_local_machine
根鍵中的內容進行了修改(HKEY_LOCAL_MACHINE保存了註冊表裏的全部與這臺計算機有關的配置信息)c:\Program Files\SysTracer\data
新增了snap003
record_mic
指令
Apache HTTP Server
record_mic
指令相關此外咱們能夠經過查看後門軟件的「opened handles」(打開的句柄)來對比他們都作了什麼
ip.addr == 10.1.1.128
,這裏我只想查看和虛擬機IP有關的數據包,因此把沒用的包過濾掉咱們能夠看到有大量的TCP包,這其中有回連相關的包,以後我有用dir指令查看了靶機的當前目錄,傳輸了不少數據過來:
傳輸的數據包括Windows向Kali發出TCP同步請求包SYN,Kali給Windows發出的SYN同步請求包和確認包ACK,Kali給Windows傳的ACK包、PSH+ACK包等等(PSH表示有DATA數據傳輸)
本次實驗在操做上沒有什麼難度,主要是下載安裝軟件並應用,重點在於如何利用這些軟件分析惡意代碼。在不斷實踐的過程當中,我掌握了不少種工具的用法,學會了如何讓計算機週期性執行一個任務,若是把命令行下的結果記錄到文件中、如何利用.bat文件顯示時間、如何利用excel分析數據、如何利用Sysmon監控本身感興趣的事件、如何寫配置文件、如何分析日誌中的大量信息、如何利用多種工具對惡意代碼進行進一步分析。
尤爲是在動態分析的時候,特別考驗咱們的信息處理能力,明顯看到有不少不一樣,可是分析是又不知道該從何下手,不太清楚每一項具體表明什麼含義,只能經過查閱資料,連蒙帶猜的進行分析。
經過本身動手實踐,實現了從攻擊者身份到檢測、分析者身份的轉變,更全面的理解了前兩次實驗中生成的後門程序到底在作什麼,對惡意代碼有了更深刻的理解。