Recentemente, descobri que alguém estava usando meu computador sem consentimento, navegando em pastas, etc.
Eu poderia mudar todas as minhas senhas imediatamente, mas estou curioso quanto ao que a parte intrometida estava procurando. Então, eu gostaria de montar uma armadilha (sorriso maligno).
Qual software monitorará qualquer atividade no meu computador? Embora eu saiba que capturar minha tela funcionará aqui. Prefiro usar um arquivo de log.
Por exemplo:
/var/log/activity.log
[1 de agosto de 2010 20:23] / usr / bin / thunar acessado / multimedia / cctv-records /
[1 de agosto de 2010 20:25] / usr / bin / mplayer acessado /multimedia/cctv-records/00232.avi
[3 de agosto de 2010 2010 02:34] / usr / bin / thunderbird foi executado
[3 de agosto de 2010 03:33] sessão ssh de entrada de 12.32.132.123
As atividades que eu gostaria de registrar são:
- Acesso a arquivos e pastas no sistema de arquivos
- Comandos executados (do console ou de outro modo)
- Sessões do usuário (logon, sessões ssh e tentativas com falha)
fonte
Respostas:
Você pode usar o mecanismo no kernel
inotify
para monitorar arquivos acessados.Primeiro você deve verificar se
inotify
está ativado no kernel:A próxima coisa a fazer é instalar
inotify-tools
. Instruções para várias distribuições que você pode encontrar na página do projeto - ela deve estar nos repositórios de todas as principais distribuições.Depois que o inotify estiver pronto para funcionar:
(
m
= não sai após um evento,r
= recursivo,q
= silencioso)Por exemplo - saída após
ls /home/pbm
O importante é configurar corretamente os diretórios para o watch:
/
recursivamente - há muita leitura / gravação/dev
e/proc
Em
/proc/sys/fs/inotify/max_user_watches
há opção de configuração que mostra quantos arquivos podem ser vistos simultaneamente. O valor padrão (para Gentoo) não é tão alto, portanto, se você definir o watcher,/home/
poderá exceder o limite. Você pode aumentar o limite usandoecho
(é necessário acesso root).Mas antes disso, você deve ler sobre as consequências dessa mudança .
Opções que podem ser interessantes para você:
-d
= modo daemon-o file
= saída para o arquivo--format
= formato especificado pelo usuário, mais informações emman inotifywait
-e EVENT
= O evento deve ser monitorado (por exemploaccess
,modify
, etc, mais informações emman
)fonte
echo 524288 >> /etc/sysctl.conf && service procps restart
. Qual é o equivalente no Gentoo?echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf
. No Gentoo você pode usar o mesmo método, massysctl.conf
é originado pelo/etc/init.d/bootmisc
script init.O outro cara está com você? Se ele tiver acesso físico ou acesso root, ele pode apagar todos os seus rastros e até mesmo plantar um bug para espionar você . Por outro lado, alguns traços são dolorosos de apagar e é difícil pensar em tudo.
Diversas coisas já estão registradas nos logs do sistema, normalmente em
/var/log
(alguns sistemas usam um local diferente, como/var/logs
ou/var/adm
). Sob uma configuração normal, todos os logins e montagens são registrados, entre outros. Se você estiver preocupado com a exclusão de logs, poderá configurar o log remoto (como fazer isso depende da implementação do syslog, mas geralmente é uma ou duas linhas para alterar em um arquivo de configuração no remetente e no destinatário).Se você ou sua distribuição não desativou esse recurso, cada arquivo possui um tempo de acesso ("atime") que é atualizado sempre que o arquivo é lido. (Se o sistema de arquivos estiver montado com a opção
noatime
ourelatime
, o atime não será atualizado.) O atime pode ser falsificadotouch -a
, mas isso atualiza o ctime, deixando um rastro. (Mesmo o root não pode remover diretamente esse rastreamento, você precisa ignorar o código do sistema de arquivos.)Vários programas têm um histórico de sessões . É fácil remover ou falsificar, se o invasor se lembrou de fazê-lo. Bash mantém
~/.bash_history
, os navegadores tendem a escrever muitas coisas em seu diretório de perfil, e assim por diante. Você também pode encontrar erros ou avisos reveladores em~/.xsession-errors
ou em/var/log/Xorg.0.log
outro local dependente do sistema.Muitos departamentos possuem um recurso de contabilidade de processo . Veja, por exemplo, o manual de utilitários de contabilidade GNU , a entrada no manual do FreeBSD ou o howto do Linux ou o guia Solaris . Uma vez ativado, ele registra qual usuário iniciou o processo quando (registra
execve
chamadas) e talvez um pouco mais. Há muitas informações interessantes que não são registradas, como os arquivos acessados pelo processo.Se você deseja monitorar todos os acessos a um sistema de arquivos, é possível fornecê-lo através do logfs . É muito fácil perceber se o cara pensa em olhar.
Existem programas de log mais abrangentes, mas eles podem exigir suporte adicional ao kernel. No Solaris, FreeBSD, NetBSD e Mac OS X, existe o dtrace (existe uma porta Linux em andamento, mas não sei se chegou a um estágio utilizável). Você também pode rastrear processos específicos por meio de uma interface para a
ptrace
chamada do sistema, por exemplo,strace
no Linux; isso pode induzir uma desaceleração perceptível.¹ Algo que não está na Wikipedia? Não, isso é loucura.
fonte
Dê uma olhada no Fail2ban e DenyHØsts .
fonte
Não é exatamente isso que você está procurando, mas alguns aplicativos mantêm uma lista de arquivos acessados recentemente. Além disso, o GNOME mantém essa lista, que pode ser acessada em seu Painel.
Outra correção é usar o Diário de Atividades do GNOME , embora da última vez que verifiquei, ele não mantinha um registro da atividade da CLI e só estava interessado em atividades relacionadas a arquivos (leitura, edição), ignorando outras atividades.
Você também pode procurar dentro do
/var/log
diretório onde vários programas armazenam seus logs.fonte
Assumindo ingenuidade suficiente do lado do atacante, você pode simplesmente
script -qft $USER-$$ 2> $USER-$$-time
usar o script de login apropriado para monitorar suas interações terminais e reproduzir com os comandos scriptreplay apropriados.Para monitorar o acesso no nível do arquivo, recomendo anexar um
strace -fe open
registro apropriado ao sshd e filtrar as sessões de login (ou talvez seja melhor fazer isso apenas. Aviso: Saídas enormes, já que fazer qualquer coisa em um sistema moderno afeta muitos arquivos Se você deseja apenas monitorar arquivos específicos, consulte o auditd e sua infraestrutura de suporte.Sessões e tentativas de login podem ser coletadas do syslog conforme outras respostas.
fonte