Applies ToWindows Server 2022 Windows Server 2019 Windows Server 2016, all editions Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 Windows Server 2008 Service Pack 2

要約

CVE-2021-42278 は、潜在的な攻撃者がコンピューター アカウント sAMAccountName スプーフィングを使用してドメイン コントローラーを偽装できるセキュリティ バイパスの脆弱性に対応しています。

この記事では、CVE-2021-42278 に記載されている 2021年 11 月 9 日以降にリリースされた Windows 更新プログラムによって行われた Active Directory セキュリティ アカウント マネージャー (SAM) の変更について、詳細とよく寄せられる質問セクションを提供します。

Active Directory の検証チェック

CVE-2021-42278をインストールした後、Active Directory は、コンピューター アカウントの管理者権限を持つユーザーによって作成または変更されたコンピューター アカウントのsAMAccountName属性とUserAccountControl属性で、以下に示す検証検査を実行します。 

  1. ユーザー アカウントとコンピューター アカウントの sAMAccountType 検証

    • ObjectClass=Computer (またはコンピューターのサブクラス) アカウントには、ユーザーまたはコンピューターの UserAccountControl フラグがUF_WORKSTATION_TRUST_ACCOUNT必要UF_SERVER_TRUST_ACCOUNT

    • ObjectClass=User には、ユーザーまたはユーザーの UAC フラグがUF_NORMAL_ACCOUNT必要UF_INTERDOMAIN_TRUST_ACCOUNT

  2. コンピューター アカウントの sAMAccountName 検証

    UserAccountControl属性に UF_WORKSTATION_TRUST_ACCOUNT フラグが含まれているコンピューター アカウントのsAMAccountName は、1 ドル記号 ($) で終わる必要があります。 これらの条件が満たされない場合、Active Directory はエラー コードを返0x523 ERROR_INVALID_ACCOUNTNAME。 失敗した検証は、システム イベント ログの Directory-Services-SAM イベント ID 16991 に記録されます。

これらの条件が満たされない場合、Active Directory はエラー コードを返ACCESS_DENIED。 失敗した検証は、システム イベント ログの Directory-Services-SAM イベント ID 16990 に記録されます。

監査イベント

オブジェクト クラスと UserAccountControl の検証エラー

Object クラスと UserAccountControl の検証が失敗すると、次のイベントがシステム ログに記録されます。

イベント ログ

システム

イベントの種類

エラー

イベント ソース

Directory-Services-SAM

イベント ID

16990

イベント テキスト

セキュリティ アカウント マネージャーは、objectClass と userAccountControl アカウントの種類フラグが一致しない Active Directory アカウントをこのドメインに作成できないのを管理者以外がブロックしました。

詳細:

アカウント名: %1%n

Account objectClass: %2%n

userAccountControl: %3%n

発信者アドレス: %4%n

呼び出し元 SID: %5%n%n

SAM アカウント名の検証エラー

SAM アカウント名の検証に失敗すると、次のイベントがシステム ログに記録されます。

イベント ログ

システム

イベントの種類

エラー

イベント ソース

Directory-Services-SAM

イベント ID

16991

イベント テキスト

セキュリティ アカウント マネージャーは、管理者以外が無効な sAMAccountName を使用してコンピューター アカウントの作成または名前変更をブロックしました。 コンピューター アカウントの sAMAccountName は、末尾に $ 記号 1 つで終わる必要があります。

試行された sAMAccountName: %1

推奨される sAMAccountName: %1$

成功したコンピューター アカウント作成監査イベント

コンピューター アカウントを正常に作成するには、次の既存の監査イベントを使用できます。

  • 4741(S): コンピューター アカウントが作成されました

  • 4742(S): コンピューター アカウントが変更されました

  • 4743(S): コンピューター アカウントが削除されました

詳細については、「コンピューター アカウント管理の 監査」を参照してください

よく寄せられる質問

Q1。 この更新プログラムは Active Directory の既存のオブジェクトにどのような影響を与えるのでしょうか。

A1. 既存のオブジェクトの場合、管理者権限を持つユーザーが sAMAccountName 属性または UserAccountControl 属性を変更すると、検証が行われます。

Q2. sAMAccountName とは

A2. sAMAccountName は、Active Directory のすべてのセキュリティ プリンシパルに対する一意の属性であり、ユーザー、グループ、およびコンピューターが含まれます。 sAMAccountNameの名前の制約については、「3.1.1.6 の更新元の属性の制約」を参照してください

Q3. sAMAccountType とは

A3. 詳細については、次のドキュメントを参照してください。

次のように、4 つの UserAccountcontrol フラグに対応する 3 つの可能な sAMAccountType 値があります。

userAccountControl

sAMAccountType

UF_NORMAL_ACCOUNT

SAM_USER_OBJECT

UF_INTERDOMAIN_TRUST_ACCOUNT

SAM_TRUST_ACCOUNT

UF_WORKSTATION_TRUST_ACCOUNT

SAM_MACHINE_ACCOUNT

UF_SERVER_TRUST_ACCOUNT

SAM_MACHINE_ACCOUNT

Q4. UserAccountControl で使用できる値は何ですか?

A4. 詳細については、次のドキュメントを参照してください。

Q5. 環境に既に存在する準拠していないオブジェクトを見つける方法

A5. 管理者は、次の例のような PowerShell スクリプトを使用して、既存の準拠していないアカウントをディレクトリで検索できます。

準拠していない sAMAccountNameを持つコンピューター アカウントを検索するには:

Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName

準拠していない UserAccountControl sAMAccountType を持つコンピューター アカウントを検索するには:

Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512”

リソース

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。