• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

SSH: Métodos e ferramentas para invasão

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
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.

Por: Matuzalém Guimarães




Métodos de ataque
Cheswick; Bellovin; Rubin (2003) afirmam que o SSH tornou-se uma das ferramentas vitais para a segurança computacional. Embora não concordem totalmente com essa afirmação pelo fato do SSH, [...] ser tão cheio de recursos que sua complexidade inerente está fadada a introduzir erros na implementação e na administração. (Cheswick; Bellovin; Rubin, 2003, p.158).

A versão 1 do protocolo estava em larga utilização quando se descobriu ser insegura. Descobriu-se também que até a versão 2 era suscetível a ataques de temporização estatística, conforme Song (2001 apud Cheswick; Bellovin; Rubin, 2003, p.158). Esta técnica de temporização estatística está relacionada ao fato do SSH acomodar os tamanhos de blocos dos sistemas de criptografia, a versão 2 do protocolo arredonda cada pacote a um limite de oito bytes.

No modo interativo, cada pressionamento de tecla feito por um usuário gera um novo pacote IP de tamanho e temporização distintos, e os pacotes contendo caracteres de senha não produzem pacotes de eco. Ainda segundo os autores essas propriedades ajudam ao atacante a deduzir o tamanho das senhas e informações estatísticas que chegam a aproximadamente um bit por pacote.

O protocolo SSH em suas versões 1 e 2 tem sido alvo de alguns tipos de ataques, estas formas de ataques são listadas abaixo:
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Sequestro de sessões
O termo sequestro de sessão, segundo Russel (2002), refere-se à capacidade de um atacante assumir o controle de parte de uma sessão (normalmente uma conversação de rede) e agir como um dos participantes. O sequestro de sessão explora a fragilidade inerente na maioria dos tipos de rede e de protocolos não criptografados, principalmente os que transmitem as informações livremente.

Metthews (2006) explica que interceptando a comunicação com o uso de envenenamento ARP, e estabelecendo duas ligações encriptadas, uma entre a vítima, máquina atacante e outra com host de destino, o atacante obtém acesso aos dados transmitidos entre host origem e o host destino.

Cheswick; Bellovin; Rubin (2003) alertam que ferramentas como o sshmitm e o ettercap permitem que um atacante roube uma sessão de SSH. Durante o ataque de sequestro de sessão o servidor avisa que a chave pública do servidor é desconhecida ou não-correspondente, mas na maioria dos casos os usuários ignoram tais avisos.


Ataque de brute force (força bruta)
Mesmo com tantas camadas de proteção implementadas no SSH, um ponto amplamente explorado pelos atacantes são as senhas de acesso ao servidor.

Segundo Murilo (2007) é exatamente pela segurança obtida com o uso do SSH para acesso remoto seguro que muitos administradores de redes têm cometido falhas na escolhas das senhas.

Além das senhas fracas, outro fator de exposição é o fato de que de alguns servidores permitirem login sem a utilização de senhas. Esta opção pode ser configurada no parâmetro "PermitEmptyPasswords no" no arquivo "/etc/ssh/sshd_config" afirmam Nemeth; Snyder; Seebass; Hein (2001).

Segundo Murilo (2007) pelo fato do SSH ser flexível em seus métodos de autenticação, na prática o uso simples de usuário e senha é escolhido pela facilidade de configuração e pela facilidade de uso. No entanto as senhas fracas estão expostas a adivinhação e ataque por brute force, e este tem sido um dos principais objetivos deste tipo de investida.

Um exemplo de um registro de tentativas de ataque de força bruta pode ser visto na figura 1.


1228176541.figura1.jpg


Figura 1 - Registro em log de tentativas de acesso usando "brute force"
Outro agravante neste processo, segundo Murilo (2007), é que a cada nova tentativa de conexão acaba fazendo com que com o servidor de SSH crie uma nova instância para atender a solicitação de acesso, o que acarretaria em perda de desempenho do servidor em função da demanda de solicitação e freqüência deste tipo de ataque.


Ataque man in the middle
Metthews (2006) declara que nesse caso um invasor se posiciona entre um usuário e um servidor a fim de interceptar a troca de certificados.

A primeira ação, explica Metthews (2006), é descobrir a chave pública do servidor e fornece ao usuário sua própria chave pública. Quando o usuário criptografa pacotes com a chave pública do invasor, este pode descriptografá-los e ver todas as informações contidas em cada pacote de dados, podendo até mesmo alterar estas informações e criptografá-las com a chave pública real do servidor para fazer-se passar por ele. A autora enfatiza que embora ataques como estes possam ser possíveis, eles ainda tornam o trabalho do atacante muito mais árduo.






 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
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.



1228176541.figura2.jpg




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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
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.

1228176541.Figura3.jpg


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.

 
Topo