Rastreando usuários em domínios Windows - Parte 2
No primeiro artigo abordamos o evento 4624, gerado individualmente em cada host e que indica informações bem completas sobre uma sessão iniciada em uma máquina Windows. Nesta segunda parte, serão abordados eventos complementares que podem ser utilizados na monitoração para traçar as atividades de usuários em redes Windows.
Evento 4625 – Falha de login
Este evento possibilita descobrir tentativa de login sem sucesso. A relação destas contas e uma análise estatística da ocorrência de tais eventos pode mostrar desvios e, consequentemente, uma possível ameaça presente na rede. Além das informações padrões como nome do usuário e domínio, há um código de falha que indica o motivo pelo qual o login não foi permitido. Este é um indicador importante na correlação e investigação de incidentes. Os motivos variam desde um usuário errado, conta desabilitada e até uma conta sem as permissões de login.
Evento 4648 – Tentativa de logon com credenciais explícitas
Este evento é interessante pois é um bom indicador de movimentação uma vez que pode mostrar um adversário utilizando a feature de “runas” ou autenticando-se como outro usuário em um host.
Os principais atributos a serem analisados são:
- Account Name - Subject: A credencial que chamou a sessão de logon
- Accounte Name – Account Whose Credentials Were Used: Indica a credencial final pela qual foi executada a autenticação
- Target Sever: O host onde foi feito o logon
- Process Name: O processo que solicitou a execução de logon
Eventos 4634 e 4647 – Logoff
Estes eventos indicam quando um logoff foi efetuado. São úteis, por exemplo, para se rastrear por quanto tempo uma sessão ficou ativa. O evento 4634 indica que a sequência de logoff foi iniciada pelo usuário, enquanto o evento 4647 é gerado quando a sessão é completamente finalizada.
Atenção para a situação em que uma máquina é desligada, pois uma vez que o usuário não solicitou o logoff (apenas o desligamento), o evento 4634 não é registrado.
Eventos 4768 e 4771 – TGT kerberos
Este evento indica que um ticket de autenticação Kerberos foi solicitado, sendo gerado somente em domain controllers com versão a partir do Server 2008.
Um pouco sobre Kerberos:
- Quando um cliente, computador ou usuário, precisa acessar algum recurso na rede, como um file server, ele cria um pacote de autenticação que contém informações que identificam o cliente, data e hora.
- Parte deste pacote é criptografada com a senha do usuário, que só pode ser reconhecida pelo Domain Controller.
- Se a chave é reconhecida pelo DC, o pacote de autenticação não é mais necessário e um TGT (Ticket Granting Ticket) é criado.
- O DC encripta o TGT com sua chave própria chave de criptografia e o transmite para o cliente.
- O ticket então pode ser utilizado para se comunicar com o DC e solicitar novos tickets para acesso em outros recursos na rede. Estes tickets têm um tempo de duração de cerca de 8 horas, por padrão.
Processo de autenticação Kerberos simplificado
Quando o TGT é gerado, o evento 4768 é logado no DC. Caso haja alguma falha na autenticação da senha é gerado o evento 4768 indicando falha na geração do TGT ou o evento 4771 (Kerberos pre-authentication failed).
Este evento nos dá as seguintes informações:
- Account Name e SID: Nome da conta e ID que realizaram o logon
- Supplied Realm Name: Domínio
- Result Code: Indica a razão do evento ter sido gerado. Esta lista possui a relação completa dos códigos com a respectiva descrição. O evento 4771 é gerado nas condições onde o resultado é 0x10, 0x17 and 0x18.
Referências:
Following a User’s Logon Tracks throughout the Windows Domain – Event Tracker
4771: Kerberos pre-authentication failed
4768: A Kerberos authentication ticket (TGT) was requested
4768(S, F): A Kerberos authentication ticket (TGT) was requested - Microsoft
4625: An account failed to log on
Finding Evil When Hunting for Lateral Movement - SQRRL