Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ShadowSpray — A tool to spray Shadow Credentials across an entire domain in hopes of abusing long forgotten GenericWrite/GenericAll DACLs over other objects in the domain. | Kitploit
ツール/GitHubGitHub/dec0ne/shadowspray
特権昇格脆弱性分析エクスプロイトペネトレーションテスト認証レッドチーミング
GitHubdec0ne/shadowspray

ShadowSpray

A tool to spray Shadow Credentials across an entire domain in hopes of abusing long forgotten GenericWrite/GenericAll DACLs over other objects in the domain.

リポジトリを見る
490793年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ShadowSpray

ドメイン全体に Shadow Credentials をスプレーし、ドメイン内の他のオブジェクトに対する長い間忘れられていた GenericWrite/GenericAll DACL を悪用するためのツールです。

なぜこのツールか

多くのエンゲージメントにおいて、BloodHound で "Everyone" / "Authenticated Users" / "Domain Users" といった、ドメイン内のほぼ全ユーザーを含む広範なグループが、他のオブジェクトに対して GenericWrite/GenericAll DACL を持っているのを目にします。

example

これらの権限は、対象オブジェクトに Shadow Credentials を追加し、その TGT と NT ハッシュを取得するために悪用されます。

そこで、ドメイン全体に Shadow Credentials をスプレーして、どこが引っかかるか試してみることを思いつきました(明らかに、このアプローチはステルス性を必要としないエンゲージメントに適しています。ステルスが要求されるレッドチームでは使用しないでください)。Shadow Credentials が正常に追加されたら、PKINIT + UnPACTheHash の一連の処理を行い、NT ハッシュを取得します。

処理が非常に高速であるため、エンゲージメントの最初の段階で使用でき、おそらく本格的に開始する前にいくつかのユーザーやコンピューターを制圧できるでしょう。

注: 以前の ツール からコードを多く流用しているため、AV/EDR がこれを KrbRelayUp と誤認識する可能性があります。

このツールの動作方法

以下のように動作します:

  1. 指定された認証情報でドメインにログインします(または現在のセッションを使用)。
  2. ドメインの機能レベルが 2016 であることを確認します(そうでない場合、Shadow Credentials 攻撃は機能しないため停止)。
  3. LDAP からドメイン内のすべてのオブジェクト(ユーザーとコンピューター)のリストを収集します。
  4. リスト内の各オブジェクトに対して以下を実行します:
    1. オブジェクトの "msDS-KeyCredentialLink" 属性に KeyCredential を追加しようと試みます。
    2. 上記が成功した場合、追加した KeyCredential を使用して PKINIT で TGT を要求します。
    3. 上記が成功した場合、UnPACTheHash 攻撃を実行してユーザー/コンピューターの NT ハッシュを取得します。
    4. --RestoreShadowCred が指定された場合:追加した KeyCredential を削除します(自身の痕跡を清掃)。
  5. --Recursive が指定された場合:制圧に成功した各ユーザー/コンピューターアカウントを使用して同じ処理を再帰的に実行します。

ShadowSpray は CTRL+C をサポートしています。いつでも実行を停止したい場合は CTRL+C を押すと、ShadowSpray はそれまでに取得した NT ハッシュを表示して終了します(以下のデモを参照)。

デモ

https://user-images.githubusercontent.com/54464773/194827503-b1eead1a-e09a-41ca-9d9b-0a7a6f0ad6a0.mp4

使用方法

root@kitploit:~
 __             __   __        __   __   __
/__` |__|  /\  |  \ /  \ |  | /__` |__) |__)  /\  \ /
.__/ |  | /~~\ |__/ \__/ |/\| .__/ |    |  \ /~~\  |


Usage: ShadowSpray.exe [-d FQDN] [-dc FQDN] [-u USERNAME] [-p PASSWORD] [-r] [-re] [-cp CERT_PASSWORD] [-ssl]

    -r   (--RestoreShadowCred)       攻撃完了後に "msDS-KeyCredentialLink" 属性を復元します。(オプション)
    -re  (--Recursive)               ShadowSpray 攻撃を再帰的に実行します。(オプション)
    -cp  (--CertificatePassword)     証明書のパスワード。(デフォルト = ランダムなパスワード)


一般オプション:
    -u  (--Username)                 初期 LDAP 認証のユーザー名。(オプション)
    -p  (--Password)                 初期 LDAP 認証のパスワード。(オプション)
    -d  (--Domain)                   ドメインの FQDN。(オプション)
    -dc (--DomainController)         ドメインコントローラーの FQDN。(オプション)
    -ssl                             LDAP over SSL を使用します。(オプション)
    -y  (--AutoY)                    ShadowSpray 攻撃の開始確認をスキップします。(オプション)

TODO

  • コードのリファクタリングと整理!!!
  • 詳細出力オプションの追加
  • 追加した KeyCredentials / 要求した TGT / 取得した NT ハッシュをファイルに保存するオプションの追加
  • Python バージョン ;)
  • その他の提案は歓迎します

緩和と検出

Elad Shamir 氏の Shadow Credentials に関するブログ記事より引用:

  • 環境内で PKINIT 認証が一般的でない場合、または対象アカウントにとって一般的でない場合、「Kerberos 認証チケット (TGT) が要求されました」イベント (4768) は、証明書情報属性が空白でない場合に異常な動作を示す可能性があります。

  • 対象アカウントに対して Active Directory オブジェクトの変更を監査する SACL が構成されている場合、「ディレクトリサービスオブジェクトが変更されました」イベント (5136) は、msDS-KeyCredentialLink を変更する主体が Azure AD Connect 同期アカウントまたは ADFS サービスアカウント(通常は Key Provisioning Server として機能し、ユーザーのこの属性を正当に変更する)でない場合に異常な動作を示す可能性があります。

  • より具体的な予防策は、キー信頼パスワードレス認証に登録されることを意図していないアカウント、特に特権アカウントに対して、属性 msDS-KeyCredentialLink の変更をプリンシパル EVERYONE に拒否するアクセス制御エントリ (ACE) を追加することです。

  • UnPACing とシャドウ資格情報の検出(著者:Henri Hambartsumyan、FalconForce 所属)

ShadowSpray に固有の検出:

  • このツールは非常に短時間でドメイン内の すべての ユーザー/コンピューターオブジェクトを変更しようと試み、失敗すると(ほとんどの場合)LDAP_INSUFFICIENT_ACCESS エラーを生成します。通常のパスワードスプレーの検出と同じアプローチを使用して、これを基にした検出を構築することが可能です。

謝辞

  • Elad Shamir 氏 – Shadow Credentials の研究と素晴らしいツール Whisker に対して。
  • Will Schroeder 氏と Rubeus に貢献されたすべての方々 – 私たち全員が愛用するこのツールから、TGT/TGS/UnPACTheHash の機能の大部分を拝借しました。
  • Cube0x0 氏 – LDAP 属性の WINAPI 経由での変更など一部のコードは、彼の素晴らしいツール KrbRelay から拝借しました。
  • Michael Grafnetter 氏 – 彼のツール DSInternals は、Shadow Credentials 機能の実装に役立ちました。
  • Orange-Cyberdefense チーム – デモ動画や画像で使用している Active Directory 研究用ラボ GOAD の開発に対して。
  • Martijn Laarman 氏 – このツールで使用している素晴らしい プログレスバー に対して。
ツールをダウンロード