f3arra1n3.4.1版本_Sysmon v11.1新版本功能测试报告
v10.4:對Sysmon(安全事件監(jiān)視服務)的主要更新,為規(guī)則組添加了嵌套規(guī)則支持,并添加“contains any”和“contains all”規(guī)則條件,以進行更靈活的過濾以及修復了幾個錯誤。
v10.41:修復10.4的語法配置問題。
v10.42:解決了Sysmon的大量內存泄露問題,引入“Excludes Any”和“Excludes all”過濾條件,修復一些錯誤。
v11.0:添加了刪除文件監(jiān)控事件和文件備份功能,幫助威脅檢測人員捕獲攻擊者的工具,減少反向DNS查找噪音,將空字段替換為“-”以解決WEF錯誤,并修復了導致某些ProcessAccess事件發(fā)生的問題。
v11.1:創(chuàng)建文件流哈希事件新增了Contents屬性,可以將捕獲到的小于1000字節(jié)的可替換數(shù)據(jù)流內容也記錄到日志中,這對于調查帶有“網絡標記”(MOTW)流的下載非常有用,引入了“is-any”過濾條件,并修復了幾個錯誤。
對升級功能進行整理后發(fā)現(xiàn),較重要的更新包括三個方面:一是新增刪除文件監(jiān)控事件、二是新增過濾條件、三是新增Contents屬性。
二、幫助信息及文件架構描述2.1 查看幫助信息
使用“sysmon64 -? config”命令查看幫助信息,能找到下面的介紹,看到在事件過濾器中增加了ID為23的File Delete事件:
圖:監(jiān)控的事件范圍
同時在幫助文檔中包含了一個配置項的說明,列出了可能在規(guī)則中使用的一些二級標簽,但是經過測試發(fā)現(xiàn)并不是所有的配置項都能使用。幫助信息中給出的配置項如下:
圖:config 幫助信息中列出的配置條目
實際經過測試發(fā)現(xiàn),可以在配置文件中使用的配置項包括5項,具體在第四部分內容中介紹。2.2 查看文件架構描述
對比v10.0和v11.1的文件架構信息,發(fā)現(xiàn)有7處不同:文件架構版本升級到4.32
命令行開關增加“DnsLookup”和“a”兩個開關參數(shù),分別用于禁用反向DnsLookup查詢和設置文件的存檔目錄
增加5個規(guī)則過濾條件
去掉了文件創(chuàng)建時間更改事件的默認開啟狀態(tài),版本從4升級為5
去掉了驅動加載事件的默認開啟狀態(tài),版本從3升級為4
ID為15的創(chuàng)建文件流哈希事件增加Contents屬性
增加一類FileDelete事件
三、刪除文件監(jiān)控事件從文件架構中看到,FileDelete事件ID為23,共有7個屬性:
UtcTime(UTC 時間)以通用協(xié)調時(UTC)形式記錄的刪除文件的日期和時間,格式為:yyyy-MM-dd HH:mm:ss.000。
ProcessGuid(進程GUID)Sysmon創(chuàng)建的一種GUID值,具備全局唯一性,可用于區(qū)分刪除文件的進程實例。
ProcessId(進程ID)刪除文件的進程PID。
User(用戶名)運行該進程的用戶賬戶,將顯示為DOMAIN\USER的格式。
Image(查詢狀態(tài))執(zhí)行刪除文件操作進程的主可執(zhí)行映像文件的完整路徑。
TargetFilename(目標文件名)被刪除文件的全路徑。
Hashes(哈希)被刪除文件的哈希值。
IsExecutable(是否為可執(zhí)行文件)布爾值,被刪除的文件是否為可執(zhí)行文件。
Archived(存檔)布爾值,被刪除的文件是否備份到相應目錄中。
圖:使用IsExecutable屬性搜索日志
但是測試發(fā)現(xiàn),使用系統(tǒng)自帶的文件資源管理器、cmd.exe或者Total commander刪除文件時,均不能產生相應的日志。說明該版本Sysmon還存在一些問題。
圖:CMD中刪除文件
| 標簽名 | 值類型 | 功能 |
| ArchiveDirectory | 字符串 | 卷根目錄下的目錄名,刪除時復制的文件將移動到其中。該目錄由系統(tǒng)ACL保護。(您可以使用Sysinternals中的PsExec來使用' PsExec -sid cmd'訪問該目錄)。 默認:Sysmon目錄 |
| CheckRevocation | 布爾值 | 控制簽名撤銷檢查。 默認:真 |
| CopyOnDeletePE | 布爾值 | 保留已刪除的可執(zhí)行映像文件。 默認:假 |
| CopyOnDeleteSIDs | 字符串 | 將保留刪除文件的帳戶sid的逗號分隔列表。 |
| CopyOnDeleteExtensions | 字符串 | 在刪除時保存的文件擴展名。 |
| CopyOnDeleteProcesses | 字符串 | 將保留刪除的文件的進程名稱。 |
| DnsLookup | 布爾值 | 控制是否禁用反向DNS查找。 默認:真 |
| DriverName | 字符串 | 為驅動程序映像和服務映像使用指定的名稱。 |
| HashAlgorithms | 字符串 | 計算哈希的算法。支持MD5、SHA1、SHA256、IMPHASH和* (all)。 默認:空 |
4.2 條目測試
ArchiveDirectory
DnsLookup
DriverName
HashAlgorithms
| 幫助信息給出的條目 | 錯誤提示中給出的條目 | 用于命令行 | 用于配置文件 | 作用 |
| ArchiveDirectory | ArchiveDirectory | 是 | 指定文件備份目錄 | |
| CheckRevocation | CheckRevocation | 未知 | ||
| CopyOnDeletePE | 是 | 開啟/關閉文件備份 | ||
| CopyOnDeleteSIDs | 是 | 未知 | ||
| CopyOnDeleteExtensions | 是 | 未知 | ||
| CopyOnDeleteProcesses | 是 | 未知 | ||
| DnsLookup | DnsLookup | 是 | 開啟/關閉DNS反向查詢 | |
| DriverName | DriverName | 是 | 驅動名稱標簽 | |
| HashAlgorithms | HashAlgorithms | 是 | 哈希算法標簽 | |
| EventFiltering | 是 | 事件過濾器標簽 | ||
| PipeMonitoringConfig | 是 | 未知 | ||
| ProcessAccessConfig | 是 | 未知 |
ArchiveDirectory標簽的作用是指定Sysmon監(jiān)控到刪除文件事件后,將被刪除的文件備份到的目錄。該目錄必須位于分區(qū)的根目錄下,不允許使用多層子目錄。安裝后默認的備份文件夾名稱為“Sysmon”,同時會在每個分區(qū)根目錄下生成一個“Sysmon”文件夾。可以使用ArchiveDirectory指定一個其它名稱的文件夾,例如testmon,避免惡意程序檢測到運行環(huán)境中安裝的Sysmon。配置規(guī)則如下:
<Sysmon schemaversion="4.32"> <HashAlgorithms>MD5HashAlgorithms> <ArchiveDirectory>testmonArchiveDirectory> <EventFiltering> <FileDelete onmatch="exclude">FileDelete> EventFiltering>Sysmon>圖:備份文件夾該目錄默認需要使用system權限訪問,在資源管理器中無法打開。圖:拒絕訪問要訪問該文件夾需要以管理員權限調用psexec來訪問,命令如下:圖:psexec命令執(zhí)行后彈出高權限的命令行窗口,切換到相應目錄下即可訪問備份文件夾中的內容。圖:CMD訪問備份文件夾的方式該目錄下的所有文件都是以哈希值為文件名進行保存的,并非刪除前的原始文件名。要想復制某個文件到其它目錄下,可以使用“COPY”命令圖:備份文件夾中的文件
4.2.2 CopyOnDeletePE命令行開關CopyOnDeletePE的作用是開啟或關閉文件備份的功能,默認情況下在配置文件中啟用FileDelete事件后,自動將刪除的文件備份至指定的目錄下,如果在命令行中傳遞CopyOnDeletePE參數(shù),那么Sysmon會只記錄日志,不再對文件執(zhí)行備份操作。圖:命令行傳遞CopyOnDeletePE參數(shù)圖:開啟刪除文件監(jiān)控的配置規(guī)則圖:刪除文件監(jiān)控生成的日志進入備份文件目錄,并未保存任何文件,說明CopyOnDeletePE就是用來設置開啟和關閉文件備份的命令行開關。圖:文件備份目錄
同時測試發(fā)現(xiàn),通過CopyOnDeletePE關閉備份文件的操作后,無法再次恢復備份功能,只能通過重新安裝Sysmon來啟用文件備份的功能。4.2.3 測試三個CopyOnDelete***配置條目通過測試發(fā)現(xiàn)CopyOnDeleteSIDs、CopyOnDeleteExtensions和CopyOnDeleteProcesses都可在命令行中使用,但并沒有達到預期效果,暫不清楚其功能。
圖:命令行開啟CopyOnDeleteSIDs
根據(jù)幫助信息的內容,CopyOnDeleteExtensions的作用是“在刪除時保存的文件擴展名”,可使用的值為字符串,推測可能是監(jiān)控指定后綴名的文件刪除事件,因此以“exe,doc,docx”進行測試,配置成功。
圖:配置指定后綴名
實際測試發(fā)現(xiàn)還是會保存其它后綴名的文件,并不會只備份exe、doc和docx這三種后綴名的文件。
圖:備份文件夾中的文件
根據(jù)幫助信息介紹,CopyOnDeleteProcesses的功能是“將保留刪除的文件的進程名稱”。這里用“powershell”作為參數(shù)值測試CopyOnDeleteProcesses。配置后并未發(fā)現(xiàn)實際的作用。
圖:配置CopyOnDeleteProcesses
通過測試暫未得到這三個條目的功能,同時發(fā)現(xiàn)CheckRevocation條目既無法在命令行中使用,也無法在配置文件中使用。
五、新增Contents屬性
創(chuàng)建文件流哈希事件增加了Contents屬性,該屬性記錄的是文件流的內容。根據(jù)微軟的功能介紹,當文件流的大小小于1000字節(jié)時,日志會直接在Contents屬性中顯示流的內容。當文件流大于1000字節(jié)時,會生成該內容的哈希值。在cmd窗口中創(chuàng)建備用數(shù)據(jù)流進行測試命令如下:圖:創(chuàng)建備用數(shù)據(jù)流圖:創(chuàng)建文件流哈希事件的日志
六、新增過濾條件
到V11.1版本累計更新了5個過濾條件,下面依次進行測試。
2.1. contains any和contains allcontains any過濾條件的作用是包含使用分號“;”分隔的任意一個值。contains all的作用是包含使用分號“;”分隔的所有的值。首先配置刪除文件監(jiān)控事件的Image屬性對contains any條件進行測試。<FileDelete onmatch="include"> <Rule groupRelation="and"> <TargetFilename condition="contains any">.exe;.ps1;.js;.xls;.xlsmTargetFilename> <TargetFilename condition="begin with">C:\Users\admin\AppData\Local\TempTargetFilename> Rule>FileDelete>當刪除exe、ps1等指定類型的文件時,即可產生相應的日志。圖:刪除exe文件產生的日志
圖:刪除ps1文件產生的日志
根據(jù)幫助信息contains all條件是指包括分號“;”隔開的所有值。使用進程訪問事件的SourceImage屬性對contains all條件進行測試,規(guī)則如下:圖:contains all條件實際測試發(fā)現(xiàn)并沒有產生日志。圖:日志查看器重新指定條件contains,值為Explorer.EXE,就能產生大量日志。圖:contains條件圖:日志查看器推測contains all的作用應該是同時滿足后面所有的值才會記錄,再次使用映像加載事件來檢測contains all,因為一個進程會同時加載多個模塊。通過加載TestModule1.dll和TestModule2.dll模塊進行測試,發(fā)現(xiàn)仍然不會觸發(fā)日志。圖:映像加載事件規(guī)則
修改規(guī)則后使用contains條件單獨指定一個值,可以觸發(fā)日志。
圖:contains條件圖:映像加載事件日志通過兩次對比測試發(fā)現(xiàn),contains all條件應該是必須同時滿足多個值的情況下,才會生成日志。目前是暫未發(fā)現(xiàn)有效的應用場景。2.2. excludes any、excludes all和is any
根據(jù)contains any過濾條件的功能,可以設置excludes any的過濾條件:圖:excludes any條件配置規(guī)則后產生的日志中就不會包含Explorer.exe和procexp64.exe進程打開其它進程的日志。is any過濾條件的作用是精確匹配分號分隔的多個值中的一個,作用類似于contains any過濾條件。這里不做詳細測試。七、總結新增加的文件刪除監(jiān)控功能極大提高了防御人員的檢測能力,提供了捕獲文件的方法,對于一些帶有自刪除功能的木馬后門,以及破壞系統(tǒng)數(shù)據(jù)的惡意程序等有很好的防御效果。但是在實際生產環(huán)境中使用這項功能時,一定要仔細選擇要監(jiān)控的文件位置,避免被備份的系統(tǒng)文件、臨時文件等占滿磁盤空間。新增的五個過濾條件中contains all和excludes all還未能發(fā)現(xiàn)正確的使用方法,應用其它三個條件時,對同一屬性的多個不同值可以列入一條規(guī)則中,可以提高規(guī)則的靈活性并降低規(guī)則復雜度。但是實際測試中也發(fā)現(xiàn)一些問題,例如通過CMD刪除文件不記錄的情況,只能寄希望后續(xù)版本修復該bug。
附錄
新版本配置文件sysmon-modular項目:
https://github.com/olafhartong/sysmon-modular
總結
以上是生活随笔為你收集整理的f3arra1n3.4.1版本_Sysmon v11.1新版本功能测试报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是门静脉高压征(什么是门静脉高压症)
- 下一篇: 4399的密码是多少