ADCS的攻擊手段ESC1

E4son Chen(安)
Sep 23, 2024

--

當我們處於域環境中,手中持有Domain user時
可以使用certipy去向ADCS要求目前的憑證範本

certipy find -target <ADCS-IP> -u ‘eason@domain.com’ -p ‘123456’

此時會得到一個文字檔,其中有標註
[!] Vulnerabilities ESC1

是因為Enrollment Rights 存在低權限帳號如:
Authenticated UsersDomain Users
Enrollee Supplies Subject 設定為 True => 可讓申請者自訂upn
自訂upn的結果就是讓低權限帳號申請了一個高權限pfx
而Enable 設定為True倒是其次,若營運上需要讓人自行申請憑證勢必打開
若設定為Fasle則無法再申請新的憑證(舊的不影響可繼續使用)

接著參考YOUTUBE 30秒拿下AD
https://www.youtube.com/watch?v=l8lyqjRLOY8

  • ca,-dns其實在find的時候首兩行就有了
  • -template 後面接上有問題的範本名稱

在第二步的時候記得選0直接拿Domain Admin的ntlm hash
直接接管AD

如果不幸遭受此攻擊,即使修改Enrollment Rights
攻擊者仍可透過憑證,不斷向AD認證取得修改後的密碼(NTLM HASH)
意思就是你怎變改密碼都沒用
必須去一趟CA把濫用的憑證撤銷
不然永遠被追著咬

筆記一下指令

透過find找有ESC1漏洞範本
低權限跨越申請
使用憑證向AD認證並取得ntlm hash

--

--