正如我們在上面的屏幕截圖中看到的,我們能夠成功執行 DCSync 攻擊并檢索 KRBTGT 賬戶哈希。注意:還有其他工具也可以執行 DCSync 攻擊,例如 Impacket Library & DSInternals 等。
檢測
為了檢測 OverPass-The-Hash 攻擊、基于 ACL 的攻擊和 DCSync 攻擊,我們需要在模擬攻擊之前在域控制器上啟用少量日志。在我們的實驗中,我們已經啟用了這些日志。但是您可以按照下面提到的步驟在您的環境中啟用日志。
我們還在實驗室中部署了 Sysmon 以進行額外的日志記錄。您還可以在您的環境中使用 Sysmon 模塊化配置部署:
要捕獲登錄事件,我們需要啟用“審核登錄”日志。按照以下步驟啟用日志:
登錄域控制器
打開組策略管理控制臺
展開域對象
展開組策略對象
右鍵單擊默認域策略并單擊編輯(應用于所有域計算機的策略。它可能在您的環境中有所不同)
按照以下路徑啟用審核登錄事件: 計算機配置 --> Windows 設置 --> 安全設置 --> 高級審核策略配置 --> 審核策略 --> 登錄/注銷 --> 審核登錄
選擇“配置以下審計事件:”復選框
選擇成功和失敗復選框
要捕獲目錄服務訪問事件,我們需要啟用“審核目錄服務訪問”日志。按照以下步驟啟用日志:
登錄域控制器
打開組策略管理控制臺
展開域對象
展開組策略對象
右鍵單擊默認域策略并單擊編輯(應用于所有域計算機的策略。它可能在您的環境中有所不同)
按照以下路徑啟用審核登錄事件: 計算機配置 --> Windows 設置 --> 安全設置 --> 高級審計策略配置 --> 審計策略 --> DS 訪問 --> 審計目錄服務訪問
選擇“配置以下審計事件:”、“成功”和“失敗”復選框
要捕獲目錄服務更改事件,我們需要啟用“審核目錄服務更改”日志。按照以下步驟啟用日志。
登錄域控制器
打開組策略管理控制臺
展開域對象
展開組策略對象
右鍵單擊默認域策略并單擊編輯(應用于所有域計算機的策略。它可能在您的環境中有所不同)
按照以下路徑啟用審核登錄事件: 計算機配置 --> Windows 設置 --> 安全設置 --> 高級審核策略配置 --> 審核策略 --> DS 訪問 --> 審核目錄服務更改
選擇“配置以下審計事件:”、“成功”和“失敗”復選框
在我們的實驗室中,我們使用HELK設置來解析和查詢日志,并使用winlogbeat將日志從各個系統推送到HELK實例。
檢測 OverPass-The-Hash
現在讓我們運行以下查詢來檢測在執行 OverPass-The-Hash 攻擊時生成的登錄事件。
event_id :4624
logon_type :9
logon_process_name :seclogo
在上述查詢中,我們可以搜索包含 logon_type 9 和 logon_process_name seclogo 的事件 ID 4624 日志。
事件 ID 4624 - 創建登錄會話時生成此事件。
登錄類型 9 - 調用者克隆了其當前令牌并為出站連接指定了新憑據。新的登錄會話具有相同的本地身份,但對其他網絡連接使用不同的憑據。當我們執行 OverPass-The-Hash 攻擊時,登錄類型為 9。
登錄進程 - 用于登錄的可信登錄進程的名稱。當我們執行 OverPass-The-Hash 攻擊時,一個名為“seclogo”的登錄進程。
在執行 OverPass-The-Hash 攻擊時,Mimikatz 嘗試訪問 LSASS 進程。運行以下查詢以檢測是否以某些特權訪問 LSASS 進程,這些特權在機器上運行 Mimikatz 以提取憑據或執行 OverPass-The-Hash 攻擊時很常見。
host_name :“oil-attacker.oil.crude.corp”
event_id :10
process_granted_access_orig :(“ 0x1010”或“0x1038” )
在上述查詢中,我們在“oil-attacker”機器上搜索事件 ID 10 日志,該機器已授予對 LSASS 進程的特定訪問權限。我們可以在這里查找特定進程的訪問權限:
這種攻擊也可以通過 ATA 檢測為“異常協議實現”
檢測 DCSync
我們可以運行以下查詢來確定是否執行了 DCSync 攻擊。
event_id : 4662
log_name : "Security"
object_properties : ( "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2"或"1131f6ad-9c07-11d1-f79f-00c04fc2dcd2"或"89e95b76-444d-4c62-9901a ) -
上述查詢中提到的 GUID 是執行 DCSync 攻擊所需的 Replication 權限的 GUID。
我們還可以利用網絡流量來檢測 DCSync 攻擊。需要在域控制器上安裝一個工具 DCSYNCMonitor 來監控網絡流量:
當通過網絡執行任何復制時,此工具會觸發警報。當真正的域控制器請求復制時,這可能會觸發誤報警報。因此,建議使用 DCSYNCMonitor 工具和配置文件,我們在其中指定網絡中域控制器的 IP 地址,以避免誤報警報。
我們可以運行以下查詢來識別由 DCSYNCMonitor 工具觸發的警報:
event_id :1
source_name :“DCSYNCALERT”
在上面的屏幕截圖中,我們可以看到 IP: 172.16.1.2 地址的誤報警報,因為它是真實的域控制器。這是為了在使用 DCSYNCMonitor工具時突出配置文件的重要性。
這種攻擊也可以通過 ATA 檢測為“目錄服務的惡意復制”。
檢測 ACL 修改
我們可以運行以下查詢來識別我們授予對手用戶 DCSync 權限的 ACL 修改。
event_id :5136
log_name :“Security”
dsobject_class :“domainDNS”
修改 ACL 時會生成多個事件。
事件日志計數將始終為偶數,因為單個 ACL 修改始終有 2 個事件。同樣可以通過使用“相關 ID”過濾來驗證。一個事件是“Value Deleted”(ACL 刪除/刪除),第二個事件是“Value Added”(ACL 添加/修改)。
我們還可以使用 PowerShell 命令:“ConvertFrom-SddlString”轉換“nTSecurityDescriptor”值,以獲取有關所做更改的更多詳細信息。
注意:- 此命令無法檢索 DCSync 權限的值,我們將始終將值視為“WriteAttributes”,我們需要從加入域的機器上運行此命令。
建議
建議定期審核有風險的基于 ACL 的錯誤配置,因為這可能會導致整個域環境受到損害。
(
邯鄲微信托管)
