Ir para o conteúdo

Segurança - Instalando o Rkhunter e o Chkrootkit no Ubuntu 20.04

Banner

O tkhunter e o chkrootkit são aplicações de segurança que verificam o sistema e tentam localizar rootkits, backdoors e possíveis explorações locais. Para instalar estas aplicações podemos utilizar o comando:

Comando :
sudo apt install rkhunter chkrootkit unhide wget lynx

📚 Configurando e testando o rkhunter

Depois de instalar o rkhunter, precisamos editar o arquivo /etc/rkhunter.conf para realizar alguns ajustes.

Comando :
sudo nano /etc/rkhunter.conf

A seguir temos as linhas que precisamos ajustar:

Configuração :
UPDATE_MIRRORS=1
MIRRORS_MODE=0
MAIL-ON-WARNING=root
WEB_CMD=""

O próximo passo será realizar a atualização as assinaturas utilizadas pelo rkhunter:

Comando :
sudo rkhunter --update

📚 Localizando processos ocultos no sistema

Depois de ajustar o rkhunter, podemos utilizar o comando unhide para verificar a existência de processos ocultos no sistema:

Inicialmente realizaremos uma busca na pasta /proc, onde o sistema armazena as informações sobre os processos.

Comando :
sudo unhide proc

Caso o sistema não possua processos ocultos, a saída do comando anterior deve ser semelhante à:

Saída :
Unhide 20130526
Copyright © 2013 Yago Jesus & Patrick Gouin
License GPLv3+ : GNU GPL version 3 or later
http://www.unhide-forensics.info

NOTE : This version of unhide is for systems using Linux >= 2.6

Used options:
[*]Searching for Hidden processes through /proc stat scanning

Em seguida realizaremos uma busca comparando as informações geradas pelo comando /bin/ps com as informações obtidas via system calls

Comando :
sudo unhide sys

Caso o sistema não esteja comprometido, ou seja não tenha sido invadido, a saída do comando anterior deve ser semelhantes à:

Saída :
UUnhide 20130526
Copyright © 2013 Yago Jesus & Patrick Gouin
License GPLv3+ : GNU GPL version 3 or later
http://www.unhide-forensics.info

NOTE : This version of unhide is for systems using Linux >= 2.6

Used options:
[*]Searching for Hidden processes through getpriority() scanning

[*]Searching for Hidden processes through getpgid() scanning

[*]Searching for Hidden processes through getsid() scanning

[*]Searching for Hidden processes through sched_getaffinity() scanning

[*]Searching for Hidden processes through sched_getparam() scanning

[*]Searching for Hidden processes through sched_getscheduler() scanning

[*]Searching for Hidden processes through sched_rr_get_interval() scanning

[*]Searching for Hidden processes through kill(..,0) scanning

[*]Searching for Hidden processes through  comparison of results of system calls

📚 Criando e testando o script de carga do rkhunter

Uma vez que realizamos uma verificação inicial do sistema, podemos criar o script que será utilizado para executar periodicamente o rkhunter.

Primeiro devemos criar a pasta onde ficarão os scripts:

Comando :
sudo mkdir -p /root/scripts/

Em seguida devemos criar o arquivo root/scripts/rkhunter.sh, contendo as seguintes linhas:

Configurações :
#!/bin/bash
# Scripts que verifica rootkist e alterações nos arquivos do sistema

# Atualização das assinaturas
/usr/bin/rkhunter --update

# Fazendo a varredura
/usr/bin/rkhunter -c --cronjob --noappend-log --rwo > /var/log/rkhunter.mail

# Enviando email caso seja encontrado algum problema
if [[ -s /var/log/rkhunter.mail ]]
then
      cat /var/log/rkhunter.mail | mail -s "[rkhunter] Warnings found for $HOSTNAME" seu_email@gmail.com
fi

# Apagando os arquivos criados
rm -f /var/log/rkhunter.mail /var/log/rkhunter.log /var/log/rkhunter.log.old

Depois de criar o script devemos ajustar as permissões do arquivo

Comando :
sudo chmod 750 /root/scripts/rkhunter.sh

Para finalizar o processo vamos testar o funcionamento do script:

Comando :
sudo  /root/scripts/rkhunter.sh

Quando o script tiver terminado de executar será enviado uma mensagem para o endereço de e-mail informando no script (seu_email@gmail.com)

📚 Criando e testando o script de carga do chkrootkit

Assim como ocorreu com o rkhunter, criaremos um script (/root/scripts/chkrootkit.sh) para executar o `chkrootkit. Neste arquivo devemos adicionar as seguintes linhas:

Configurações :
#!/bin/bash

/usr/sbin/chkrootkit 2>&1 | egrep "INFECTED|Vulnerable" | grep -v -f "/root/scripts/falsos_positivos" > /tmp/chkrootkit.txt

#envia um e-mail com os arquivos "infectados" somente se o arquivo de log possuir conteudo (tamanho nao for zero)

if [[ -s /tmp/chkrootkit.txt ]]
then
  mail -s "[chkrootkit] $HOSTNAME" seu_email@gmail.com < /tmp/chkrootkit.txt
  #echo tem!
fi

rm -f /tmp/chkrootkit.txt

Depois de criar o script devemos ajustar as permissões do arquivo

Comando :
sudo chmod 750 /root/scripts/chkrootkit.sh

Antes de finalizar devemos criar o arquivo /root/scripts/falsos_positivos, que inicialmente deve estar vazio. Neste arquivo adicionaremos as informações sobre os falsos positivos gerados pelo chkrootkit

Comando :
sudo touch /root/scripts/falsos_positivos

Para finalizar o processo vamos testar o funcionamento do script:

Comando :
sudo  /root/scripts/chkrootkit.sh

📚 Incluindo os scripts na crontab do root

Para adicionar os scripts ao crontab do usuário root devemos utilizar o comando:

Comando :
sudo crontab -e

No final do arquivo devemos adicionar as seguintes linhas

Configurações :
##
# chkrootkit/rkhunter
###
0 5 * * * /root/scripts/chkrootkit.sh
55 15 * * * /root/scripts/rkhunter.sh

Com isto finalizamos o processo de instalação e configuração do rkhunter e do chkrootkit, assim como agendamos a execução dos scripts.


Banner


Última atualização: 2 de novembro de 2020

Comentários