(1)監控本身系統的運行狀態,看有沒有可疑的程序在運行。web
(2)分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具儘可能使用原生指令或sysinternals,systracer套件。shell
(3)假定未來工做中你以爲本身的主機有問題,就能夠用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行爲與性質。windows
(1)使用如計劃任務,每隔一分鐘記錄本身的電腦有哪些程序在聯網,鏈接的外部IP是哪裏。運行一段時間並分析該文件,綜述一下分析結果。目標就是找出全部連網的程序,連了哪裏,大約幹了什麼,它這麼幹是否合適。瀏覽器
(2)安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控本身主機的重點事可疑行爲。安全
分析該軟件在啓動回連、安裝到目標機及其餘任意操做時,網絡
該後門軟件app
(1)讀取、添加、刪除了哪些註冊表項tcp
(2)讀取、添加、刪除了哪些文件ide
(3)鏈接了哪些外部IP,傳輸了什麼數據(抓包分析)工具
(1)新建 4320netstat.bat 文件,能夠先建立txt文本文件,再直接把後綴名修改成bat,文件中內容以下:
date /t >> c:\4320netstat.txt time /t >> c:\4320netstat.txt netstat -bn >> c:\4320netstat.txt
複製到C盤根目錄下:
(2)在命令行中輸入:schtasks /create /TN netstat4320 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat4320.txt" 建立windows計劃任務。
(3)打開任務計劃程序,編輯計劃任務。
設置程序或腳本項爲剛剛再C盤新建的文件,而且將該任務設置爲使用最高權限運行,不然可能會運行失敗。
接下來。就安靜等待大約一個小時.......
......
打開C盤中的netstat4320.txt文件能夠看到已經記錄了這段時間以來的全部程序的運行狀況:
把全部這些記錄導入Excel表格中:
在excel中我使用數據透視圖,對全部這段時間之內的全部進程運行的次數進行了統計:
能夠看到出現最多的是qq、qq瀏覽器、虛擬機、360、wireshark等,還有一些網絡鏈接進程以及個人後門程序,這些出現最多的都是正常的一些進程,並且都是我主動打開並運行的一些程序。
可是,也有其餘的一些程序雖然不是惡意的,但卻在後臺偷偷運行,在自啓動,好比:FLASH、搜狗雲、搜狗工具、TP安全遊戲中心、遊戲下載(電腦上有遊戲但沒打遊戲,安全中心和下載居然自動運行了)等。
雖然個人電腦上沒有惡意的一些程序做爲後門在運行,可是卻有自啓動程序在後臺在沒有個人受權下無謂地佔用CPU,實屬terrible!
進入官網下載SysinternalsSuite.zip並解壓。
在SysinternalsSuite所在目錄下建立sysmon20174320.xml,以文本文檔方式打開輸入代碼保存並退出。
以管理員身份運行cmd,在SysinternalsSuite目錄下執行Sysmon64.exe -i sysmon20174320.xml(電腦是64位的因此運行的程序是Sysmon64.exe),開始安裝sysmon工具:
安裝成功後,打開事件查看器—應用程序和服務日誌—Microsoft—Windows—Sysmon—Operational查看根據配置信息sysmon2014320.xml記錄的進程信息:
能夠查看MD五、SHA-一、文件類型、文件大小、加殼方式等相關信息。
同時也能看到後門程序的回連ip、端口、方式,利用的註冊表等等信息。
可見virustotal這個網站仍是至關可靠,雖然是不能動態地分析惡意軟件,不能深刻地對惡意軟件進行監控,可是卻能在報毒提醒用戶的同時給出惡意軟件的相關基本信息爲用戶做爲參考,這樣的基本信息基本上是完整客觀地描述清楚了這樣一個程序,從某種意義上來講是很是有用的。
使用wireshark監聽Vmware的接口,保持wireshark在監聽狀態。
打開Kali,找到以前實驗中我生成的後門程序backdoor_4320.exe文件,打開msf控制檯進行一下反彈回連:
回連成功後,在Wireshark過濾器中輸入篩選條件【ip.addr == 192.168.10.128】查看相關的協議包信息
主機IP:192.168.10.1,虛擬機IP:192.168.10.128
能夠看到主機和Kali虛擬機交換了不少TCP包,在互相傳送SYN、ACK信息,進行了屢次握手。
在回連成功後進行dir操做,繼續進行捕包:
能夠看見在握手的同時,主機向虛擬機發送了不少信息包。
在此我挑了其中一個包來查看,能夠看到有192字節的數據,可是內容是通過加密的,所以沒辦法知道具體的內容。
在進行上述的反彈回連和回連成功後的dir操做後,打開事件查看器,觀察一下sysmon工具的日誌記錄發生了怎樣的變化:
日誌名稱: Microsoft-Windows-Sysmon/Operational
來源: Microsoft-Windows-Sysmon
日期: 2020/4/13 18:13:55
事件 ID: 3
任務類別: Network connection detected (rule: NetworkConnect)
級別: 信息
關鍵字:
用戶: SYSTEM
計算機: DESKTOP-GTUACKS
描述:
Network connection detected:
RuleName:
UtcTime: 2020-04-13 10:13:54.201
ProcessGuid: {a4b640dd-3b61-5e94-0000-0010bd7e2f12}
ProcessId: 18704
Image: F:\網絡對抗20174320\ncat\backdoor.exe
User: DESKTOP-GTUACKS\淺歌韶華
Protocol: tcp
Initiated: true
SourceIsIpv6: false
SourceIp: 192.168.10.1
SourceHostname: DESKTOP-GTUACKS
SourcePort: 53971
SourcePortName:
DestinationIsIpv6: false
DestinationIp: 192.168.10.128
DestinationHostname:
DestinationPort: 4320
DestinationPortName:
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Sysmon" Guid="{5770385f-c22a-43e0-bf4c-06f5698ffbd9}" />
<EventID>3</EventID>
<Version>5</Version>
<Level>4</Level>
<Task>3</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime="2020-04-13T10:13:55.651639600Z" />
<EventRecordID>16597</EventRecordID>
<Correlation />
<Execution ProcessID="13552" ThreadID="14472" />
<Channel>Microsoft-Windows-Sysmon/Operational</Channel>
<Computer>DESKTOP-GTUACKS</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData>
<Data Name="RuleName">
</Data>
<Data Name="UtcTime">2020-04-13 10:13:54.201</Data>
<Data Name="ProcessGuid">{a4b640dd-3b61-5e94-0000-0010bd7e2f12}</Data>
<Data Name="ProcessId">18704</Data>
<Data Name="Image">F:\網絡對抗20174320\ncat\backdoor.exe</Data>
<Data Name="User">DESKTOP-GTUACKS\淺歌韶華</Data>
<Data Name="Protocol">tcp</Data>
<Data Name="Initiated">true</Data>
<Data Name="SourceIsIpv6">false</Data>
<Data Name="SourceIp">192.168.10.1</Data>
<Data Name="SourceHostname">DESKTOP-GTUACKS</Data>
<Data Name="SourcePort">53971</Data>
<Data Name="SourcePortName">
</Data>
<Data Name="DestinationIsIpv6">false</Data>
<Data Name="DestinationIp">192.168.10.128</Data>
<Data Name="DestinationHostname">
</Data>
<Data Name="DestinationPort">4320</Data>
<Data Name="DestinationPortName">
</Data>
</EventData>
</Event>
這是運行了回連的後門文件後sysmon更新的日誌,能夠清晰地看到攻擊者的IP地址、端口號,被監聽的主機IP地址、端口等關鍵信息。
在進行dir操做後,立馬新增了兩個日誌:
顯然主機受到了虛擬機的控制,在對虛擬機所發出了dir指令進行響應,即馬上啓動了SearchFilterHost.exe、SearchProtocolHost.exe。
SearchFilterHost.exe,SearchIndexer.exe和SearchProtocolHost.exe是Windows 的桌面搜索引擎的索引程序,它會在計算機空閒時自動掃描索引位置的文件名、屬性信息和給定類別的文件內容,這些索引位置默認包括桌面、收藏夾、開始菜單、系統目錄,以及在Windows 中添加到 Libraries 中的目錄。
爲了有趣我又嘗試了screenshot(截屏)和webcam_snap(拍照)命令來觀察是否有日誌的更新,然而出乎意料的是,並無......
不知道爲何,這樣攻擊性相對來講更強的命令居然沒有被sysmon監測到,甚至攝像頭都已經被調用了,它都沒能反應過來。
這工具不行啊.......
下載並安裝systracer。
配置好端口號4320和安裝路徑:
安裝好systracer之後,就能夠開始進行惡意軟件的分析了。
爲了實現多方位、多角度的分析,我對如下六個狀態的快照進行了對比:
Snapshop #1:(正常狀態)
Snapshop #2:
Snapshop #3:
Snapshop #4:
Snapshop #5:
Snapshop #6:
對比#1和#2,即正常狀態和啓動回連時的狀態:
能夠看到增長了大量的註冊表,也有很多註冊表在那個時段進行了刪改,可是也僅僅停留於此,由於註冊表的具體內容沒辦法獲悉,只是說這些註冊表因爲恰好發生在那個時間段,所以判斷多是啓動操做引發的變化。
可是在應用欄並無看到後門程序的蹤影,綜上,能夠大體判斷若是僅僅是啓動後門程序,在沒有安裝到主機以前,幾乎是不會對主機形成任何影響的。
對比#1和#3,即正常狀態和運行後門程序併成功回連的狀態:
能夠看到後門程序對應的註冊表是發生了變化的,雖然看不懂其中註冊值的含義,可是能夠清楚看到註冊表的修改。
而且新增了大量的後門程序所對應的註冊表,不一樣於以前#1和#2所對比的結果,這一次就很明顯的能看到相關注冊表的增改。
另外,甚至這個回連的過程都看得清清楚楚,包括端口號、目的IP、源IP等等,能夠很明晰地證實了回連成功,主機已經受到了虛擬機的監聽。
對比#3和#4,即進行截新建文件操做先後:
能夠清楚的看到F盤指定位置文件是多了一個剛剛新建的4320.txt。
而且在文件新增的同時,關於後門程序的註冊表也有進行響應的增長、改動。
對比#3和#5,即進行截屏操做先後:
這兩次的快照雖然是有註冊表的變更,可是與後門程序相關的註冊表倒是沒有任何變化,沒有增長也沒有改動,所以能夠得出結論,在進行截圖操做先後,程序註冊表不會發生改變。
可是,從理論上來講,在文件方面,應該是能夠看到新增的那張截圖保存下來,然而不知道是由於虛擬機內存在主機上的存儲位置有問題仍是說文件太多被我漏掉,我並未有看到新增的那張jpeg格式的截圖文件。
對比#3和#6,即普通後門回連狀態和開啓攝像頭錄像狀態:
經過網上查找資料我學習到與攝像頭有關的註冊表主要就是圖中的HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> ksthunk裏的,而偏偏當我執行攝像命令的同時,ksthunk裏的註冊表確實發生了變化。不只有增長,也有相應的修改。
同時除了主機自己的硬件註冊表之外,關於後門程序相關的註冊表也有大量的新增。我我的猜想應該是執行攝像操做而新增的一些指令,固然,因爲在Kali裏的攝像視頻須要經過網頁來實時預覽,因此部分的註冊表應該是關於這個記錄了這些註冊信息。
經過深刻學習,我又去查找了註冊表相關的一些資料,學習了大多數這些常見的項分別有什麼用:
①HKEY_CLASSES_ROOT:
這個項包含全部的文件類型,文件關係,圖標文件名,com對象等信息(也就是說哪種文件要被哪種應用程序打開都會記錄在這個項裏面)
②HKEY_USERS:
全部WINDOWS用戶的文件都會記錄在這個項裏面,每一個用戶會有本身的項以保存我的設置
③HKEY_CURRENT_USER:
這個項保存了目前登錄的用戶文件,以及個性化的設置,如 桌面外觀,軟件設置,開始菜單等.會隨着登錄的用戶不一樣而有所改變.這個項實際上是HKEY_USERS的子項,當用戶登錄系統後即由HKEY_USERS將用戶的登錄設置值複製一份而成爲HKEY_CURRENT_USER的項
④HKEY_LOCAL_MACHINE:
這個項保存了絕大部分的系統信息,包括硬件配置,網絡設置,以及你所安裝的軟件等,是註冊表裏最重要也最龐大的項,當你用設備管理器更改了硬件的設置時,這個項裏的文件也會跟着變更,因爲HKEY_LOCAL_MACHINE是常接觸的項,所以再說說下面的5個子項 :
⑥HKEY_CURRENT_CONFIG :
此項主要記錄PNP設備及硬件的設置值(這與HKEY_LOCAL_MACHINE的部份內容重疊,這是因爲XP支持"多硬件設置文件")
瞭解過這些後就會發如今利用後門進行操做時(程序的運行,文件的新建,執行一些msf的指令,I/O設備的調用等等)註冊表會進行改動也就是天然的了。
(1)若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
(2)若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
(1)自定義的計劃任務不執行。
起初,我是直接在C盤新建txt文件後,想修改裏面的內容,可是由於我電腦權限的緣由是不讓我保存修改的txt文件內容的。沒辦法,只能是在D盤建好後再拷過來,可是拷過來之後我再把txt修改成bat後綴就怎麼也沒辦法讓計算機運行我這個任務。嘗試了好久發現,必須是先在別的位置修改了後綴名以後再拷過來,存在C盤裏的必須是一步到位的bat文件,這樣的修改順序是不能顛倒的。這應該是我電腦權限的問題,我一直髮現我電腦對於權限要求很嚴格,不少操做都必須是管理員身份來進行。
(2)sysmon快照後的數據分析艱難。
這應該是你們都會遇到的問題,進行完快照之後,因爲在兩次時間點中間並非只有後門程序發生了改變,不少電腦上的其餘程序、其餘軟件也在每分每秒地發生變化,致使最後比較不一樣的時候會有成千上萬的註冊表發生變化、會有成千上萬的文件發生變化。所以,想要在這麼多的信息中找到咱們想要的,對咱們分析有幫助的信息實在是很是困難。這時,就是考驗咱們對註冊表,對文件的熟悉程度了,最好是要先去了解清楚註冊表的相關知識再來進行分析,這樣才能事半功倍。
此次實踐讓咱們學習了更多種方法來發現惡意軟件存在的可能,不只僅是像原來同樣經過網站掃描這樣一些靜態方法去檢測,一樣也能夠藉助一些動態的工具,在惡意代碼執行的狀況下,利用調試工具對惡意代碼實施跟蹤和觀察,經過分析系統狀態,分析通訊包的信息,對惡意程序進行識別監控等防範措施。在實踐中不光學習到了老師教的方法,也自學了其餘的不少分析方法,這麼多的方法無論是分開仍是綜合使用都有意想不到的效果。這樣一次較爲綜合性的實驗,包括了不少內容,但其實也讓人發現,惡意軟件的存在,若是是真的有意識去發現與檢測的話,不依靠殺軟,咱們本身也能經過這些蹤影發現其存在,咱們在平時更是不能掉以輕心,時常監控本身的電腦養成好習慣,畢竟通過上一次實踐就讓咱們認識到了並非全部的惡意代碼都會被殺毒軟件拒之門外。