KB5008102 — Alterações de proteção do Gerenciador de Contas de Segurança do Active Directory (CVE-2021-42278)

Aplica-se a
Windows 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

Resumo

CVE-2021-42278 resolve uma vulnerabilidade de desvio de segurança que permite que potenciais invasores personifiquem um controlador de domínio usando spoofing de conta de computador.

Este artigo fornece detalhes adicionais e uma secção de perguntas mais frequentes sobre as alterações de proteção do Gestor de Contas de Segurança do Active Directory (SAM) feitas pelas atualizações do Windows lançadas a 9 de novembro de 2021 e posteriores, conforme documentado no CVE-2021-42278.

Verificações de validação do Active Directory

Depois de instalar o CVE-2021-42278, o Active Directory realizará as inspeções de validação listadas abaixo nos atributos sAMAccountName e UserAccountControl de contas de computador criadas ou modificadas por usuários que não têm direitos de administrador para contas de máquina.

  1. Validação sAMAccountType para contas de utilizador e computador

    • ObjectClass=As contas de computador (ou subclasse de computador) devem ter sinalizadores UserAccountControl de UF_WORKSTATION_TRUST_ACCOUNT ou UF_SERVER_TRUST_ACCOUNT
    • ObjectClass=User must have UAC flags of UF_NORMAL_ACCOUNT or UF_INTERDOMAIN_TRUST_ACCOUNT
  2. Validação de sAMAccountName para contas de computador
    O sAMAccountName de uma conta de computador cujo atributo UserAccountControl contém o sinalizador de UF_WORKSTATION_TRUST_ACCOUNT deve terminar com um único cifrão ($). Quando essas condições não são atendidas, o Active Directory retorna o código de falha 0x523 ERROR_INVALID_ACCOUNTNAME. As validações com falhas são registradas no ID de evento 16991 Directory-Services-SAM no log de eventos do sistema.

Quando essas condições não são atendidas, o Active Directory retorna um código de falha de ACCESS_DENIED. As validações com falhas são registradas no ID de evento 16990 Directory-Services-SAM no log de eventos do sistema.

Eventos de auditoria

Falha de validação da classe do objeto e UserAccountControl

Quando a classe Object e a validação UserAccountControl falharem, o seguinte evento será registrado no log do sistema:

Log de Eventos Sistema
Tipo de Evento Erro
Origem do evento Directory-Services-SAM
ID de Evento 16990
Texto do Evento O gestor de contas de segurança impediu um não-administrador de criar uma conta do Active Directory neste domínio com sinalizadores de tipo de conta objectClass e userAccountControl incompatíveis.
Detalhes:
Nome da conta: %1%n
Account objectClass: %2%n
userAccountControl: %3%n
Endereço do chamador: %4%n
SID do chamador: %5%n%n

Falha na validação do Nome da Conta SAM

Quando a validação do nome da conta SAM falhar, o seguinte evento será registrado no log do sistema:

Log de Eventos Sistema
Tipo de Evento Erro
Origem do evento Directory-Services-SAM
ID de Evento 16991
Texto do Evento O gestor de contas de segurança impediu um não-administrador de criar ou mudar o nome de uma conta de computador utilizando um sAMAccountName inválido. sAMAccountName em contas de computador deve terminar com um único sinal $ à direita.
Tentativa de sAMAccountName: %1
Recomendado sAMAccountName: %1$

Eventos de auditoria de criação de conta de computador bem-sucedidos

Os seguintes eventos de auditoria existentes estão disponíveis para a criação bem-sucedida de contas de computador:

  • 4741(S): Foi criada uma conta de computador
  • 4742(S): Uma conta de computador foi alterada
  • 4743(S): Uma conta de computador foi excluída

Para obter mais informações, consulte Auditar o gerenciamento de contas do computador.

Perguntas frequentes

P1. Como é que esta atualização afeta os objetos existentes no Active Directory?

R1. Para objetos existentes, a validação ocorre quando os utilizadores que não têm direitos de administrador modificam os atributos sAMAccountName ou UserAccountControl .

P2. O que é um sAMAccountName?

R2. sAMAccountName é um atributo exclusivo em todas as entidades de segurança no Active Directory e inclui utilizadores, grupos e computadores. As restrições de nome para sAMAccountName estão documentadas em 3.1.1.6 Restrições de atributo para Atualizações originário.

P3. O que é um sAMAccountType?

R3. Para mais informações, leia os seguintes documentos:

Há três valores sAMAccountType possíveis que correspondem a quatro possíveis sinalizadores UserAccountcontrol da seguinte maneira:

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

P4. Quais são os valores possíveis para UserAccountControl?

R4. Para mais informações, leia os seguintes documentos:

5º. Como posso localizar objetos não compatíveis que já existem no meu ambiente?

A5. Os administradores podem procurar no diretório das respetivas contas não conformes através de um script do PowerShell, como os exemplos abaixo.

Para localizar contas de computador que tenham um sAMAccountName não compatível:

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

Para localizar contas de computador que tenham um UserAccountControl sAMAccountType não compatível:

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

Recursos