Rastrear qual processo / programa está causando erro de pré-autenticação Kerberos (código 0x18)

12

Temos uma conta de domínio que está sendo bloqueada por 1 de 2 servidores. A auditoria interna nos diz apenas isso (bloqueado para SERVER1, SERVER2).

A conta é bloqueada dentro de 5 minutos, cerca de 1 solicitação por minuto, ao que parece.

Inicialmente, tentei executar o procmon (da sysinternals) para ver se algum novo PROCESS START estava sendo gerado depois que eu desbloquei a conta. Nada suspeito surge. Depois de executar procmon no meu trabalho e elevando a um UAC shell (conscent.exe) parece que a partir da pilha que ntdll.dlle rpct4.dllsão chamados quando você tenta auth contra AD (não tenho certeza).

Existe alguma maneira de restringir qual processo está causando uma solicitação de autenticação ao nosso controlador de domínio? É sempre o mesmo controlador de domínio, por isso sabemos que deve haver um servidor nesse site. Eu poderia tentar procurar as chamadas no wireshark, mas não tenho certeza se isso restringiria qual processo está realmente ativando-o.

Nenhum serviço, mapeamento de unidade ou tarefa agendada está usando essa conta de domínio - portanto, deve ser algo que tenha os cleds de domínio armazenados. Não há sessões RDP abertas com essa conta de domínio em nenhum servidor (verificamos).

Notas adicionais

Sim, as auditorias de logon "Sucesso / falha" estão ativadas no controlador de domínio em questão - nenhum evento de falha é registrado até que a conta seja realmente bloqueada.

Mais pesquisas mostram que LSASS.exefaz uma KERBEROSligação para o CD em questão assim que a conta é desbloqueada. É precedido (geralmente) pelo java, que parece ser chamado pelo vpxd.exeprocesso do vCenter. MAS, quando olho para o outro "servidor2" onde o bloqueio da conta pode (também) acontecer, nunca vejo uma chamada lsass.exee apenas os processos apache estão sendo gerados. A única relação que os dois têm é que o SERVER2 faz parte do cluster vSphere do SERVER1 (server1 sendo um vSphere OS).

Erro no DC

Então, parece que tudo o que o AD vai dizer é que é um erro de pré-autenticação do Kerberos. Eu verifiquei e não havia ingressos kliste fiz um flush de qualquer maneira apenas por precaução. Ainda não tenho idéia do que está causando esse erro do kerberos.

Index              : 202500597
EntryType          : FailureAudit
InstanceId         : 4771
Message            : Kerberos pre-authentication failed.

                     Account Information:
                         Security ID:        S-1-5-21-3381590919-2827822839-3002869273-5848
                         Account Name:        USER

                     Service Information:
                         Service Name:        krbtgt/DOMAIN

                     Network Information:
                         Client Address:        ::ffff:x.x.x.x
                         Client Port:        61450

                     Additional Information:
                         Ticket Options:        0x40810010
                         Failure Code:        0x18
                         Pre-Authentication Type:    2

                     Certificate Information:
                         Certificate Issuer Name:
                         Certificate Serial Number:
                         Certificate Thumbprint:

                     Certificate information is only provided if a certificate was used for pre-authentication.

                     Pre-authentication types, ticket options and failure codes are defined in RFC 4120.

                     If the ticket was malformed or damaged during transit and could not be decrypted, then many fields
                      in this event might not be present.
Jaigene Kang
fonte

Respostas:

5

Eventos de logon registram o processo que tenta logon. Habilite a auditoria com falha de logon (Configurações de segurança> Diretivas locais> Política de auditoria> Eventos de logon de auditoria) na Política de segurança local (secpol.msc) e procure um evento no log de eventos de segurança. Você também pode habilitá-lo via Diretiva de Grupo, se preferir.

Haverá uma seção Informações do processo que registra o caminho do executável e o ID do processo.

Exemplo:

Process Information:
    Process ID:         0x2a4
    Process Name:       C:\Windows\System32\services.exe
