您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么使用直接系統調用來開啟WDigest憑證緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
WdToggle技術本質上來說,是Cobalt Strike Beacon Object File(BOF-信標對象文件)的一種概念驗證,它可以使用直接系統調用來開啟WDigest憑證緩存并嘗試繞過憑證守護程序。
通過BOF代碼中的內聯程序集使用直接系統調用,提供了一種更為安全地與LSASS進程交互的操作方式,而且使用直接系統調用可避免AV/EDR軟件攔截用戶模式API調用。
VisualStudio(C++)不支持X64處理器的內聯匯編。因此,為了編寫包含編譯/匯編代碼的單個信標對象文件(BOF),我們必須使用Mingw-w64(GCC for Windows)編譯器。
為了方便大家實驗WdToggle技術,我們專門提供了一個【GitHub庫】供大家使用。
這個庫的主要作用如下:
演示使用內聯程序集進行直接系統調用的用法,以提供與LSASS進程交互的更為安全的操作方式。
通過在LSASS進程中將g_IsCredGuardEnabled變量切換為1來啟用WDigest憑據緩存(wdigest.dll模塊)。
通過在LSASS進程中將g_IsCredGuardEnabled變量切換為0來繞過憑證保護(如果啟用)(wdigest.dll模塊)。
使用信標對象文件(BOF)在信標(Beacon)進程中執行此代碼。
在這里,我們并不打算給大家提供已編譯好的源碼,因此大家需要自行動手完成代碼編譯。
首先,我們需要使用下列命令將WdToggle項目源碼克隆至本地:
git clone https://github.com/outflanknl/WdToggle.git
確保你已經正確安裝了Mingw-w64編譯器。如果使用的是macOS的話,我們可以使用下列命令來安裝Mingw-w64:
sudo port install mingw-w64
接下來,運行下列命令來編譯信標對象文件(BOF):
make
在一個Cobaltstrike Beacon上下文環境中,運行inline-execute命令并提供對象WdToggle.o文件的路徑。
然后,運行Cobaltstrike的logonpasswords命令(Mimikatz),別忘了針對新用戶登錄或未鎖定桌面會話的用戶要再次開啟密碼清理選項。
這種技術無法實現重啟持久化,因此設備重啟后我們需要重新運行代碼。
wdigest!g_fParameter_UseLogonCredential和wdigest!g_IsCredGuardEnabled全局變量的內存偏移量可能會因Windows操作系統版本的不同而發生改變。大家可以使用Windows調試器工具來查看并添加自己對應系統版本的偏移量:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64>cdb.exe -z C:\Windows\System32\wdigest.dll 0:000>x wdigest!g_fParameter_UseLogonCredential 00000001`800361b4 wdigest!g_fParameter_UseLogonCredential = <no type information> 0:000> x wdigest!g_IsCredGuardEnabled 00000001`80035c08 wdigest!g_IsCredGuardEnabled = <no type information> 0:000>
要通過LSASS內存訪問檢測憑證盜竊,我們可以使用Sysmon之類的工具,可以將Sysmon配置為記錄打開lsass.exe文件過程。應用此配置后,我們可以為訪問LSASS進程的可疑進程收集遙測信息,并幫助檢測可能的憑據轉儲活動。當然,我們還有更多的選項來檢測憑證被盜,例如使用Windows Defender ATP之類的高級檢測平臺。但是,如果你沒有足夠的預算和豪華的設備去使用這些平臺的話,那么Sysmon是一個免費的工具,可以幫助填補空白。
看完上述內容,你們對怎么使用直接系統調用來開啟WDigest憑證緩存有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。