1.1是監控你本身系統的運行狀態,看有沒有可疑的程序在運行。linux
1.2是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具儘可能使用原生指令或sysinternals,systracer套件。git
1.3假定未來工做中你以爲本身的主機有問題,就能夠用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行爲與性質。算法
2.1系統運行監控(2分)chrome
2.1.1 使用schtasks指令監控系統shell
2.1.2使用sysmon工具監控系統windows
2.2系統運行監控網絡
2.2.1 惡意軟件分析—— Virus Total網站ide
2.2.2 惡意軟件分析—— Process Monitot工具
2.2.3 惡意軟件分析—— Process Expiorer性能
2.2.4 惡意軟件分析—— systracer
2.2.5 惡意軟件分析—— FEiD
3.1 實驗總結
3.2 基本問題
2.1.1 使用schtasks指令監控系統
建立計劃任務,使系統每1分鐘自動檢測到有哪些程序在鏈接咱們的網絡。
使用 schtasks /create /TN netstat4322 /sc MINUTE /MO 1/TR "cmd /c netstat -bn > c:\netstatlog.txt "
命令建立計劃任務 netstat4322 ,以下圖所示:
在C盤中建立一個netstat4322.bat
腳本文件(可先建立txt文本文件,使用記事本寫入後經過修改文件名來修改文件格式)
在其中寫入如下內容:
date /t >> c:\netstat4322.txt time /t >> c:\netstat4322.txt netstat -bn >> c:\netstat4322.txt
打開任務計劃程序
,能夠看到咱們新建立的這個任務:
雙擊這個任務,點擊操做並編輯,將「程序或腳本」改成咱們建立的netstat4322.bat
批處理文件,另外,要刪除添加參數裏面的內容,而後肯定便可。
注意:任務還有其餘屬性,點擊「條件」選項卡,能夠更改相關的設置。好比默認操做爲「只有在計算機使用交流電源時才啓動此任務」,那麼使用電池電源時就會中止任務。這點須要格外注意,若是沒有修改默認操做,任務不管如何都沒法執行可能只是由於拔掉了電源。
執行此腳本必定時間,就能夠在netstate4322.txt文件中查看到本機在該時間段內的聯網記錄:
當記錄的數據足夠豐富時,中止任務,將所得數據在excel中進行分析:
將每一個應用的聯網狀況作成樹狀圖,更加清晰直觀:
首先咱們能夠看到TCP是最多的,其次是「wps.exe」和「kxes core.exe」。一個是wps軟件雲端的一個服務的進程,另外一個kxescore.exe是金山毒霸的密保用戶的進程。註冊了金山密保以後就會呈現的。
安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控本身主機的重點事可疑行爲。
選擇的是進程建立ProcessCreate、進程建立時間FileCreatTime、網絡鏈接NetworkConnect、遠程線程建立CreateRemoteThread。
寫與本身想要監控的事件相對應的配置文件。編寫好的Sysmon4322.xml.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">chrome.exe</Image> </ProcessCreate> <FileCreateTime onmatch="exclude" > <Image condition="end with">chrome.exe</Image> </FileCreateTime> <NetworkConnect onmatch="exclude"> <Image condition="end with">chrome.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>
下載sysmon,解壓。
安裝sysmon:以管理員身份執行命令
sysmon.exe -i C:\sysmon4322.sml.txt
會提示出錯,輸入命令 sysmon -accepteula -i -n ;
圖標「計算機」右鍵,點擊打開「管理」。點擊左側「系統工具」->「事件查看器」->應用程序和服務日誌/Microsoft/Windows/Sysmon/Operational
這裏我從新生成了一個後門程序hi.exe進行分析;
咱們能夠看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等等。
打開kali,運行木馬文件,使其回連kali攻擊機。查看日誌,經過搜索關鍵字能夠找到相關的後門文件:
打開這個事件,查看詳細信息
,能夠看到這個後門映像文件的具體位置、源IP和端口、目的IP和端口等。
2.2惡意軟件分析
2.2.1 惡意軟件分析—— Virus Total網站
在66個殺軟中,有49個報毒,可疑行至關高了。
查看這個惡意代碼的基本屬性:
能夠看出它的SHA-一、MD5摘要值、文件類型、文件大小,以及TRiD文件類型識別結果。(注:TRiD經過讀取文件頭,根據特徵碼進行文件類型匹配。
還有該惡意代碼的算法庫支持狀況:
2.2.2 惡意軟件分析—— Process Monitor
Process Monitor 是一款由 Sysinternals 公司開發的包含強大的監視和過濾功能的高級 Windows 監視工具,可實時顯示文件系統、註冊表、進程/線程的活動。
打開軟件,能夠看到各個進程的詳細記錄,下圖是個人後門進程:
(經過find來找到本身的後面)
2.2.3 惡意軟件分析—— Process Explorer
Process Explorer是由Sysinternals開發的Windows系統和應用程序監視工具,目前已併入微軟旗下。不只結合了Filemon(文件監視器)和Regmon(註冊表監視器)兩個工具的功能,還增長了多項重要的加強功能。包括穩定性和性能改進、強大的過濾選項、修正的進程樹對話框(增長了進程存活時間圖表)、可根據點擊位置變換的右擊菜單過濾條目、集成帶源代碼存儲的堆棧跟蹤對話框、更快的堆棧跟蹤、可在 64位 Windows 上加載 32位 日誌文件的能力、監視映像(DLL和內核模式驅動程序)加載、系統引導時記錄全部操做等。
靶機運行木馬,咱們能夠看到Process Explorer對其進行的記錄:
2.2.4 惡意軟件分析—— systracer
點擊右下角「Compare」,比較五個快照的不一樣之處。
比較快照4和快照5,能夠看到進程的運行位置、本機地址、靶機地址及端口號
比較快照2和快照3,增長了dll庫。
比較快照2和快照3,咱們還能夠看到新增的後門進程,並且能夠詳細看到其的目的IP和端口號、源IP和端口號以及鏈接的協議:
除上圖所示,還有一些Systracer未受權的地方咱們是無法查看的。以下圖:
2.2.5 惡意軟件分析—— PEiD
> PEiD(PE Identifier)是一款著名的查殼工具,其功能強大,幾乎能夠偵測出全部的殼,其數量已超過470種PE文檔的加殼類型和簽名。
先看一下沒有加殼的後門程序
如上圖所示:Nothing found
使用UPX加殼後,PEiD成功檢測出了加殼的相關信息:
3.1 實驗總結
本次實驗的內容十分豐富,可是我以爲有點難,惡意代碼的分析讓我很頭疼,好多東西不認識,只能看懂一些比較簡單的信息,本身的英語水平有待提升。。。。實驗中我學習到了新的指令和軟件,例如SysTracer、ProceMonitor等。這些工具都能很好地輔助咱們對主機進行監控,以發現惡意行爲並進行及時處理。發現網絡攻防是一門頗有趣的課程。
3.2 基本問題
問:若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
使用windows自帶的schtasks指令設置一個計劃任務,每隔必定的時間對主機的聯網記錄等進行記錄。
使用sysmon工具,經過修改配置文件,記錄相關的日誌文件。
使用Process Explorer工具,監視進程執行狀況。
問:若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
使用Wireshark進行抓包分析,監視其與主機進行的通訊過程。
使用systracer工具分析惡意軟件。