Para quem não sabe o
PAM possui ótimos módulos que podem auxiliar na auditoria de usuários de forma simples e nativamente, em nossa dica vamos usar o módulo
pam_tty_audit.
Para nosso lab vamos usar o
CentOS 7.9, porém para outras distribuições é a mesma configuração.
# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
Criamos o usuário clandestine para teste.
# id clandestine
uid=1000(clandestine) gid=1000(clandestine) grupos=1000(clandestine)
Editamos o arquivo
/etc/pam.d/system-auth e adicionamos a linha abaixo no fim do arquivo.
session required pam_tty_audit.so disable=* enable=clandestine log_passwd
Muito fácil de entender a sintaxe, desabilitamos o pam audit para todos os usuários e habilitamos somente para o usuário clandestine junto com a opção
log_passwd (função semelhante keylogger).
Você pode passar mais usuários se quiser, basta passar depois da vírgula.
session required pam_tty_audit.so disable=* enable=clandestine,behemoth log_passwd
Prova de Conceito
Vamos executar alguns comandos com o usuário auditado.
# su - clandestine
Último login:Sáb Out 9 08:58:17 EDT 2021em pts/0
touch demonio_do_pantano
ls -lrt demo* ; df -h ; ls -lrt ; rm -rf demo
passwd
Changing password for user clandestine.
Changing password for clandestine.
(current) UNIX password:
Agora vamos ver os comandos efetuados pelo modulo do PAM, inclusive a senha digitada, para isso vamos usar o comando
aureport do serviço audit linux.
# aureport --tty
TTY Report
===============================================
# date time event auid term sess comm data
===============================================
1. 09-10-2021 08:45:58 152 0 ? 2 bash "ls ",<ret>,"touch ",<backspace>,"h demonio_do ",<backspace>,"_pantano",<ret>,<ret>,<ret>,"ls -lrt demo",<tab>,<ret>,"exit ",<ret>
2. 09-10-2021 08:47:42 159 0 ? 2 bash "df -h ",<ret>,"ls -lrt ",<ret>,"rm -rf demo",<tab>,<ret>,<ret>
3. 09-10-2021 08:58:24 168 0 ? 2 passwd "toor",<nl>
Isso foi apenas um pequeno exemplo do que podemos usar nativamente, sem a recorrer a essas ferramentas pagas de mercado, para quem quiser entender um pouco como funciona o audit vou deixar o link do meu outro artigo.
Abraços pessoal.
Referências