Adicionamos uma verificação de hash do rootkit hunter no script diário

Por causa de toda essa udalenka, o laptop de treinamento, meio vazio antes, agora se tornou a principal máquina de trabalho e vale a pena protegê-lo de alguma forma com mais cuidado. O que, em geral, é claramente sugerido pelas autoridades. No laptop agora está o Ubuntu 20.04 beta.

Tudo começou com configurações claras do BIOS e criptografia de disco completa, sobre as quais provavelmente não devo escrever. Mas então eu decidi entender o que o utilitário rkhunter (“rootkit, backdoor, sniffer e scanner de exploração”) pode fazer no nível do arquivo .

Eu não tinha grandes expectativas em relação ao software que não era atualizado há alguns anos. Devo dizer imediatamente que duvido muito do uso das assinaturas de fevereiro de 2018 para procurar rootkits, mas um dos outros modos de operação - verificar hashes de arquivos, me interessou. Quem está interessado em tal experiência e o que aconteceu até agora - bem-vindo ao gato.

A idéia é simples - mas vamos adicionar uma verificação no script de itens úteis da manhã para ver se os hashes MD5 dos arquivos para os quais eles não deveriam mudar não foram alterados. Pelo menos até que as atualizações do pacote o façam. Uma lista muito branca, mas não inútil, na minha opinião. A versão atual capaz de calcular e verificar os hashes do utilitário é configurada simplesmente pelo gerenciador de pacotes:

apt search rkhunter
rkhunter/focal,focal,now 1.4.6-8 all [installed]
  rootkit, backdoor, sniffer and exploit scanner

A principal configuração do hunter está no /etc/rkhunter.conf e, primeiro, para resolver o meu problema, estes são os parâmetros que defini lá:

ENABLE_TESTS=hashes

Porque, além dos hashes, nada me interessa ainda. A lista de outros testes possíveis pode ser obtida pelo comando

sudo rkhunter --list test

Ainda considero a colisão MD5-ok relacionada à matemática, mas não à prática. Não insisto nessa opinião, mas quase todos os dias olho para um bom malware e até agora não encontrei esses conflitos na natureza. Então, por enquanto, a configuração é suficiente para mim.

HASH_CMD=MD5

Em seguida, ele indicou seu gerenciador de pacotes e, o mais importante, os diretórios, arquivos hashes que me interessam. O caminho será, por exemplo, / bin e / usr / bin. Sobre os arquivos que apareceram nos diretórios, mas que não estavam lá no momento do cálculo, o caçador também dará avisos.

PKGMGR=DPKG
USER_FILEPROP_FILES_DIRS=/bin/*
USER_FILEPROP_FILES_DIRS=/usr/bin/*

Aqui está um ponto importante: com minhas configurações, a verificação não se baseia em pacotes, mas em diretórios. Provavelmente, isso é mais correto, porque os pacotes contêm muitos arquivos não executáveis ​​e devem primeiro ser filtrados, por exemplo, por meio de arquivo. Até agora, escolhi o caminho para aumentar a lista de diretórios e exceções.

Concluímos a configuração do scanner agora, agora é hora de atualizar a base dos hashes corretos em /var/lib/rkhunter/db/rkhunter.dat com as novas configurações. Para fazer isso, você precisa de um comando (ele também leva os nomes dos pacotes para adicionar ao banco de dados, se você seguir o caminho inverso).

sudo rkhunter --propupd

Depois disso, todos os arquivos de seu interesse e seus hashes devem aparecer em rkhunter.dat. No meu caso, são 2847 arquivos e o indexador levou 9m 2.117s. É um pouco demais para três mil MD5s, considerando md5sum para / bin / ls para 0,003s, mas realmente existe.

É isso aí, estamos prontos para executar uma verificação. Ainda não em combate, é improvável que alguns malwares já tenham conseguido alterar os hashes.

sudo rkhunter -c

Há uma chave muito útil aqui - rwo (reportar apenas avisos), que ignorará todas as comparações bem-sucedidas e dará apenas avisos. Você precisa procurar o resultado do trabalho em /var/log/rkhunter.log. Quanto à velocidade do cheque, para meus quase três mil binários, eram 10m 27.489s, comparáveis ​​ao tempo de indexação.

Nós resolvemos a verificação, mas a questão é reindexar ao atualizar pacotes. Essa. fizemos o apt update e agora não consideramos todos os arquivos atualizados como malware. O scanner possui outro config / etc / default / rkhunter para automatizar tarefas. Nele vamos definir o parâmetro.

APT_AUTOGEN="yes"

E em /etc/apt/apt.conf.d/90rkhunter, está um script responsável pela pós-reindexação:


 // Makes sure that rkhunter file properties database is updated after each remove or install only APT_AUTOGEN is enabled
 DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ] && grep -qiE '^APT_AUTOGEN=.?(true|yes)' /etc/default/rkhunter; then /usr/share/rkhunter/scripts/rkhupd.sh; fi"; };

Na verdade, todos, quaisquer adições terão prazer em aceitar. Espero que tenha sido útil.

All Articles