Como primeiro passo, usaria inotifywait
.
Assumindo um sistema Debian, se não você pode portar os comandos equivalentes para o seu sistema.
Instale o inotify-tools:
apt-get install inotify-tools -y
Execute inotifywait em / e monitore todos os acessos durante a noite. Aqui está o que eu uso normalmente:
echo 10000 > /proc/sys/fs/inotify/max_user_watches
inotifywait -mr / -e access -e create -e modify -e delete -e moved_to -e moved_from --format %w:%f:%e:%T --timefmt %F:%T >> /root/system.inotify.log &
Verifique os registros no dia seguinte para saber o que aconteceu.
Mesmo que um sistema remoto copie um script localmente, execute-o e exclua-o, você ainda o verá lá. O que quer que você veja, vai sugerir a você o que acontece, pois vai pegar tudo no nível subjacente.
Não é vulnerável a condições de corrida ou se o script excluir o arquivo de origem rapidamente, pois ele fica preso à interface inotify
do Linux, portanto, nenhuma ação será perdida.
Deixe-nos saber o que você acha, estou interessado em saber.