1.1是監控你本身系統的運行狀態,看有沒有可疑的程序在運行。linux
1.2是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具儘可能使用原生指令或sysinternals,systracer套件。git
1.3假定未來工做中你以爲本身的主機有問題,就能夠用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行爲與性質。chrome
使用 schtasks /create /TN netstat4311 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt" 命令建立計劃任務netstat4311,其中TN是TaskName的縮寫,sc表示計時方式,這裏指的是咱們每一分鐘執行一次任務名爲ntstat4311的任務。
shell
在C盤中建立一個netstatlog4311.bat
腳本文件,寫入如下內容windows
date /t >> c:\Users\admin\netstatlog4311.txt time /t >> c:\Users\admin\netstatlog4311.txt netstat -bn >> c:\Users\admin\netstatlog4311.txt
打開任務計劃程序,能夠看到新建立的這個任務。工具
雙擊這個任務,點擊操做並編輯,將「程序或腳本」改成咱們建立的netstatlog4311.bat
批處理文件,並清空參數。加密
執行此腳本必定時間,就能夠在netstat5318.txt文件中查看到本機在該時間段內的聯網記錄:spa
存儲的數據經過excel表進行整理,具體步驟以下。.net
由統計數據可知,使用最多的進程爲EXCEL.exe。firefox
首先進入微軟官網下載sysmon
因爲sysmon是微軟Sysinternals套件中的一個工具,使用sysmon工具前首先要配置文件。在安裝的目錄下建立「20164311.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>
遠程線程建立記錄了目標爲explorer.exe、svchost.exe、firefox.exe、winlogon.exe和powershell.exe 的遠程線程。
以管理員的身份打開命令指示符,輸入「sysmon64.exe -i 」安裝sysmon
輸入「sysmon64.exe -c 20164311.xml」配置sysmon
查看「事件查看器」,能夠看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等。
對本身的後門文件進行分析
找到運行後門文件相對應的日誌,打開這個事件,發現並無ip地址一類的,詢問了其餘同窗,也是有的有,有的沒有,這個問題也暫時無法解決。
靜態分析
文件掃描(VirusTotal、VirusScan工具等)
文件格式識別(peid、file、FileAnalyzer工具等)
字符串提取(Strings工具等)
反彙編(GDB、IDAPro、VC工具等)
反編譯(REC、DCC、JAD工具等)
邏輯結構分析(Ollydbg、IDAPro工具等)
加殼脫殼(UPX、VMUnPacker工具等
下載SysTracer工具,抓四種狀態的包:snapshot#1.不作任何操做;snapshot#2.傳輸後門到目標主機;snapshot#3.啓動後門程序;snapshot#4.使用dir和record_mic指令
關注三個問題:1.讀取、添加、刪除了哪些註冊表項?2.讀取、添加、刪除了哪些文件?3.鏈接了哪些外部IP,傳輸了什麼數據?
經過右下角的compare
鍵或者View Differences Lists
比對各快照,能夠選擇Only Difference
只查看不一樣的項。
對比快照一和快照二:增長了個人後門程序011_backdoor.exe
能夠看到不少增長,刪除,更新的鍵值和文件
對比快照二和快照三,能夠看到新增的後門進程,並且能夠詳細看到其的目的IP和端口號、源IP和端口號以及鏈接的協議:
並且該後門程序生成了不少文件、目錄和鍵值
此外的一些地方都是未受權的,沒法查看
因爲在kali端沒有進行相關操做,因此並無根鍵被修改。
對比快照三和快照四
對key_local_machine
根鍵中的內容進行了修改(HKEY_LOCAL_MACHINE保存了註冊表裏的全部與這臺計算機有關的配置信息)
註冊表有如下變化
新建了不少鏈接,其中有與後門程序相關的Apache HTTP Server
下載peid分析惡意軟件
查殺了未加殼的後門程序
查殺加了加密殼的後門程序...好像都沒什麼用
下載並打開process explorer,靶機運行後門程序進行回連時,咱們能夠在 Process Explorer工具中查看到其記錄,咱們能夠看到1011_backdoor.exe程序。
也能夠詳細查看該進程使用的CPU,虛擬內存空間、物理內存空間、I/O等。
把生成的惡意代碼放在VirusTotal進行分析(也可使用VirusScan工具),基本狀況以下:
查看這個惡意代碼的基本屬性:能夠看出它的SHA-一、MD5摘要值、文件類型、文件大小,以及TRiD文件類型識別結果。
下載並安裝process monitor,打開,發現其中羅列了正在運行的進程,雙擊後門進程能夠看到有關進程的詳細信息。
一、一開始找不到記錄進程及其相關的記事本,覺得若是追加的記事本不存在則建立一個,也就是和linux相似,但Windows和linux是由區別的,記事本須要本身建立的。
二、配置sysmon的時候好像不能使用3.10,改爲4.12或者4.20都可。
若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
答:使用windows自帶的schtasks指令,設置一個定時任務,將相關進程以及用到的相關協議信息追加到記事本中,並用excel整理;使用sysmon,編寫配置文件,記錄有關信息;使用Process Explorer工具,監視進程執行狀況;使用Process Monitor工具,監視文件系統、註冊表、進程/線程的活動。
若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
答:上傳到virscan.org上進行檢測;使用peid分析程序是否有殼;使用systracer工具分析惡意軟件,查看其對註冊表和文件的修改。
若是說殺毒軟件主要是基於特徵碼的殺毒,那麼我以爲此次實驗主要教會了我如何基於程序的行爲找到多是病毒的惡意軟件,惟一令我感到疑惑的是,這些基於行爲的軟件,有的不能自動刷新,有的須要一成天開機,有的只能對單個程序進行掃描,因此可實用性並非很強,因此我但願在接下來的實驗中,能更深刻到這些惡意程序的本質,以一種更加實用的方式監控個人電腦是否存在惡意軟件。