要約
CVE-2021-42278 は、潜在的な攻撃者がコンピューター アカウント sAMAccountName スプーフィングを使用してドメイン コントローラーを偽装できるセキュリティ バイパスの脆弱性に対応しています。
この記事では、CVE-2021-42278 に記載されている 2021年 11 月 9 日以降にリリースされた Windows 更新プログラムによって行われた Active Directory セキュリティ アカウント マネージャー (SAM) の変更について、詳細とよく寄せられる質問セクションを提供します。
Active Directory の検証チェック
CVE-2021-42278をインストールした後、Active Directory は、コンピューター アカウントの管理者権限を持つユーザーによって作成または変更されたコンピューター アカウントのsAMAccountName属性とUserAccountControl属性で、以下に示す検証検査を実行します。
-
ユーザー アカウントとコンピューター アカウントの sAMAccountType 検証
-
ObjectClass=Computer (またはコンピューターのサブクラス) アカウントには、ユーザーまたはコンピューターの UserAccountControl フラグがUF_WORKSTATION_TRUST_ACCOUNT必要UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=User には、ユーザーまたはユーザーの UAC フラグがUF_NORMAL_ACCOUNT必要UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
コンピューター アカウントの 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$ |
成功したコンピューター アカウント作成監査イベント
コンピューター アカウントを正常に作成するには、次の既存の監査イベントを使用できます。
詳細については、「コンピューター アカウント管理の 監査」を参照してください。
よく寄せられる質問
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” |