rootsh: Keylogger para CLI do Linux

rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz.

Fazer o download do rootsh-1.5.3.tar.gz.

wget "http://downloads.sourceforge.net/project/rootsh/rootsh/1.5.3/rootsh-1.5.3.tar.gz"

Descompactar, configurar, compilar e instalar:

tar zxvf rootsh-1.5.3.tar.gz -C /usr/src
cd /usr/src/rootsh-1.5.3
./configure --disable-syslog --disable-linenumbering
make
make install

Depois de instalado os binários, o sistema está quase pronto. A única necessidade que falta é criar o diretório do rootsh em /var/log onde serão gravados os logs. Esse procedimento não está documentado, mas é necessário.

mkdir /var/log/rootsh

Garantindo que o usuário root usará o rootsh como shell padrão

Para garantir que o usuário root usará o rootsh como shell padrão, adicione o rootsh ao arquivo /etc/shells:

echo /usr/local/bin/rootsh >> /etc/shells

Após esse passo, definir o shell para o usuário root

usermod -s /usr/local/bin/rootsh root

Então, toda vez que o usuário root fizer login, seja direto por ssh ou por su será criado um arquivo de log em /var/log/rootsh com a seguinte estrutura:

< user >.< date >< time >.< process id >

A formatação de cada arquivo de log é exatamente a mesma que o usuário vê no terminal.

cd /var/log/rootsh
ls
root.20100420105208.00a0a.closed
#

Conclusão

Se você não confia em seus sysadmins, ou se você quer ter um controle a mais do que está sendo feito no seu sistema, não tem erro com rootsh

Share this post

7 comments

Join the conversation
  • Edgar Gabaldi BRAZIL - 27/04/2010 reply

    Você não acha que uma solução mais eficiente seria colocar um sistema de controle de versão para manter o controle dos arquivos de configuração?

    Daniel Kühl Lima BRAZIL - 27/04/2010 reply

    Sem dúvidas, mas daí é outro escopo, o apresentado nesse artigo é justamente saber o que um usuário com acesso ao root está fazendo e o que levou a “dar pau” no sistema, caso isso seja necessário saber, sempre tem aquela história “já estava assim quando entrei”…

    :)

  • André BRAZIL - 18/08/2011 reply

    Amigo,

    Fiz o procedimento, mas não consigo logar com o root e se eu uso outro usuário e dou um su- recebo a mensagem:

    su: /usr/local/bin/rootsh: No such file or directory

    Você pode me dizer cmo eu corrijo isso?

    Obrigado,

    André.

    Daniel Kühl Lima BRAZIL - 22/08/2011 reply

    O erro apresentado quer dizer que não foi possível encontrar o arquivo /usr/local/bin/rootsh

    Certifique-se que o arquivo está lá, com o comando:

    ls -al /usr/local/bin/rootsh

    E veja também as permissões dele.

    André BRAZIL - 22/08/2011 reply

    Obrigado Daniel irei tentar aqui.

    Outra coisa vc poderia me dizer como eu posso dar permissão para um usuário utilizar o rootsh?

    Daniel Kühl Lima BRAZIL - 22/08/2011 reply

    Se o arquivo existir:

    chmod 1755 /usr/local/bin/rootsh

    André BRAZIL - 22/08/2011

    Daniel,

    não existe arquivo ou diretório.

    O que devo fazer?

    Obrigado.

Join the conversation