Identificando Local Admins utilizando o Microsoft Defender ATP

 


O Defender ATP é uma plataforma poderosa da Microsoft para identificar ameaças e vulnerabilidades. Uma das funcionalidades que mais gosto é o Advanced Threat Hunting (AHT). Através dele é possível fazer pesquisas avançadas, busca de eventos, vulnerabilidades e ameaças, dos mais diversos tipos.

O ATH utiliza a linguagem KQL para consultas, e através da console do Centro de Segurança Microsoft está disponível inclusive um editor com toda a estrutura de objetos disponíveis para consulta e parametrização, além da ajuda do IntelliSense.


Tela do Advanced Threat Hunting


Neste artigo, iremos abordar rapidamente como procurar por logons com privilégios administrativos, utilizando esta ferramenta.


Porque isto é importante?

Uma das características principais dos ataques avançados persistentes, é a possibilidade de um invasor se movimentar, enquanto consegue ir expandindo e elevando seu privilégio no ambiente. E quando um atacante encontra uma conta com privilégios elevados, ele tentará se utilizar deste acesso para instalar novos softwares maliciosos e aumentar seu controle.

Sendo assim, a recomendação é que nenhum logon interativo seja realizado com uma conta com privilégios de administrador local. Quando necessário, o privilégio deve ser elevado sob-demanda durante uma tarefa especifica através de ferramentas como o Microsoft LAPS, ou até mesmo o RunAs ou sudo.


Como identificar Local Admins de forma centralizada?

Existem algumas maneiras de verificar estes acessos, mas uma que acho fácil é utilizar a console do MSDATP (necessário licença Microsoft como E5, E5 Security e cliente instalado e ativo). Existem algumas queries que retornam os últimos logons realizados utilizando credenciais este nível de privilégio, e o tempo pode ser ajustado na consulta.


Listar um sumário de logons Local Admin

Esta consulta irá listar um sumário dos ultimos logons realizados localmente, utilizando credenciais de privilégio elevado:

DeviceLogonEvents
| where IsLocalAdmin == 1 and LogonType == "Interactive"
| extend locallogon = extractjson("$.IsLocalLogon",AdditionalFields, typeof(string))
| project Timestamp , DeviceName, AccountDomain, AccountName , LogonType, ActionType, locallogon
| summarize count() by AccountName

Repare na condição LogonType == "Interactive". Ela é responsável por filtrar se os resultados serão apenas logons locais. Quando o o logon é realizado remotamente (via RDP por exemplo), o LogonType é RemoteInteractive.


Sendo assim, vamos agora listar todos os logons de administradores, sendo locais ou remotos:

DeviceLogonEvents
| where IsLocalAdmin == 1 and LogonType
| extend locallogon = extractjson("$.IsLocalLogon",AdditionalFields, typeof(string))
| project Timestamp , DeviceName, AccountDomain, AccountName , LogonType, ActionType, locallogon
| summarize count() by AccountName

O resultado em ambos os casos será umá lista sumarizada dos acessos em formato Excel, conforme o exemplo abaixo:




Lista detalhada de logons Local Admin

Agora iremos gerar uma lista detalhada com todos os eventos de logon, incluindo data/hora, estação, usuário, tipo de logon. Esta consulta permite examinar todos os eventos ocorridos em um periodo de tempo, de modo que algum tipo de troubleshooting ou investigação possam ser conduzidos.

DeviceLogonEvents 
| where IsLocalAdmin == 1 and LogonType == "Interactive"
| extend locallogon = extractjson("$.IsLocalLogon",AdditionalFields, typeof(string)) 
| project Timestamp , DeviceName, AccountDomain, AccountName , LogonType, ActionType, locallogon 


Repare que a única diferença em relação a consulta anterior, é que tiramos a clausula summarize. Com isso, serão listados todos os eventos de logon na integra. E caso queira listar também os logons remotos em servidores com privlégio administrativo, basta tirar também condição LogonType, conforme fizemos no exemplo anterior.

O resultado seria assim:



Conclusão

O Microsoft Defender ATP é uma solução bastante poderosa, tanto para analisar vulnerabilidades e ameaças, quanto para identificar eventos de segurança. O Advanced Threat Hunting possui uma infinidade de recursos para fazer pesquisas, utilizando toda a telemetria gerada pelo Windows e pela própria solução de EDR da Microsoft. E não menos importante, evite sempre trabalhar utilizando credenciais de alto privilégio. RunAs e sudo sãos seus melhores amigos.

1 Comentários

Postar um comentário

Postagem Anterior Próxima Postagem