Mitch
fonte
Parece que isso já estava em nossos GPOs. Posso ver quando o objeto é modificado / desbloqueado no log de segurança, mas não vejo más tentativas depois disso.
Jaigene Kang
@JaiKang, a menos que os servidores em questão sejam controladores de domínio, eles não seriam afetados pela configuração "Logon com falha de auditoria" na política de controladores de domínio padrão. O evento de logon com falha seria registrado pelo servidor que tentava a autenticação e seria definido pela "Diretiva de Domínio Padrão" ou por outra diretiva do computador aplicada a esse servidor.
Mitch
Na verdade, eu descobri. Eu tive que definir algumas configurações na seção "Avançado" das configurações de auditoria. Atualizei minha postagem original com os eventos.
Jaigene Kang
@JaiKang, pré-autenticação é apenas o processo usado para verificar credenciais antes de retornar um token. Ainda deve haver uma auditoria de falha no servidor que tenta autenticação, que inclui a identificação do processo.
Mitch
Você pode elaborar quais configurações "Avançadas" você teve que definir?
Skinneejoe 15/10
2

Encontrei essa pergunta antiga ao pesquisar um problema diferente, mas para qualquer pessoa com um problema semelhante:

O código de falha 0x18 significa que a conta já estava desabilitada ou bloqueada quando o cliente tentou se autenticar.

Você precisa encontrar a mesma identificação de evento com o código de falha 0x24 , que identificará as tentativas de logon com falha que causaram o bloqueio da conta. (Isso pressupõe que esteja ocorrendo devido a uma senha em cache incorreta em algum lugar.)

Você pode ver o Endereço do cliente nesses eventos para ver qual sistema está passando as credenciais inválidas. A partir daí, você precisará descobrir se é um serviço com uma senha antiga, uma unidade de rede mapeada etc.

Há uma variedade de códigos de falha, portanto, você deve procurar algo além de 0x18 para determinar o que causou o bloqueio da conta se não houver eventos com códigos 0x24. Acredito que o único tipo de falha que levará a um bloqueio é 0x24 (senha incorreta), mas posso estar errado.

DoubleD
fonte
Desculpe pela postagem da Necro e desculpas por não inserir como comentário ... Ainda não ganhei meus 50p. :-) O código de falha 0x18 é uma falha de pré-autenticação e não indica uma conta bloqueada. Uma conta bloqueada também poderia disparar um código 0x18, mas eu esperaria um 0x12 para credenciais revogadas.
Sjm
1

Hoje passo muito tempo e descubro a causa raiz. Eu errei - das informações capturadas com o sniffer de rede (o ID do processo de erro do kerberos era 566 = lsass.exe). Deixe-me resumir as informações.

  1. Faça logon no PC com problema, execute o powershell com direitos elevados

  2. Ativar logon de auditoria

    auditpol /set /subcategory:"logon" /failure:enable

  3. Verifique a fonte

    Get-WinEvent -Logname 'Security' -FilterXPath "*[System[EventID=4625]]" -MaxEvents 2 | fl

Se você ver:

Processo de informação:

Identificação do processo de chamada: 0x140

Nome do processo do chamador: C: \ Windows \ System32 \ services.exe

Isso significa que você tem algum serviço em execução na conta do problema com senha antiga

Alex
fonte
0

Isto é das notas acima. Parece que o iniciador deste post afirmou em seu último comentário. Java chamando o processo vpxd.exe.

Notas adicionais Sim, as auditorias de logon "Sucesso / falha" estão ativadas no controlador de domínio em questão - nenhum evento de falha é registrado até que a conta seja realmente bloqueada.

Outras pesquisas mostram que o LSASS.exe faz uma chamada KERBEROS para o controlador de domínio em questão quando a conta é desbloqueada. É precedido (geralmente) por java, que parece ser chamado por vpxd.exe, que é um processo do vCenter. MAS, quando olho para o outro "servidor2" onde o bloqueio da conta também pode acontecer, nunca vejo uma chamada para o lsass.exe e apenas os processos apache estão sendo gerados. A única relação que os dois têm é que o SERVER2 faz parte do cluster vSphere do SERVER1 (server1 sendo um vSphere OS).

user354506
fonte