Análise de Atividades Suspeitas com Audit

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

[ Hits: 7.780 ]

Por: Clandestine 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

Diminua os vetores de exploração, conheça o DOAS

Leitura recomendada

Pen-Test com ênfase em WLAN

Restrição em diretórios usando o Apache2 sem mistérios

Criando VPNs entre servidores Linux sem mistérios (parte I)

SELinux - Security Enhanced Linux

Instalando um firewall em ambientes gráficos leves

  
Comentários
[1] Comentário enviado por maurixnovatrento 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts