Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86373293

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

微軟最近的精力主要放在了Win11 22H2年度更新上了,正式版本預計要到明年9月底正式發布,現在已經大量推送。

近年來,微軟下大力緩解和修復特定的惡意軟件或漏洞,增加了大量的緩解措施,如零初始化池分配(zero-initialized pool allocation)、CET、XFG和最新的CastGuard,攻擊者利用漏洞變得越來越困難。最重要的是,通過ETW,特別是威脅情報ETW通道,可以提高對惡意軟件和利用技術的可見性。

在23H2預覽版本中,微軟推出了一個新的ETW事件,這次針對的是NT API,這些API可針對各種可疑行為。 Windows 事件跟踪(ETW) 提供了一種用於檢測用戶模式應用程序和內核模式驅動程序的機制。 Log Analytics 代理用於收集寫入到管理和操作ETW 通道的Windows 事件。 但是,有時需要捕獲和分析其他事件,例如寫入分析通道的事件。

系統調用使用可見性隨著這一新的變化,微軟將重點放在幾個系統調用上,這些調用通常不應該被許多應用程序使用,但可能會被漏洞利用,例如KASLR繞過、VM檢測或物理內存訪問。這個新事件所涉及的許多情況都已被限制為特權進程,有些需要為管理員或系統進程保留特權,有些則限制為低IL或不受信任的調用方。但是,試圖調用這些系統調用中的任何一個都可能表明存在可疑活動。

到目前為止,EDR檢測這類活動的唯一方法是將用戶模式掛鉤放置在洩漏內核指針的所有不同NtQuery函數中。但實踐證明,這並不理想。一段時間以來,微軟一直試圖讓EDR遠離用戶模式掛鉤,主要是通過添加ETW事件,允許EDR通過非侵入性方式使用相同的信息。

為了跟上這一趨勢,Windows 11 23H2向威脅情報頻道添加了一個新的ETW事件——THREATINT_PROCESS_SYSCALL_USEGE。生成此ETW事件是為了指示非管理員進程對API+信息類進行了API調用,該API調用可能會及時發現某些異常以及潛在的惡意活動。此事件將為兩個API中的信息類生成:

NtQuerySystemInformation;

NtSystemDebugControl;這些API有許多信息類,其中許多是“無害的”,並且通常被許多應用程序使用。為了避免發送不感興趣或無用的信息,以下信息類將生成ETW事件:

1.png

包含這些信息類的原因各不相同,有些會洩漏內核地址,有些可用於VM檢測,另一些用於硬件持久性,還有一些表示大多數應用程序不應具備的物理內存知識。總的來說,這一新事件包含了應用程序無法正常運行的各種指標。

每一種緩解措施都必須考慮潛在的性能影響,當在頻繁調用的代碼路徑中生成ETW事件時,可能會降低系統的速度。因此,有一些限制適用於此:

1.事件只會為用戶模式的非管理員調用者生成。由於Admin-內核不被認為是Windows上的邊界,因此許多緩解措施不應用於管理進程,以降低對系統的性能影響。

2.對於每個流程,每個信息類只生成一次事件。這意味著如果NtQuerySystemInformation被一個進程調用10次,並且都使用相同的信息類,那麼只會發送一個ETW事件。

3.只有在調用成功時才會發送事件,失敗的調用將被忽略,並且不會產生任何事件。

為了支持上述第2個限制並跟踪流程所涉及的信息類,EPROCESS結構中添加了一個新字段:

2.png

當一個流程第一次成功調用一個被監控的信息類時,將設置與該信息類對應的位,即使沒有為這些流程發送ETW事件,也會發生在管理流程上。 ETW事件僅在未設置位時發送,已確保每個類只發送一次事件。雖然沒有API來查詢這個EPROCESS字段,但它確實有一個很好的副作用,那就是留下每個進程使用哪些信息類的記錄——如果你分析一個系統,可以查看這些記錄,但前提是在系統中啟用了Syscall Usage事件,否則位不會被設置。

檢查數據目前還沒有啟用這個事件,也沒有人使用它,但我希望看到Windows Defender很快開始使用它,希望其他EDR也能使用。我手動啟用了這個事件,以查看這些“可疑的”API是否在常規設備上被使用,使用我的I/O環漏洞作為完整性測試,因為我知道它使用NtQuerySystemInformation洩漏內核指針。以下是正常執行幾分鐘後的一些結果:

3.png

顯然,有一些信息類在設備上使用非常頻繁,到目前為止主要的是SystemFirmwareTableInformation。這些常見的類可能會在早期被EDR忽略,因此更容易被濫用。

總結這是否意味著不再有基於API的KASLR繞過,或者所有現有漏洞都會立即被檢測到?當然不會。 EDR需要一段時間才能開始註冊和使用這些事件,特別是因為23H2將在明年秋天的某個時候正式發布,而大多數安全產品可能還需要一兩年的時間才能意識到這一事件的存在。由於此事件被發送到只有PPL才能註冊的威脅情報頻道,因此許多產品根本無法訪問此事件或其他與攻擊相關的事件。此事件將使EDR能夠獲取惡意進程進行的一些額外調用的信息,但這只是攻擊的其中一步,如果安全產品過於依賴它,無疑會導致許多誤報。無論如何,這一事件只涉及一些已知的指標,而其他許多指標則被忽略。