Detectar Criações e Modificações Inesperadas de Arquivos
Nesta etapa, você aprenderá a detectar atividades suspeitas no sistema de arquivos, como a criação ou modificação inesperada de arquivos. Atacantes frequentemente criam ou alteram arquivos para estabelecer persistência, armazenar payloads maliciosos ou adulterar configurações do sistema. Usaremos duas ferramentas poderosas de linha de comando: find para buscar arquivos com base em seus tempos de modificação, e inotifywait para realizar o monitoramento em tempo real de eventos de diretório. Todas as operações ocorrerão no seu diretório ~/project.
Primeiro, vamos usar o comando find para localizar arquivos que foram modificados recentemente. Isso é útil para auditorias de segurança periódicas. Vamos criar um arquivo de configuração de exemplo para monitorar.
echo "SERVER_IP=192.168.1.1" > ~/project/app.conf
O comando find pode buscar arquivos com base em vários critérios. Usaremos a flag -mmin, que significa "modificado há minutos". O comando a seguir encontrará todos os arquivos no diretório atual (.) que foram modificados nos últimos 5 minutos.
find . -mmin -5
A saída listará o arquivo que você acabou de criar.
./app.conf
Agora, vamos simular um atacante modificando este arquivo de configuração.
echo "MALICIOUS_PAYLOAD=..." >> ~/project/app.conf
Se você executar o comando find novamente, ele mostrará app.conf mais uma vez porque seu tempo de modificação foi atualizado. Esta é uma maneira simples de identificar alterações recentes. Agora, vamos simular um atacante inserindo um novo arquivo, uma tática comum.
touch ~/project/hidden_script.sh
Execute o comando find mais uma vez.
find . -mmin -5
Agora ele lista tanto o arquivo modificado quanto o recém-criado, demonstrando como você pode identificar rapidamente a atividade recente do sistema de arquivos.
./app.conf
./hidden_script.sh
Embora o find seja útil para auditorias, ele não fornece alertas em tempo real. Para isso, podemos usar inotify-tools. Primeiro, você deve instalar o pacote.
sudo apt-get update
sudo apt-get install -y inotify-tools
O comando principal é inotifywait, que pode monitorar um arquivo ou diretório para eventos específicos. Vamos executá-lo no modo de monitoramento (-m) em nosso diretório ~/project. O & o executará como um processo em segundo plano para que você possa continuar usando seu terminal.
inotifywait -m ~/project &
O comando agora está observando silenciosamente as mudanças. Vamos realizar algumas ações para acioná-lo. Primeiro, crie um arquivo.
echo "new file" > ~/project/new_file.txt
Você verá imediatamente a saída do inotifywait relatando o evento CREATE.
/home/labex/project/ CREATE new_file.txt
Agora, modifique o arquivo.
echo "modified" >> ~/project/new_file.txt
A ferramenta relata um evento MODIFY.
/home/labex/project/ MODIFY new_file.txt
Finalmente, exclua o arquivo.
rm ~/project/new_file.txt
Você verá um evento DELETE. Este feedback em tempo real é inestimável para um Centro de Operações de Segurança (SOC) ou um sistema automatizado de detecção de intrusão.
/home/labex/project/ DELETE new_file.txt
Para parar o processo de monitoramento em segundo plano, você pode usar o comando pkill.
pkill inotifywait
Você usou com sucesso tanto find quanto inotifywait para detectar alterações no sistema de arquivos.