SSH: Métodos e ferramentas para invasão

Neste artigo serão abordadas as falhas históricas que já foram exploradas no SSH, ferramentas e os métodos de tentativas de invasão através deste serviço em sistemas Unix/Linux.

[ Hits: 75.478 ]

Por: Matuzalém Guimarães em 08/12/2008


Ferramentas de segurança/ataque SSH



Scan (Nmap)

Barros Jr. (2008) afirma que o scanner de portas mais eficiente e mais utilizado é o Nmap. O site oficial desta ferramenta é Nmap.org, segundo o site do fabricante, Nmap significa Network Mapper. Ela é uma ferramenta de código aberto usada para realizar auditoria de segurança em redes e teste em servidores com a finalidade de encontrar brechas na segurança.

Dentre as principais características desta ferramenta, pode-se citar a técnica de fragmentação de pacotes, que consiste em enviar uma sequência de pacotes IP fragmentado, o que faz com que filtros de pacotes usados em firewalls ou mesmo em sistemas IDS não possam detectar tal atividade. Outra técnica utilizada no Nmap serve para ocultar o IP do atacante, esta opção faz com que o invasor possa declarar no momento do escaneamento uma lista de IPs como fonte da origem do ataque, dificultando a sua descoberta ou até mesmo usando IPs de outros, para forjar um ataque se passando por outro host.

Segundo Cheswick; Bellovin; Rubin (2003), outra opção interessante consiste em usar as próprias medidas de segurança implantadas por administradores de rede para criar um ataque, por exemplo, alguns firewalls sendo configurados para permitir tráfego em determinadas portas poderá permitir que o Nmap possa gerar um scan utilizando as portas liberadas, fazendo-se passar pelas aplicações com tráfego autorizado.

Segundo Nemeth; Snyder; Seebass; Hein (2001), o Nmap tem como sua principal função, a verificação de um ou vários hosts alvos para determinar quais as portas TCP e UDP tem algum servidor esperando por alguma conexão. Isso faz com que de uma maneira muito fácil possam ser listadas as portas e aplicações utilizadas em um servidor, permitindo assim que um atacante descubra dados sobre os servidores e a rede local.

A figura 2 mostra um relatório simples de uma varredura feita em uma máquina desprotegida. Pode-se observar que são listados facilmente quais portas e servidores estão sendo utilizados neste host e qual o estado de proteção das portas utilizadas.
Linux: Nmap em execução
Figura 2 - Nmap em execução
Nemeth; Snyder; Seebass; Hein (2001) enfatizam que além as investigações simples e diretas de TCP e UDP, o Nmap também poderá ser usado em envio de pacotes que se apresentarão como uma comunicação TCP em andamento (ao invés de início) e aguardará que pacotes de diagnósticos sejam enviados de volta. Isso poderá fazer com que algumas tentativas de escaneamento não sejam detectadas pelos firewalls ou até mesmo por algum IDS.

Matthews (2006) alerta que programas de varredura de portas como o Nmap, além de identificar portas abertas em um sistema, ele pode revelar também o tipo de sistema operacional. Uma vez que seja identificada a porta aberta utilizada e revelado o sistema operacional, um ataque dirigido especificamente para a porta e o sistema operacional em questão, aumentaria as chances de uma invasão bem sucedida.

BruteSSH2

Segundo um alerta da Rede Nacional de Pesquisa (RNP), através do Centro de Atendimento Incidentes de Segurança (CAIS) (2004), uma das ferramentas usadas para ataques de brute force ao serviço de SSH em sistemas Unix é o software BruteSSH2. Com distribuição gratuita através da internet, este software possui implementações nas linguagens de programação Python, C e Shell Script, esta foi tornada pública em 20 de agosto de 2004.

Ainda segundo o boletim do CAIS (2004) esta ferramenta busca encontrar brechas através de descuidos na implementação de segurança do serviço de SSH, tentando ganhar acesso ao sistema utilizando a porta padrão para acesso ao serviço, associado a teste de senhas triviais configuradas nos sistemas. A figura 3 mostra a execução da ferramenta BruteSSH2 com implementação em Python.
Linux: BruteSSH2, usado para ataques de força bruta a servidores SSH
Figura 3 - BruteSSH2, usado para ataques de força bruta a servidores SSH
Observa-se na imagem que o BruteSSH2 necessita que alguns parâmetros sejam especificados para sua correta execução, como o endereço IP do alvo, a porta que será utilizada e a possibilidade de usar arquivos de texto com usuários e senhas para o ataque.

Referências

CHESWICK, William R.; BELLOVIN, Steven M.; RUBIN, Aviel D.; Firewall e Segurança na Internet: repelindo o hacker ardiloso. 2ª Edição, Porto Alegre: Bookman, 2005.

