Análise de Atividades Suspeitas com Audit

O Audit fornece uma auditoria completa nos servidores, com base em regras preestabelecidas pelo administrador.

[ Hits: 1.732 ]

Por: Perfil removido em 28/09/2020


Introdução



Análise de Atividades Suspeitas com Audit:
  • Data e hora de determinado evento;
  • Associação de um evento a um usuário;
  • Modificações nos servidores;
  • Falhas de acesso;
  • Alterações em arquivos sensíveis como /etc/passwd por exemplo.

Diagrama funcional do Audit
O Audit, geralmente, é utilizado para identificar alterações em arquivos, como por exemplo o /etc/passwd, /etc/shadow e rastreabilidade de usuários.

Neste artigo, foram selecionados apenas algumas features, utilizadas para monitorar e detectar atividades suspeitas, sendo elas:
  • auditctl - checar e listas as regras implementadas em seu sistema 1
  • aureport - ferramenta para gerar reports com base no arquivo de logs audit.log 2
  • ausearch - ferramenta para procurar eventos com base no audit.log 3

Obs.: neste Lab foi utilizado o CentOS 7, mas pode ser adaptado para qualquer distribuição, sem maiores dificuldades.

Para instalar o Audit, utilize o comando abaixo:

# yum install auditd -y

O comando utilizado para iniciar o Audit:

# service auditd start

Para habilitar o serviço e subir automaticamente no próximo boot:

# systemctl enable auditd

Syscall do Audit:
  • open() - reading data
  • write() - data entry
  • open() - opening the file
  • fork() - create a new process
  • exec() - running the program

As regras são configuradas no arquivo /etc/audit/rules.d/audit.rules e os logs no /var/log/audit/audit.log. Foram adicionadas apenas algumas regras para demonstração, como exemplo abaixo:
  • a always,exit -F arch=b32 -S execve -k execv
  • a always,exit -F arch=b64 -S execve -k execv
  • w /etc/passwd -p war -k auditcmd
  • w /etc/shadow -p war -k auditcmd

Obs.: o parâmetro k se refere a key, pode ser utilizado qualquer nome.

Após realizar as configurações, é necessário reler o arquivo com o comando abaixo:

# auditctl -R /etc/audit/rules.d/audit.rules

Analisando Atividades Suspeitas

Existem várias formas de analisar as atividades do Audit, mas a forma mais simples é com o comando tail no arquivo de log, exemplo:

# tail -f /var/log/audit/audit.log

tail no arquivo de log
Na figura 2 acima, é possível perceber que há um evento suspeito. Nesta syscall tem uma chamada no binário hardlink para o Kernel. O que poderia ser? Um Malware ou um Rootkit?

Todo evento é possível de ser filtrado pelo pid ou ppid, como apresentado na figura 3, abaixo:

# ausearch -p 15946
Ao concatenar os comandos ausearch e aureport, é possível descobrir os arquivos alterados:

# ausearch -r -p 15946 |aureport --file --summary

Comandos concatenados ausearch e aureport
A figura 4 acima, apresenta os arquivos alterados, sendo eles "hardlink" e "ld-linux-x86-64.so.2".

O comando report lista todos os eventos realizadas no dia:

# aureport -ts today -i -x --summary
Como é possível observar na figura 5 acima, a saída do comando apresenta uma grande quantidade de atividades no binário hardlink, sendo que este não é um comportamento comum.

Pode ser um artefato malicioso? Para comprovar, será utilizado a ferramenta chkrootkit com o parâmetro -q. Este parâmetro lista somente arquivos infectados:

# chkrootkit -q
Bingo! Foi possível detectar um rootkit, pt-br, denominado Diamorphine.

Conclusão

Neste artigo foi apresentado o básico do que é possível fazer com o Audit. Ao considerar as boas práticas, recomenda-se revisar as regras e monitorar os arquivos de log, para identificar possíveis atividades suspeitas.

O Audit pode também ser integrado com outras ferramentas que há no mercado, como por exemplo ossec.

Ferramentas utilizadas no Lab:
Obs.: Prestigie as ferramentas nacionais.

Referências



   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Ubuntu 14.04 no AD com CiD

A origem do Linux

ROX-Files: Ícones para gerenciadores de janelas que não suportam ícones

Vírus em Linux?

Configuração do serviço NTP em servidor cliente

Leitura recomendada

Análise de Malware em Forense Computacional

Alta Disponibilidade com LVS

Trilhas de Certificação em Segurança da Informação - Qual caminho seguir?

Criando um repositório criptografado de dados com Cryptsetup (dm-crypt) sem (re)particionamento do HD

Utilizando RPM para detecção de intrusos

  
Comentários
[1] Comentário enviado por mauricio123 em 30/09/2020 - 13:13h


Bom artigo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts