top of page

AD垂直權限攻擊機制

環境架設:

Windows Server 2019:Active Directory Domain Services(AD DS)

第一台Windows10:模擬內部使用者(Adminstrator)

第二台Windows10:模擬攻擊(一般使用者)

階段一:偵查

使用工具:Purple Knight與 BloodHound與SharpHound

使用Purple Knight對你的 Active Directory 環境做安全評估,包含整體分數&等級環境資訊檢測指標,涵蓋七大類別,超過 185 項檢測指標,從環境偵測、風險評分到詳細修補建議都有。

掃描完成後,PurpleKnight會依據每項發現的風險程度進行排序,並提供清楚的修復建議。

image.png

使用SharpHound從AD擷取群組成員、電腦資訊、權限設定等資料,作為BloodHound 分析的資料來源。

使用BloodHound圖形化建立AD權限拓樸圖,顯示誰對誰有權限、誰可以透過哪些方式進行提權,協助使用者辨識「最短提權路徑」等資訊

image.png
image.png

階段二: 憑證擷取與橫向移動

使用工具:mimikatz + wmiexec進行實作

​在目標主機上執行 Mimikatz 工具,透過以下指令提取曾登入使用者的 NTLM 雜湊值(Hash),可用於後續的攻擊。

在取得 NTLM Hash 後,可使用 Kali Linux 預裝的 Impacket 工具套件中的 wmiexec.py 腳本來進行橫向移動。該腳本透過 WMI(Windows Management Instrumentation) 技術,實現遠端命令執行,無需明文密碼即可登入其他主機。

成功連線後會進入一個半互動式的遠端 shell,類似命令提示字元,可執行各種命令進行後續行動。

階段三:權限濫用

使用ACL(GenericAll)重設密碼

攻擊者 spotless 若對目標帳號 delegate 擁有 GenericAll 權限,代表可完全控制該物件。
透過 PowerView 查詢權限後,使用 net user 指令即可在不需原密碼的情況下,重設 delegate 的密碼。
此種權限濫用方式能讓低權限帳號快速奪取高權限,達成帳號接管與橫向移動。

image.png
image.png
image.png

階段四: 帳號複寫

使用工具:DCSync&DCShadow

DCSync會模擬網域控制器與目標 DC 進行複製動作,藉此提取 krbtgt 帳號的 NTLM 雜湊與 SID,這些資訊將用於後續的 Golden Ticket 偽造行為。

​DCShadow則是可以將資訊寫入目標DC中。

階段五: 持久存取

使用工具:Golden Ticket 1. mimikatz 使用 DCSync 攻擊獲取的 krbtgt 帳號的 NTLM 雜湊與 SID,透過以下指令建立 Golden Ticket,並以目標身分注入票證至記憶體中(Pass-the-Ticket)

在CMD中輸入dir \\DC-01.company.local\C$,測試是否成功存取網域控制器的系統磁碟,若可成功列出目錄內容,即代表 Golden Ticket 已成功建立並生效,具備對網域的完全控制權限。

image.png
image.png

長茂科技防護軟體及測試工具

分為三部分,分別測試兩個防護軟體與一個測試工具

1.        TP-ACL(病毒冷凍劑)

2.       TP-CFA(受保護資料夾管理)

3.       PC-SEC Caldera APT29測試

 TP-ACL(病毒冷凍劑)

在此測試中,我們使用ZeroLogon取得帳戶密碼,並使用wmiexec.py和smbexec.py進行橫向移動攻擊,觀察TP-ACL的開啟與否能抵擋攻擊。

ZeroLogon:是一個存在於 Microsoft Netlogon 服務中的重大安全漏洞,其正式編號為 CVE-2020-1472。

一、ZeroLogon實作

image.png
image.png
image.png

二、使用wmiexec.py和smbexec.py進行橫向移動的測試

1.wmiexec.py和smbexec.py比較

image.png

2.wmiexec.py和smbexec.py實作

image.png

3.測試PC-ACL開與不開的情況下是否可以有效的阻擋惡意程式

共有八種情境,分別進行以下測試:
1.橫向移動方式
•    wmiexec.py
•    smbexec.py
2.攻擊工具
•    Metasploit - meterpreter
•    CobaltStrike (http deliver stageless)
3.TP-ACL狀態
•    開啟
•    未開啟