RUSSEL, Ryan at al. Rede Segura. Pág. 348 - 375. Alta Books: 2002.

MATTHEWS, Jeanna; Rede de Computadores: protocolos de Internet em ação. Tradução Aldir José Coelho Corrêa da Silva; Rio de Janeiro: LTC, 2006.

MURILO, Nelson; Sugestões para defesa contra ataques de força bruta para SSH. Disponível em:
http://www.cert.br/docs/whitepapers/defesa-forca-bruta-ssh/
Acessado em 01 de dezembro de 2008 às 08:45.

NEMETH, Evi; SNYDER, Garth; SEEBASS, Scaott; HEIN, Trent R. . Manual de Administração do Sistema UNIX; 3ª Edição, Traduzida, Artmed Editora S.A: 2001.

BARROS JR., Jairo Moreno. Mestres da Espionagem Digital. São Paulo: Digerati Books, 2008.

CAIS, Centro de Atendimento Incidentes de Segurança; Ataques de forca bruta contra o serviço SSH. Rede Nacional de Pesquisa, RNP: 2004. Disponível em:
http://www.rnp.br/cais/alertas/2004/cais-alr-20041026.html
Acessado em 21 de novembro de 2008 às 21:05.

Página anterior    

Páginas do artigo
   1. Métodos de ataque
   2. Ferramentas de segurança/ataque SSH
Outros artigos deste autor

Estatísticas para todos

Técnicas forenses para identificação da invasão e do invasor em sistemas Unix/Linux através do SSH (parte 2)

Instalando Free Pascal Compiler no Ubuntu

Técnicas forenses para identificação da invasão e do invasor em sistemas Unix/Linux através do SSH (parte 1)

Scanners de portas e de vulnerabilidades

Leitura recomendada

Auditorias Teste de Invasão para Proteção de Redes Corporativas

Tutorial Netcat

Scanners de portas e de vulnerabilidades

Libsafe: Protegendo Linux contra Smashing Overflow

Desenvolvimento Web - Simples dicas de segurança

  
Comentários
[1] Comentário enviado por femars em 08/12/2008 - 17:14h

mto interessante.... parabéns!

[2] Comentário enviado por thebug em 08/12/2008 - 19:27h

Bacana o artigo, bem histórico por sinal ehehe... e em falando de história você pode incluir essa, que tal?

http://www.rootsecure.net/?p=link&l=22903

Ataques distribuídos de força brutar, com isso evitam programas que bloqueiam IP X quando tentam mais do que X tentativas...

Abraços!

Ulisses


[3] Comentário enviado por removido em 09/12/2008 - 12:37h

Artigo muito bom,parabéns

[4] Comentário enviado por aaron.binner em 09/12/2008 - 15:00h

Cara, meus parabéns, exelente artigo, são poucas as publicações deste site que possuem este nível.

[5] Comentário enviado por removido em 09/12/2008 - 22:20h

garoto mau!!! Ui, ui, ui........
kkkkkkkkkkkkkkkkkkkkkkk
;-)

[6] Comentário enviado por removido em 10/12/2008 - 17:13h

Altissímo nível,muito bom mesmo.

[7] Comentário enviado por elgio em 11/12/2008 - 17:28h

Sequestro de sessões e ataque do homem do meio são a mesma coisa. Aliás, sequestro de sessões não faz o mínimo sentido em ssh. Sequestrar uma sessão pressupõe que ela já esteja em andamento e foi "sequestrada" e, devido a criptografia, isto não é possível em SSH.

O que você chamou aqui de sequestro nada mais é do que sequestrar a tentativa de inicio de conexão justamente usando a técnica de homem do meio.

[8] Comentário enviado por thorking em 04/06/2009 - 02:14h

ae amigo mto bom cara parabens!

estou tentando resolver um wargame do astalavista e uns dos testes é brute force ssh e estava tentando essa ferramenta em py mas apresentou um erro, eu não saco nada de py pode me ajudar?

File "brutessh2.py", line 51, in ?
vict = Telnet(host_name, port)
File "/usr/lib/python2.3/telnetlib.py", line 208, in __init__
self.open(host, port)
File "/usr/lib/python2.3/telnetlib.py", line 237, in open
raise socket.error, msg
socket.error: (110, 'Connection timed out')


esse foi o erro, vlw!

[9] Comentário enviado por CaioSerrano em 08/06/2009 - 11:15h

Muito Bom esse artigo, Parabéns


[10] Comentário enviado por andrezc em 18/12/2009 - 22:07h

Interessante, mas o sequestro de sessões em ssh não rola, como o elgio disso, a criptografia no SSH não permite.

Quanto a bruteforce, já é uma técnica manjada, tem várias formas como corrigir ( Fail2ban, pam_abl e etc... ).


Abraços.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts