是否可以同時查看所有事件日誌(包括「應用程式和服務日誌」)中的事件?

是否可以同時查看所有事件日誌(包括「應用程式和服務日誌」)中的事件?

我的一位客戶的朋友今天早上由於不安全的遠端桌面配置而遭受了駭客攻擊,我被要求查看一下。 (他們的所有業務文件均由 Dharma 勒索軟體 2018-Q1 病毒株加密)。

幸運的是,Windows 事件日誌沒有被篡改,在單獨查看每個日誌(應用程式、安全性、系統等)後,我能夠拼湊出攻擊的時間軸:指示攻擊者何時以及如何連接到電腦、安裝他們的惡意軟體,我看到Windows 服務被停止或崩潰,然後他們就斷開了連線。

In Windows XP and earlier there were only the Application, System and Security logs to go through, but since Windows Vista there are application-specific logs located under the "Applications and Services Logs" tree-view node, and with each new Windows release there are more and more new logs to examine - unfortunately you have to go through them manually: there doesn't seem to be any kind of way of selecting data from all of those logs and then applying a date/time range filter or doing a textual搜尋.

……或者有嗎?

(我知道您可以在事件檢視器中建立自訂日誌視圖,但是向搜尋新增另一個日誌並不容易,而且速度非常慢,事實上,整個事件檢視器 UI 非常慢、滯後且尷尬,因為它在Windows Vista)。它甚至建議您不要建立引用超過 10 個日誌的視圖:

您建立的篩選器或自訂檢視引用了 10 多個事件日誌。結果可能效能不佳並消耗大量記憶體或處理器時間。你想繼續嗎?

事實上,當我剛剛創建一個引用計算機上每個日誌的視圖時,它導致事件查看器鎖定並凍結,然後最終顯示零個項目 - 所以我猜這完全被破壞了。

是否有一個 PowerShell 命令可以運行來轉儲兩個給定時間戳記之間所有日誌中的所有事件?

答案1

您可以使用log2時間軸匯出並解析 Windows 環境的日誌。這樣,您將能夠搜尋和編輯一些有趣事件的時間表。

這樣關聯您會發現其他工具可以處理您的日誌檔案。

答案2

Windows API 中有 256 個日誌名稱限制。要么一次選擇 256 個日誌,要么以管理員身份在 powershell 中執行類似的操作:

get-winevent -listlog * | foreach-object { get-winevent -logname $_.logname } 

get-winevent -listlog * | foreach { get-winevent @{logname = $_.logname;
  starttime = '2/29' } -ea 0 } | where message -match 'whatever you want'

相關內容