系统监视器(Sysmon)工具的使用
一、Sysmon介紹
Sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。系統監視器(Sysmon)是Windows系統服務和設備驅動程序,一旦安裝在系統上,便會駐留在系統重新引導期間,以監視系統活動并將其記錄到Windows事件日志中。它提供有關進程創建,網絡連接以及文件創建時間更改的詳細信息。可以使用相關日志收集工具,收集事件并隨后對其進行分析,可以識別惡意或異常活動,并了解入侵者和惡意軟件如何在您的網絡上運行。
Sysmon包括以下功能:
1、使用完整的命令行記錄當前行為的父進程的進程創建;
2、使用SHA1(默認值),MD5,SHA256或IMPHASH記錄過程映像文件的哈希;
3、可以同時使用多個哈希;
4、在進程創建事件中包含進程GUID,即使Windows重用進程ID時也可以使事件相關;
5、在每個事件中都包含一個會話GUID,以允許在同一登錄會話上關聯事件;
6、使用簽名和哈希記錄驅動程序或DLL的加載;
7、日志打開以進行磁盤和卷的原始讀取訪問;
8、可選的記錄網絡連接,包括每個連接的源進程,IP地址,端口號,主機名和端口名。
9、檢測文件創建時間的更改,以了解真正創建文件的時間。修改文件創建時間戳是惡意軟件通常用來掩蓋其蹤跡的技術;
10、如果注冊表中發生更改,則自動重新加載配置;
11、規則過濾以動態包括或排除某些事件;
12、從啟動過程的早期開始生成事件,以捕獲甚至復雜的內核模式惡意軟件進行的活動。
二、日志事件ID解析介紹
事件ID 1:流程創建
流程創建事件提供有關新創建流程的擴展信息。完整的命令行提供了有關流程執行的上下文。ProcessGUID字段是整個域中此過程的唯一值,以簡化事件關聯。哈希是文件的完整哈希,其中包含HashType字段中的算法。
事件ID 2:一個進程更改了文件創建時間
當進程顯式修改文件創建時間時,將注冊更改文件創建時間事件。此事件有助于跟蹤文件的實際創建時間。攻擊者可能會更改后門的文件創建時間,以使其看起來像與操作系統一起安裝。請注意,許多進程會合理地更改文件的創建時間。它不一定表示惡意活動。
事件ID 3:網絡連接
網絡連接事件記錄計算機上的TCP / UDP連接。默認情況下禁用。每個連接都通過ProcessId和ProcessGUID字段鏈接到流程。該事件還包含源和目標主機名IP地址,端口號和IPv6狀態。
事件ID 4:Sysmon服務狀態已更改
服務狀態更改事件報告Sysmon服務的狀態(已啟動或已停止)。
事件ID 5:進程終止
進程終止時報告進程終止事件。它提供了進程的UtcTime,ProcessGuid和ProcessId。
事件ID 6:驅動程序已加載
驅動程序加載事件提供有關在系統上加載驅動程序的信息。提供配置的哈希值以及簽名信息。出于性能原因,簽名是異步創建的,并指示在加載后是否刪除了文件。
事件ID 7:圖像已加載
圖像加載事件記錄在特定過程中加載模塊的時間。默認情況下,此事件是禁用的,需要使用–l選項進行配置。它指示模塊的加載過程,哈希和簽名信息。出于性能原因,簽名是異步創建的,并指示在加載后是否刪除了文件。應仔細配置此事件,因為監視所有圖像加載事件將生成大量事件。
事件ID 8:CreateRemoteThread
CreateRemoteThread事件檢測一個進程何時在另一個進程中創建線程。惡意軟件使用此技術來注入代碼并隱藏在其他進程中。該事件指示源和目標進程。它提供了有關將在新線程中運行的代碼的信息:StartAddress,StartModule和StartFunction。請注意,將推斷StartModule和StartFunction字段,如果起始地址在已加載的模塊或已知的導出函數之外,則它們可能為空。
事件ID 9:RawAccessRead
RawAccessRead事件檢測進程何時使用\。\表示從驅動器進行讀取操作。惡意軟件通常使用此技術來對已鎖定以供讀取的文件進行數據泄漏,并避免使用文件訪問審核工具。該事件指示源進程和目標設備。
事件ID 10:ProcessAccess
當一個進程打開另一個進程時,該進程訪問事件報告,該操作通常伴隨著信息查詢或讀寫目標進程的地址空間。這樣可以檢測黑客工具,這些工具讀取諸如本地安全機構(Lsass.exe)之類的進程的內存內容,以竊取憑據以用于“哈希傳遞”攻擊。如果存在活動的診斷實用程序,這些實用程序會反復打開進程以查詢其狀態,則啟用它可能會產生大量的日志記錄,因此通常只應使用刪除預期訪問的過濾器來啟用它。
事件ID 11:FileCreate
創建或覆蓋文件時,將記錄文件創建操作。該事件對于監視自動啟動位置(如啟動文件夾)以及臨時目錄和下載目錄很有用,這些位置是惡意軟件在初始感染期間掉落的常見位置。
事件ID 12:RegistryEvent(對象創建和刪除)
注冊表項和值的創建和刪除操作映射到此事件類型,這對于監視注冊表自動啟動位置的更改或特定的惡意軟件注冊表修改很有用。
Sysmon使用注冊表根鍵名的縮寫版本,具有以下映射:
事件ID 13:RegistryEvent(值集)
此注冊表事件類型標識注冊表值修改。該事件記錄為DWORD和QWORD類型的注冊表值寫入的值。
事件ID 14:RegistryEvent(鍵和值重命名)
注冊表鍵和值重命名操作映射到此事件類型,記錄重命名的鍵或值的新名稱。
事件ID 15:FileCreateStreamHash
此事件在創建命名文件流時記錄,并生成事件,該事件記錄該流所分配到的文件內容(未命名流)以及命名流的內容的哈希。有一些惡意軟件變體會通過下載瀏覽器來刪除其可執行文件或配置設置,并且該事件旨在基于基于附加了Zone.Identifier“網絡標記”流的瀏覽器來捕獲它們。
事件ID 16:ServiceConfigurationChange
此事件記錄Sysmon配置中的更改-例如,更新過濾規則時。
事件ID 17:PipeEvent(已創建管道)
創建命名管道時,將生成此事件。惡意軟件通常使用命名管道進行進程間通信。
事件ID 18:PipeEvent(已連接管道)
在客戶端和服務器之間建立命名管道連接時,將記錄此事件。
事件ID 19:WmiEvent(檢測到WmiEventFilter活動)
注冊WMI事件篩選器(惡意軟件執行該方法)后,此事件將記錄WMI名稱空間,篩選器名稱和篩選器表達式。
事件ID 20:WmiEvent(檢測到WmiEventConsumer活動)
此事件記錄WMI使用者的注冊,記錄使用者名稱,日志和目的地。
事件ID 21:WmiEvent(檢測到WmiEventConsumerToFilter活動)
當使用者綁定到過濾器時,此事件記錄使用者名稱和過濾器路徑。
事件ID 22:DNSEvent(DNS查詢)
當進程執行DNS查詢時,無論結果是否成功,是否緩存,都會生成此事件。Windows 8.1已添加此事件的遙測,因此在Windows 7和更早版本中不可用。
事件ID 23:FileDelete(檢測到文件刪除)
文件已刪除
事件ID 255:錯誤
Sysmon中發生錯誤時,將生成此事件。如果系統負載沉重,某些任務無法執行,或者Sysmon服務中存在錯誤,則可能發生這種情況。您可以在Sysinternals論壇或Twitter(@markrussinovich)上報告任何錯誤。
三、Sysmon安裝
經常使用命令 說明
Sysmon?-i 最基本的安裝命令
Sysmon.exe -accepteula -i Sysmonconfig-export.xml 指定規則文件安裝
Sysmon.exe -c Sysmonconfig-export.xml 更新配置
Sysmon.exe -u 卸載
注意:在window下安裝要以管理員方式打開終端,配置文件要以XML格式存儲。?
Sysmon的采集日志查看:運行命令eventvwr.msc
事件查看器-->應用程序和服務日志-->Microsoft-->Windows->Sysmon-->Operational
四、與Nxlog結合進行日志收集
Sysmon監控系統并生成windows event log,Sysmon將監控到的數據保存在:C:\Windows\System32\winevt\Logs\Microsoft-Windows-Sysmon%4Operational.evtx,NXlog將windows event log傳輸到syslog服務器。
NXLog能夠在各種不同的設備上進行各種不同格式的日志消息的采集以及處理,NXLog能夠接收從TCP、UDP、文件、數據庫以及其他不同來源的日志消息,例如Syslog,Windows的EventLog。
Nxlog配置文件修改:在<Input in>中添加采集的路徑,以及日志服務器的IP和接收端口。如下圖:
?Sysmon配置文件:圖中紅框內規則為監控注冊表內全部信息。可指定對應的注冊表鍵名。可參考事件日志ID解析介紹,進行自定義規則編寫
五、威脅場景檢測告警
1.影子賬戶
影子賬戶是指系統隱藏帳戶,在“控制面板-本地用戶和組”里面看不見,但卻有管理員權限的帳戶(影子帳戶可以做任何想做的事),一般存儲在注冊表中,多數情況下都和黑客入侵掛鉤。
告警發生場景:黑客在入侵系統后常常會建立一個影子賬戶。之所以稱其為“影子賬戶”,是因為這種賬戶用系統中提供的工具或方法都無法看到,并且無論是“用戶賬戶”、“計算機管理”,還是命令行中,都無法刪除此賬戶。
攻擊方式:
1)通過相關攻擊方式,獲得管理員權限;
2)創建賬戶;
3)替換注冊表對應文件等相關操作,使影子賬戶獲得管理員權限。
4)刪除賬號,將導出的reg文件重新導入。
5)通過命令行和控制面板均發現創建的影子賬號
6)使用影子賬號進行登錄測試
檢測思路:
1)?通過查看相關主機的原始日志文件進行篩查;
2)?通過日志審計工具解析原始日志;
3)?收集修改對應注冊表文件的日志。
日志來源:以Windows2008r2的日志統計為例:
Apr 28 15:17:14 WIN-94A29A4Q0RK MSWinEventLog 1 Microsoft-Windows-Sysmon/Operational 18629 Wed Apr 28 15:17:14 2021 1 Microsoft-Windows-Sysmon?SYSTEM User Information WIN-94A29A4Q0RK Process Create (rule: ProcessCreate) Process Create: RuleName: - UtcTime: 2021-04-28 07:17:14.105 ProcessGuid: {046930C2-0BFA-6089-5F47-E30400000000} ProcessId: 1320 Image: C:\Windows\System32\net1.exe FileVersion: 6.1.7601.17514 (win7sp1_rtm.101119-1850) Description: Net Command Product: Microsoft? Windows? Operating System Company: Microsoft Corporation OriginalFileName: net1.exe CommandLine: C:\Windows\system32\net1 user test$ test123!@# /add CurrentDirectory: C:\Users\Administrator\ User: WIN-94A29A4Q0RK\Administrator LogonGuid: {046930C2-962D-6077-50BD-050000000000} LogonId: 0x5bd50 TerminalSessionId: 1 IntegrityLevel: High Hashes: SHA1=B885470C69CAEA77043B96DC1875C346EC3DA0B0,MD5=3B6928BC39E5530CEAD1E99269E7B1EE,SHA256=0F084CCC40CBF7C3C7472DDAD609B5FD31AACAFA44E23F9EC7E9E2184713B986,IMPHASH=72AA515B1963995C201E36DE48594F61 ParentProcessGuid: {046930C2-0BFA-6089-E846-E30400000000} ParentProcessId: 2824 ParentImage: C:\Windows\System32\net.exe?ParentCommandLine: net user?cmd$ test123!@# /add 63027?
日志中包含新增的用戶操作
Apr 28 15:36:28 WIN-94A29A4Q0RK MSWinEventLog 1 Microsoft-Windows-Sysmon/Operational 18914 Wed Apr 28 15:36:28 2021 13 Microsoft-Windows-Sysmon?SYSTEM User Information WIN-94A29A4Q0RK Registry value set (rule: RegistryEvent) Registry value set: RuleName: - EventType: SetValue UtcTime: 2021-04-28 07:36:28.180 ProcessGuid: {046930C2-0FEF-6089-58C8-E40400000000} ProcessId: 2436 Image: C:\Windows\regedit.exe?TargetObject: HKLM\SAM\SAM\DOMAINS\Account\Users\000001F4\F?Details: Binary Data 63312
日志中有修改對應的鍵值
Apr 28 15:58:32 WIN-94A29A4Q0RK MSWinEventLog 1 Microsoft-Windows-Sysmon/Operational 199 Wed Apr 28 15:58:32 2021 1 Microsoft-Windows-Sysmon?SYSTEM User Information WIN-94A29A4Q0RK Process Create (rule: ProcessCreate) Process Create: RuleName: - UtcTime: 2021-04-28 07:58:32.577 ProcessGuid: {046930C2-15A8-6089-4457-E80400000000} ProcessId: 1716 Image: C:\Windows\System32\net1.exe FileVersion: 6.1.7601.17514 (win7sp1_rtm.101119-1850) Description: Net Command Product: Microsoft? Windows? Operating System Company: Microsoft Corporation OriginalFileName: net1.exe CommandLine: C:\Windows\system32\net1 user test$ /del CurrentDirectory: C:\Users\Administrator\ User: WIN-94A29A4Q0RK\Administrator LogonGuid: {046930C2-962D-6077-50BD-050000000000} LogonId: 0x5bd50 TerminalSessionId: 1 IntegrityLevel: High Hashes: SHA1=B885470C69CAEA77043B96DC1875C346EC3DA0B0,MD5=3B6928BC39E5530CEAD1E99269E7B1EE,SHA256=0F084CCC40CBF7C3C7472DDAD609B5FD31AACAFA44E23F9EC7E9E2184713B986,IMPHASH=72AA515B1963995C201E36DE48594F61 ParentProcessGuid: {046930C2-15A8-6089-CD56-E80400000000} ParentProcessId: 2664 ParentImage: C:\Windows\System32\net.exe?ParentCommandLine: net user cmd$ /del 64960.
日志中短時間內存在刪除掉創建的賬號操作
人工分析:?可以通過對相關設備定期檢查或者對原始日志進行分析,判定設備異常。
工具分析:通過對原始日志解析日志事件類型為創建影子賬戶操作,解析出創建的賬戶名稱,以及后續將對應的注冊表文件進行了修改操作。并可以結合相關知識庫,了解如何進行對影子賬戶的篩查操作,快速進行解決問題。
2、文件創建監控檢測
指定監控的路徑,通過Sysmon工具進行檢測。本文監控C盤下的文件創建監控。
Sysmon配置文件:
在C盤下創建文件。
文件的修改
總結
以上本文介紹了Sysmon工具的基本使用。其中包括基本安裝命令和對注冊表監控的規則文件,還有和Nxlog的結合使用,對影子賬戶的檢測定位,以及對指定的監控路徑進行文件操作監控。快速的對安全威脅事件,進行響應,安全是不容忽視的。學習了解相關的檢測手段,再根據分析工具。可以更好的及時發現一些威脅,從而減少以及避免相關威脅帶來的損失。
相關分享:
Windows日志分析場景(一)
?
總結
以上是生活随笔為你收集整理的系统监视器(Sysmon)工具的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cesium贴图
- 下一篇: 项目管理中什么最重要?