domingo, 4 de agosto de 2019

Utilizando o Sysmon para monitorar atividades do Windows

Confesso a vocês que quando escrevi o ultimo artigo, referente a logs do Windows cuja monitoração é obrigatória para garantir ambientes seguros - e que pode ser conferido aqui - não imaginei tamanha repercussão.

Bom conteúdo? Sim, mas uma boa dose de sorte também contribuiu. Tenho certeza disso ...

Foram dezenas de artigos interessantes, sempre focados em entregar conteúdo. E de repente alguns deles ... boooom!!!! Explode!!!

Os feedbacks foram incríveis e confesso que isso me gera certa satisfação com a sensação de estar no caminho certo.

Talvez eu tenha conquistado um pouco mais de leitores e finalmente ultrapassado a barreira de 5 leitores fieis ... 😄😄😄

No artigo passado, menciono uma ferramenta que é bastante eficiente na monitoração de atividades de sistemas operacionais Microsoft: O Sysmon.

Utilizarei as próximas linhas para falar um pouco mais sobre essa ferramenta e os eventos que merecem atenção especial.

Vamos lá ...

O Sysmon é um utilitário gratuito da Microsoft que monitora a atividade do sistema e o registra em um log de eventos do Windows, também chamado de "Sysmon".

No entanto, há alguma sobreposição entre o log do Sysmon e o log de segurança do Windows.  Assim, recomendo utilizar o Sysmon para monitorar os eventos que tratarei aqui, pois a qualidade dos dados me parece melhor.

Criação de processo (Event ID 1) - O log de segurança do Windows informará quando um processo EXE for iniciado e fornecerá seu nome e caminho. Mas os invasores podem criar um programa mal-intencionado com o mesmo nome de uma ferramenta legítima, como por exemplo c:\windows\notepad.exe, ou modificar um programa existente para executar ações ilícitas. Para pegá-los, você precisa de um hash do conteúdo do arquivo, que o log de segurança não fornece, mas o Sysmon sim. 

Hash é um resumo matemático exclusivo do fluxo de bits do arquivo, portanto, a substituição ou a alteração do arquivo resultará em um hash diferente. Na internet existe diversos aplicativos para analise de hash. Analisando o hash de um arquivo através de um desses aplicativos, você pode determinar facilmente se o arquivo foi alterado ou substituído por um código malicioso.

Conexões de rede (Event ID 3) - O monitoramento das conexões de rede também pode ajudar a identificar invasores, pois obviamente, o volume de dados trafegado será muito alto. É fundamental estabelecer linhas de base das atividades normais. De posse dessa linha de base, fica fácil identificar comportamentos anormais e conexões suspeitas. 

Tanto o log de segurança do Windows quanto o Sysmon permitem coletar eventos de conexão de rede, mas somente o Sysmon vincula cada conexão a um processo por meio dos campos ProcessID e ProcessGUID, além de fornecer os endereços IP de origem e destino, números de porta e status IPv6.

Alterações no registro (Event ID de 12 a 14) - Depois que os invasores inserem seu código malicioso em uma estação de trabalho por meio de um e-mail de phishing, programa ou arquivo infectado ou qualquer outro método, eles desejam que o código malicioso seja executado mesmo após a reinicialização da estação de trabalho.

A maneira mais comum de alcançar essa persistência é através da alteração do registro do Windows. É possível acompanhar isso através do log de segurança do Windows, mas o Sysmon fornece mais contexto, incluindo detalhes importantes como quem fez a alteração, qual computador foi utilizado, quando aconteceu, o ID do processo e o novo nome de qualquer chave ou valor renomeado.

Criação de arquivo (Event ID 11) - O log de segurança do Windows é capaz de informar que um novo arquivo foi criado ou sobrescrito em uma determinada pasta, mas não fornece o nome desse novo arquivo. O Sysmon faz isso, facilitando a identificação e a investigação de eventos suspeitos de criação de arquivos para que você possa bloquear os ataques mais rapidamente. 

Monitore com atenção os locais designados a inicialização automática, como a pasta "Inicializar", bem como os diretórios temporários e de download, nos quais o malware geralmente aparece durante a infecção inicial. 

