Ir para o conteúdo
ou

Software livre Brasil

0 integrantes

Nenhum(a)

Red Hat Magazine

redirection forbidden: http://www.redhat.com/magazine/rss20.xml -> https://www.redhat.com/magazine/rss20.xml

 Voltar a torontux
Tela cheia Sugerir um artigo

Roubo de senhas SSH

6 de Maio de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 685 vezes
   Esta semana estive estudando alguma vulnerabilidades conhecidas e me deparei com uma técnica muito usada em redes locais, que é o roubo de credenciais de SSH. Apesar do SSH ser um protocolo criptografado, ainda existe a possibilidade de um servidor "falso" se passar por verdadeiro e receber as conexões em seu lugar.
   A técnica funciona colocando uma máquina no meio da conexão (man-in-the-middle) através de ataques de DNS Spoof ou Arp Spoof combinados, onde a intenção é forçar que as conexões SSH venham direto para o servidor falso ao invés do servidor verdadeiro. Após esse passo o cracker vai precisar de um software que emule o ambiente verdadeiro (SSH honeypot) para que o usuário digite a senha pensando que está digitando no servidor correto.
Vou descrever algumas técnicas/ferramentas aqui e no final vou postar um vídeo demonstrativo.

ARP SPOOF
   Muitos Sysadmins acham que o fato de terem um switch no lugar de um hub torna  a rede completamente invulnerável, contudo esta técnica demonstra que de fato ainda existem problemas de segurança neste modelo. Existem um pacote cracker chamado dsniff, com uma série de ferramentas interessantíssimas e uma delas é a arpspoof.
   A  ferramenta funciona enviando ao computador da vítima (Sysadmin da empresa) respostas ARP informando que o endereço MAC do IP do gateway (roteador) é o endereço MAC do atacante .Depois de algum tempo o computador da vítima vai acreditar e faz uma entrada errada em seu cache ARP. Da próxima vez que a vítima enviar um pacote para o IP do gateway, mandará para o atacante.

A sintaxe é simples:
   arpspoof -i [interface de rede]-t [ip da vítima] [gateway]

Não esqueça de ativar o ip_forward para a vítima não perder a conectividade
   echo "1" > /proc/sys/net/ipv4/ip_forward

DNS SPOOF
   É muito comum que o Sysadmins tentem conectar aos seus servidores remotos usando nomes, sendo assim, é interessante também forjar respostas de DNS e redirecionar qualquer nome para o seu próprio endereço. Isso é possível com outra ferramenta que vem no pacote cracker que mencionamos anteriormente e seria o binário dnsspoof. Caso o usuário tente conectar no servidor www.exemplo.com.br na porta 22 o  DNS SPOOF do atacante vai informar ao computador da vítima que o ip deste domínio é o ip que  foi definido por ele mesmo, no caso do nosso exemplo 192.168.1.156.
A utilização é muito simples, primeiro o atacante adiciona uma entrada como esta no arquivo de hosts:
 192.168.1.156   *.*    

Depois ativa o dnsspoof apontando para o arquivo hosts alterado:
   dnsspoof -f /etc/hosts

SSH honeypot
   Antes de tudo precisamos entender o conceito de Honeypot, segue:

   [Ing.] (Pote de mel) Armadilha destinada à atrair intrusos que tentam invadir um sistema. Consiste em configurar um computador de modo a deixá-lo vulnerável a invasões. Um programa especial instalado monitora as ações do invasor apontando os pontos falhos do sistema que ele tenta explorar. As informações colhidas podem ajudar a identificar o intruso.
   Apesar dos Honeypots serem usados pelos "Hackers do bem" visando estudar o comportamento dos crakers dentro de um servidor 0wnado, nada impede da utilização deste mesmo tipo de conceito para o mal. Para o exemplo didático podemos citar o Kippo, que é um mediador de interação SSH idealizado para logar bruteforce ataques e que pode ser utilizado para este fim. 
Não vamos descrever a instalação e configuração deste software pois no site official explica tudo:  

   Para ver o funcionamento instale a ferramenta, suba o daemon numa porta qualquer (no exemplo do vídeo está na porta 2222) e aponte o tráfego de SSH da vítima para o seu Honeypot através do iptables. Segue abaixo um exemplo de regra:
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 22 -j DNAT --to 192.168.1.156:2222

   Pronto! Quando o Sysadmin tentar acessar o servidor remoto www.exemplo.com.br:22 automaticamente vai aparecer um prompt idêntico ao servidor verdadeiro para ele digitar o login e a senha, contudo, estará digitando no seu pote de mel. ;)

Como se proteger?
   Para se proteger desse ataque específico passe a utlizar a autenticação do SSH por meio de chaves criptografadas, além disso técnicas de port knocking tornam ainda mais difícil a tarefa do nosso inimigo! A implementação do SSH com chaves é simples e demasiadamente documentada na web, vou colocar o link que explica bem o assunto:
http://www.vivaolinux.com.br/artigo/SSH-Autenticando-atraves-de-chaves?pagina=2
no ubuntu:
http://ubuntu.no.sapo.pt/ssh_com_chaves.html

Vídeo demonstrativo:


 Espero que tenham gostado!
;)



Fonte: http://torontux.blogspot.com/2010/05/roubo-de-senha-de-ssh.html

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.