因篇幅有限,以下僅展示以wmiexec.py 執行 – Metasploit - meterpreter,有無開啟TP-ACL的測試過程

(1)wmiexec.py 執行 – Metasploit - meterpreter(無開啟TP-ACL)

image.png
image.png

有C2成功回傳

(2)wmiexec.py 執行 – Metasploit - meterpreter(開啟TP-ACL)

image.png
image.png

無C2成功回傳

三、wmiexec.py 和smbexec.py測試結果整理

•    wmiexec.py

image.png

•    smbexec.py

image.png

TP-CFA(受保護資料夾管理)

  • 實驗目標:

驗證 CFA 在「受保護資料夾」對常見入侵途徑(RAT、勒索軟體等)的偵測與阻擋

  • 實驗說明:

另外,因為測試需要,需要在關閉 real-time protection 的情況下,執行惡意樣本。
否則 Defender的防毒機制會優先作動,這個情況得等到企業級 Microsoft Defender for Endpoint P2 採購完成才能通過設定測試模式來確認使用情形。

  • 使用工具技術與攻擊流程

1.Typical RAT tools (Backdoor),如:Metasploit、Cobalt Strike

2.Open Source Tools,如: Prince Ransomware

image.png

(一)CFA保護功能測試 -Cobalt Strike(上傳資料夾中之檔案)

(1)將指定的檔案上傳到受害端主機

image.png

(2)驗證結果-hash 比對

•原始

image.png

•Victim

image.png

實驗結果顯示:Cobalt Strike 可以將 Prince-Built.exe 上傳至受測主機的 CFA 保護資料夾中,且前後雜湊值一致,代表檔案未遭刪除或修改,CFA 對此類上傳行為未進行阻擋。

(二)CFA保護功能測試 -Cobalt Strike(下載資料夾中之檔案)

(1)將指定的檔案下載到受害端主機

image.png

(2)驗證結果-hash 比對

•原始

image.png

•Victim

image.png

實驗結果顯示:hash值相同,顯示攻擊者可直接自 CFA 保護資料夾下載檔案,並成功取得完整內容,顯示 CFA 無檔案封鎖與警告。

(三)CFA保護功能測試 -使用 Metasploit - meterpreter

(1)下載受害主機中的檔案(important-image.jpg.tpf)

image.png

(2)驗證結果-hash 比對

•原始

image.png

•msfconsole

image.png

實驗結果顯示:hash值相同,表示檔案在傳輸過程未遭CFA修改或刪除,攻擊者可透過 Metasploit 自 CFA 保護資料夾竊取到完整檔案而未被阻擋。

二、Open Source Tools-Prince Ransomware

(一)使用者自行執行

         (1)透過 OneDrive 下載惡意壓縮檔

image.png

(2)使用者從 OneDrive 中取得檔案後手動執行 →實測是加密行為會進行,無法阻擋,不被 CFA 視為可疑

image.png

(二)惡意C2執行 (Cobalt Strike)

(1)從 Cobalt Strike 的 Beacon 介面發出的指令,要求遠端受害主機上的 Beacon,執行 Prince-Built.exe 的勒索病毒執行檔

image.png

(2)無 CFA 警告,目前實測是加密行為會進行,無法阻擋

image.png

三、結論

image.png

以目前測試來說,CFA對未知惡意程式的實際攻擊操作,如寫入、下載、執行,幾乎無法阻擋。通過微軟的官方論壇中表示:此功能在每台電腦上,都有可能有不同的行為,因為其判定標準,並非單純由存取限制決定,而是根據 Smartscreen 與 即時的行為分析所導致,有可能這是其原因導致沒有擋住攻擊。

PC-SEC Caldera APT29測試

本實驗於虛擬機內完成 Active Directory 與 MITRE Caldera 之建置,並在 Caldera 平台安裝且啟用 emu 套件以取得 APT29 相關 TTP。隨後在網域內各節點部署 agents,待其狀態均顯示為 Alive 後,設定並執行自動化攻擊腳本以進行測試。

 

測試結果

在splunkd.exe未加入白名單前,會產生錯誤訊息導致無法執行

image.png

加入白名單後,可成功執行部署Agent指令,但後續攻擊仍被阻擋

image.png
image.png
  • 未套用PC-SEC防護軟體

image.png
  • 套用PC-SEC防護軟體,,可發現在APT29第一個步驟即失敗

image.png

bottom of page