Carregamentos de driver e imagem (Event ID 6 e 7) - Além de fornecer o hash para o processo EXE iniciado conforme explicado acima, o Sysmon também controla as cargas de driver de dispositivo e DLL, que os invasores também usam. Ele informa inclusive se o arquivo é assinado, quem o assinou e se a assinatura é válida.

Criação de encadeamento remoto (Event ID 8) - Ferramentas sofisticadas de invasão podem injetar uma DLL em um processo em execução e, em seguida, acionar essa DLL em outro contexto. Embora esse recurso tenha usos legítimos, como depuração, você precisa saber quando isso ocorre em ambiente produtivo.

Raw Access Read (Event ID 9) - O evento RawAccessRead detecta quando um processo realiza operações de leitura da unidade usando a denotação “\\. \”. 

Essa técnica é utilizada por malwares para exfiltração de dados bloqueados para leitura, bem como para evitar ferramentas de auditoria de acesso a arquivos. O evento indica o processo de origem e o dispositivo de destino.

Criação e conexão de pipes nomeados (Event IDs 17 e 18) - Alguns softwares mal-intencionados se comunicam com componentes diferentes por meio de um canal de comunicação no Windows chamado pipes nomeados. Por isso é importante monitorar tais eventos.

Atividade do evento WMI (Event ID 19) - O malware pode ser executado registrando-se um filtro de eventos do Windows Management Instrumentation (WMI). Este evento registra o namespace WMI, o nome do filtro e a expressão de filtro.

Criação de fluxo de arquivos nomeados (Event ID 15) - Esse evento ajuda a detectar variantes de malware que eliminam seus executáveis ​​ou configurações por meio de downloads do navegador.

Alteração de horário de criação de arquivo (Event ID 2) - Para evitar alguns tipos de monitoramento de integridade de arquivo, os invasores podem alterar os tempos de criação de arquivo. 

Por exemplo, eles criarão um arquivo, mas alterarão imediatamente o tempo de criação para que ele não apareça em uma lista de arquivos criados recentemente. 

E o Sysmon vai pegar isso com maestria!!!

Como instalar o SYSMON?


Para instalar o Sysmon, baixe o executável do site da Microsoft (clicando aqui). Descompacte o arquivo e em seguida, execute o seguinte comando:

Sysmon -i

Para controlar quais eventos devem ser registrados, especifique as configurações apropriadas em um arquivo de configuração XML e em seguida, execute o comando abaixo:

Sysmon –c config.xml

Alguns dos eventos listados acima geram falsos positivos. Para minimizar isso e tornar a monitoração mais efetiva, você pode especificar uma lista de arquivos EXE que o Sysmon deverá excluir do monitoramento. 

Para obter um modelo de arquivo de configuração que pode representar um excelente ponto de partida para o monitoramento de alterações do sistema, visite https://github.com/SwiftOnSecurity/sysmon-config.

Protegendo o Sysmon


Sim, também é necessário proteger o Sysmon ... 😕😕😕pois é mais fácil manipular o Sysmon do que o log de segurança do Windows.

Mas nem tudo são dores. Felizmente, existem algumas técnicas que podem minimizar esse risco. 

Primeiro, você pode ocultar o Sysmon alterando o nome do driver (use a tag DriverName no arquivo de configuração) e alterando o nome do serviço (renomeie o executável antes de instalá-lo).

No entanto, ainda existem métodos que os hackers podem usar para encontrar o Sysmon, então você também precisa monitorar ataques nele. 

Felizmente, o Sysmon é capaz de rastrear alterações em si mesmo usando os seguintes eventos:

Event ID 4 - Exibe informações sobre mudanças de estado do serviço Sysmon (iniciar ou parar).

Event ID 16 - Informações sobre alteração de estado de configuração do Sysmon, incluindo o hash do arquivo de configuração.

Você também pode configurar uma tarefa agendada por meio de GPO que periodicamente execute o comando abaixo para impor a configuração apropriada (substitua “\\server\share” pelo caminho correto em seu ambiente):

\\server\share\sysmon -i -accepteula -c \\server\share\sysmon.xml if errorlevel 1 \\server\share\sysmon -c \\server\share\sysmon.xml

Há também ferramentas de terceiros que podem redefinir automaticamente a configuração  do Sysmon após alterações impróprias.

Por hoje é só ... no próximo artigo, tentarei jogar um pouco de luz sobre monitoração do Windows Powershell.

Abraço e até a próxima!!!