1.實踐目標html
1.1是監控你本身系統的運行狀態,看有沒有可疑的程序在運行。linux
1.2是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具儘可能使用原生指令或sysinternals,systracer套件。web
1.3假定未來工做中你以爲本身的主機有問題,就能夠用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行爲與性質。chrome
2.實踐內容(3.5分)shell
實際日誌的分析還須要發揮下本身的創造力,結合之前學過的知識如linux的文本處理指令等進行。分析的難點在於從大量數據中理出規律、找出問題。這都依賴對結果過濾、統計、分類等進一步處理,這就得你們會什麼用什麼了。windows
- 2.2惡意軟件分析(1.5分) - 分析該軟件在(1)啓動回連,(2)安裝到目標機(3)及其餘任意操做時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件 -(3)讀取、添加、刪除了哪些註冊表項 -(4)讀取、添加、刪除了哪些文件 -(5)鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)
TN
:任務名,我起爲schtasks5214sc
:計時方式,這裏用MINUTE表示以分鐘爲單位bn
:b是顯示可執行文件的名字,n是用數字表示IP和端口TR
:要運行的指令、>
:輸出重定向,也就是要將輸出放在哪一個文件,本次爲c:\netstatlog.txtschtasks /create /TN schtasks5214 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
。打開cmd,在cmd輸入這句指令並回車。二、打開C盤,新建schtasks5214.bat,輸入date /t >> c:\netstat5318.txt time /t >> c:\netstat5318.txt netstat -bn >> c:\netstat5318.txt
,保存並關閉。(因爲在C盤權限不夠不能直接建立,因此只能經過先在其餘地方輸入而後再複製到C盤目錄下。)瀏覽器
三、打開任務計劃,查看咱們在第一步建立的任務計劃。
網絡
四、雙擊打開,在操做
欄下點擊編輯
,將程序或腳本
選擇爲第二步中所新建的bat腳本
app
五、考慮到開始實驗的時間已經接近11點了,即將斷點,因而再在條件
欄下,將只有在計算機使用交流電源時才啓動此任務
這一項取消
工具
六、接着,在常規
欄下選擇使用最高權限運行
,點擊肯定保存。
七、而後就是等待。。(4小時過去了)。期間我嘗試了斷網,發現斷網不會形成影響,網一連上就又繼續獲取相關數據了。打開netstatlog.txt進行查看:
八、使用excel進行數據分析。打開WPS,導入netstatlog.txt:
九、使用B列的數據生成數據透視圖,統計以下:
使用最多的是火狐瀏覽器,其次是wps。看着這些數據,再回想昨天作實驗的時候我所使用的app,能對得上。
一、下載老師所給的資源SysinternalsSuite.zip,解壓。sysmon就在解壓好的文件夾中。
二、在使用sysmon以前,先在這篇文章中進行粗略的瀏覽,掌握大概的原理與方法。
三、查看sysmon的版本。右鍵Sysmon.exe,在屬性->詳細信息中進行查看
<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> <Image condition="end with">wps.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> <Image condition="end with">wps.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">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage> </CreateRemoteThread> </EventFiltering> </Sysmon>
針對經常使用的Firefox和wps我把他們放在iniclude裏。在上面的代碼中,第一行的sysmon版本號要跟使用的sysmon對上。ProcessCreate表示進程建立,NetworlConnect是網絡鏈接,CreateRemote是遠程線程建立,FileCreate Time是進程建立時間。在onmatch後面跟的參數include和exclude分別表示「免檢」和「必檢」名單。
五、打開cmd,進入到sysmon所在的文件夾中,輸入sysmon.exe -i sysmon5214.xml
六、打開事件查看器
,時間查看器(本地)->應用程序和服務日誌->Microsoft->Windows->Sysmon->Operational
,雙擊Operational,能夠查看按照sysmon5214.xml中的配置信息所記錄的一些信息。選擇其中任一條,能夠看見進程號、運行的軟件名等信息。
七、接下來使用實驗3中的惡意程序(更換了ip地址,從新生成)進行回連,進行日誌分析
八、打開事件查看器
,根據運行時間能夠很容易地找到剛剛運行的後門的相關信息。
九、回到kali,使用webcam_snap
進行拍照。回到事件查看器,能夠看到出現了兩條這樣的信息:
SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要做用是創建快速索引文件,讓用戶可以更好的搜索出電腦中的任意資料。它會在計算機空閒時自動掃描索引位置的文件名、屬性信息和給定類別的文件內容,這些索引位置默認包括桌面、收藏夾、開始菜單、系統目錄。
十、再使用getuid
指令,回到事件查看器,沒有發現什麼。
十一、是否是使用不一樣的指令,日誌是不一樣的呢?接下來嘗試一下簡單的dir
命令,進行查看,發現沒有出現什麼提示。這是怎麼回事呢?getuid和dir指令在network中都沒顯示。我沒有找到緣由。
(不過我卻是發現了wps一直在後臺默默在用着個人網絡。。。當我沒上網的時候,network類別幾乎都是wps.exe和wpscenter.exe,看來之後不用的時候仍是將他們完全退出吧)
分析該軟件在(1)啓動回連,(2)安裝到目標機(3)及其餘任意操做時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件(3)讀取、添加、刪除了哪些註冊表項(4)讀取、添加、刪除了哪些文件(5)鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)。在這一步中,因爲wps.exe關於network實在很煩人,我從新修改了sysmon的配置。
打開wireshark,選擇wlan模式。開始抓包後,本機啓動惡意程序回連kali虛擬機,回連成功後中止捕包,輸入篩選條件ip.addr == 172.30.4.217
進行查看
webcam_snap
和獲取uidgetuid
,而後中止捕包,進行查看使用時getuid
出現了4條記錄:
使用時webcam_snap
出現了不少條記錄,我以爲應該是圖片的空間比較大致使的:
view different list
,再點擊view
,能夠看到增長了不少不知道是什麼的文件和鍵值:運行的進程多了後門程序
植入了一些鍵值
能夠看到鏈接的目的ip以及端口號
選中記錄3和記錄4進行比較(這裏顯示systracer沒有註冊):
選中記錄4和記錄5進行比較:
不加殼
壓縮殼
加密殼(這裏不當心刪除掉了加密殼使用的軟件hyperion,參考了這個回答找回。。有驚無險)
壓縮殼後再加密殼
能夠看到,只有有加密殼居然都不能識別出來。。而咱們以前實驗的時候也是隻要涉及到加密殼就不能回連。這二者是否有關聯?
一、任務啓動失敗,在任務計劃界面一直顯示0x01,查詢了一下0x01在windows表示運行失敗。
解決方法:在同窗的幫助下,我發現是由於在步驟一的第4小步的操做界面我沒有去掉參數,致使了這一的狀況。把參數去掉就解決了問題。
二、啓動sysmon失敗,提示以下:
解決方法:讀提示信息後發現,運行Sysmon.exe須要管理員權限。因而使用管理身份打開cmd,從新輸入,解決了問題。
三、想要把systracer轉移到win7虛擬機中,插U盤沒法識別
解決方法:關閉虛擬機,在USB控制器
選項勾選所有,再打開虛擬機,插入U盤,解決問題
一、若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
答:可使用schtasks定時監聽,一段時間後統計數據;可使用Sysmon,經過編寫配置文件,監視相應的進程狀況;可使用Systracer進行快照比較。
二、若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
答:可使用VirusTotal進行檢查;可使用Systracer進行分析,查看其對註冊表、文件的修改;可使用wireshark進行捕包分析,查看它鏈接到了哪些ip、與外部進行了哪些通訊。
本次實驗難度不是很大,主要是一些相關軟件的應用以及對相關數據的分析。我以爲比較費時間的一點是,遇到一堆數據不知從何下手進行分析,不少系統的應用都不懂是幹嗎的,只能一個一個百度查,逐個排除嫌疑。不過這樣下來之後我對系統的一些進程有了更好的瞭解,不會把他們和其餘的進程混在一塊兒分不清了。 經過對惡意代碼的分析,也使得我對惡意代碼的行爲、特徵有了更好的瞭解。 不過在網上查找相關信息的時候,甚至還有能夠繞過度析的方法!使人驚訝。然而咱們如今連作徹底免殺都有點費力。看來學習的道路還很長。 感受本身每次實驗都要好久,由於總是喜歡進行各類各樣的嘗試。。問題是那些嘗試居然還都失敗了,浪費了大把的時間。。