基于AD Event日志識別Skeleton Key后門
01、簡介
Skeleton Key(萬能密碼),是一種可以對域內權限進行持久化的操作手法,通過將Skeleton Key注入到lsass進程,無需重啟域控即可生效,而且能夠在不影響當前域用戶正常登錄的情況下,讓所有域用戶使用同一個萬能密碼進行登錄。另外,它只存在于內存中,如果域控制器重啟,注入的 Skeleton Key 將會失效。
如何發現Skelenton Key的后門行為,基于AD Event日志通過對照攻擊方法來尋找入侵痕跡,找出其中的攻擊行為,提取攻擊特征,以制定告警規則。
02、攻擊過程
(1)嘗試以當前用戶身份,查看當前網絡資源的連接為空,列出域控C盤共享目錄中的文件顯示拒絕訪問,表示當前用戶無權限。

(2)在域控制器以管理員權限打開mimikatz,使用 mimikatz 完成注入 Skeleon Key 的操作,將 skeleton key 注入域控制器的 lsass.exe 進程。如下圖:顯示已注入成功,此時會在域內所有帳戶添加一個skeleton key,默認密碼為“mimikatz”。
//提升權限mimikatz # privilege::debug//注入 skeleton keymimikatz # misc::skeleton

(3)使用域內管理員帳戶和skeleton key嘗試與域控制器成功建立連接,可列出域控制器C盤共享目錄中的文件。
net use \\win-dc01\c$ /user:"evil\administrator" "mimikatz"

(4)微軟在2014年3月12日添加了LSA保護策略,用來防止對進程lsass.exe的代碼注入,這樣一來就無法使用mimikatz對lsass.exe進行注入。啟用 LSA 保護,只需要在注冊表中添加一個值,重啟服務器即可。
注冊表位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

(5)繞過LSA 保護
在win2012上,mimikatz通過導入驅動文件mimidrv.sys后,可繞過LSA 保護。
mimiktz # privilege::debugmimikatz # !+mimikatz # !processprotect /process:lsass.exe /removemimikatz # misc::skeleton

03、攻擊檢測
當攻擊者嘗試加載mimidrv.sys驅動時,將會生成4697事件,這個行為可作為安全日志中最為明顯的特征進行識別檢測。
4697事件:當系統中安裝了新服務時,將會生成此事件,包含安裝服務的帳戶名,安裝服務的名稱以及創建服務時文件的路徑。

安全規則:
