DFSCoerce NTLM Relay Attack to Domain Admin
Write by mane, 請勿轉載。
0x0 介紹
近年來AD經常被大佬們搞,在今年5月份微軟修復的漏洞中,其中最離譜的是ADCS,CVE-2022-26923,只需要修改SPN就可以拿到Domain Admin的權限。在這個星期内又爆出了一個針對RPC攻擊的工具,DFSCoerce。
現在已經有很多針對RPC攻擊的工具,這些工具通常都是做 NTLM Relay 攻擊,NTLM 攻擊可大可小,通常都是視環境而定,有一些工具無需密碼就拿下Domain Admin。
0x1 DFSCoerce 原理
根據文檔,它使用了NetrDfsRemoveStdRoot
和 NetrDfsAddStdRoot
的RPC接口MS-DFSNM
來主動請求第三方服務器,這樣可以把第三方服務器設定爲攻擊機,就可以拿到這臺機器的NTLM,從而做些壞事,RPC 接口具體參考這裏。
0x2 準備環境 && 要求
(隔壁借張圖,具體原理看上面的圖)
有三臺機器:
-
第一個是AD(我的環境叫 DC:192.168.182.139),做 Domain Controller 。
-
第二個是CA機(我的環境叫 MANECA:192.168.182.140),裏面跑ADCS服務,join了上面AD的domain。
-
第三個是Kali:192.168.182.132。
設定的環境比較苛刻:
-
由於這個工具使用了
NetrDfsRemoveStdRoot
和NetrDfsAddStdRoot
,所以要在DC上安裝Distributed File System (DFS): Namespace Management
. -
DC 和 ADCS 要分開兩臺機器,如果把服務都集成在DC裏面會攻擊失敗,kali做中間人攻擊。
-
ADCS 服務器上要跑醜陋的證書注冊網頁,比如:
http://CA/certsrv/
,只能是HTTP,而且沒有啓用NTLM 中继保护。 -
如果啓用了smart card 或者winrm的https版就可以直接省去後面Add computer的動作,懶的話直接用Certipy獲取NT hash。
-
一個在DC裏面的低權限的賬號。
備注: 我用的AD和ADCS都是Windows Server 2019,3月份的補丁檔。
神奇的檔案名:en_windows_server_2019_updated_march_2019_x64_dvd_2ae967ab.iso
0x3 在DC上安裝Distributed File System
0x4 在CA機上安裝ADCS
如果遇到灰色的,請換 Enterprise Admins
或 Domain Admins
的用戶去登錄,不要使用local admin。
0x5 檢查CA機上的配置
用IE打開 http://127.0.0.1/certsrv
,如果彈出驗證,就説明配置成功了:
或者檢查一下IIS有沒有這個文件夾出現:
0x6 在DC上創建低權限的賬號
0x7 使用 DFSCoerce 看看 RPC 是否工作
Responder的結果:
可以看到這個RPC是工作的,請求的也是這臺機器的機器賬戶,這個時候就可以使用NTLMv2進行Relay Attack。
0x8 中繼證書
設置監聽器,把收到的NTLM馬上轉到CA上獲取證書,獲取的證書是 DomainController 證書:
再一次使用DFSCoerce 攻擊,就獲得了base64的證書。
0x9 還原成pfx文件
我把上面的base64保存到 cert.pfxb64
,然後通過base64解碼獲得 cert.pfx
文件:
這個時候如果做pass the cert的話,如果對面的機器沒有開啓smart card服務或者HTTPS版本的Winrm(5986/TCP) 就沒有辦法直接做pass the cert,smart card要通過GPO去配置gettgtpkinit.py
才可以使用,不然就會顯示:
具體原理我也很迷茫,但這個時候有人想到了利用cert去攻擊LDAP,然後獲得最高權限,看這篇文章。
如果開啓了https的winrm就可以使用path the cert,把一個pfx分成私鑰和公鑰在使用evil-winrm去連接就可以了。
0xa 其實不用這麽麻煩,用certipy就可以獲得NT hash了
懷疑是 gettgtpkinit.py
的脚本問題,於是換了certipy去請求hash,結果神奇的可以了。
經典的secretsdump:
然後使用 Domain Admin進行Pass the hash:
收工!
如何緩解攻擊
微軟終於坐不住了,於是發了這篇文章叫你們好好的使用HTTPS:
參考
KB5005413: Mitigating NTLM Relay Attacks on Active Directory Certificate Services (AD CS)
使用PetitPotam到NTLM中继到域管理员 | 九世的博客
[MS-DFSNM]: Distributed File System (DFS): Namespace Management Protocol | Microsoft Docs
Protect Your Windows Network from the PetitPotam Exploit - Ravenswood Technology Group
GitHub - ly4k/Certipy: Tool for Active Directory Certificate Services enumeration and abuse
Authenticating with certificates when PKINIT is not supported
Comments
Post a Comment