Scanners de portas e de vulnerabilidades

Nesse artigo será apresentada a teoria do Scan, como esta é dividida e quais as ferramentas mais utilizadas para esta atividade.

[ Hits: 39.970 ]

Por: Matuzalém Guimarães em 30/11/2008


Scanners de porta



a) Scanners de Porta

Júnior (2008) esclarece que os scanners de portas realizam inspeções no host alvo com a finalidade de encontrar portas que permitam conexões. Seu objetivo é listar os serviços de rede TCP/IP disponíveis, fazendo com que respondam quando consultados.

Existem também os scanners de portas classificados como "invisíveis", que utilizam técnicas de não-conexão ou conexão incompleta para não serem detectados. Os scanners de portas utilizam os sinais ou flags TCP, UDP ou ICMP trocados entre os programas que querem se conectar, as flags mais comuns são listadas na tabela 1. Estas flags estão especificadas na RFC (Request For Comment) 793 do TCP de setembro de 1981.

FlagUtilizada para
PSH - (push)Sinalizador de espaço de sequência, campo significativo
SYN -(synchronize)Números de seqüência de sincronização
ACK -(acknowledge)Campo significativo, confirmação de recebimento de pacote
RST -(reset)Interrompe a conexão, devido a erros ou interrupção no meio de transmissão
FIN -(finish)Finalizador de conexão, usado na finalização da transmissão
URG -(urgent)Sinalizador de urgência
Tabela 1 - Flags TCP usadas pelos scanners de portas

Cheswick; Bellovin; Rubin (2003) esclarecem que os hosts são inspecionados quanto às portas ativas e que os scanners de porta podem ser muito sutis. Por exemplo, caso o scanner envie um pacote SYN TCP e siga a resposta com um RST para limpar a conexão ao invés de enviar um ACK para completar o handshake triplo, ele faz com que o sistema não registre a tentativa de conexão. O invasor poderá usar estas informações para saber se existe alguma porta aberta e aguardando por conexões no host inspecionado.

Isso mostra que pacotes de TCP cuidadosamente planejados também podem investigar alguns firewalls sem criar entradas de log, por isso é de vital importância que o sistema de monitoramento de pacotes registre todas as entradas em logs e não apenas de conexões concluídas.

Além das flags TCP, existem alguns métodos utilizados pela técnica de Scan para detecção de portas em sistemas, a tabela 2 mostra quais são estas técnicas. Elas estão especificadas na RFC 793 do TCP de setembro de 1981.

Método ScanFuncionamento
TCP CONNECTConecta-se a porta e executa os três handshakes básicos (SYN, SYN/ACK e ACK).
TCP SYNRealiza a conexão total TCP durante a operação, evitando que o log da operação fique no sistema.
UDPO scanner envia um pacote UDP para a porta-alvo: se a resposta for ICMP port unreachable, a porta encontra-se fechada; caso contrário, o scanner deduz que a porta está aberta.
TCP NULLNeste caso, o scanner desativa todos os flags e aguarda do alvo um RST para identificar todas as portas fechadas.
TCP FINO scanner envia pacotes FIN para a porta-alvo e espera o retorno de um RST para as portas fechadas.
XMAS TREEO scanner envia pacotes FIN, URG e Push para a porta-alvo e espera o retorno de um RST para as portas fechadas.
Tabela 2 - Métodos Scan

"A partir da análise desses sinais, os scanners retiram informações úteis sobre os sistemas e os compara com padrões pré-definidos" (ULBRICH; VALLE, 2003, p. 162).

Júnior (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. Ele é 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.

Observando na prática fica fácil compreender o porquê do Nmap ser considerado um dos melhores scanners de porta, pois ele possui características interessantes que são usadas contra a pilha de protocolos do TCP.

Dentre as principais características desta ferramenta, pode-se citar a técnica de fragmentação de pacotes, que consiste em enviar uma seqüê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.

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.

Além destas e várias outras técnicas poderão ser usadas com o Nmap para descobrir o que está por trás dos firewalls.

Página anterior     Próxima página

Páginas do artigo
   1. Definição e tipos de scan
   2. Scanners de porta
   3. Scanners de vulnerabilidades
Outros artigos deste autor

Estudantes de computação e o Linux/Unix

SSH: Métodos e ferramentas para invasão

Instalando Free Pascal Compiler no Ubuntu

Segurança da Informação na Internet

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

Leitura recomendada

Gerenciamento de segurança da informação com open source (parte 1)

wlmproxy - um proxy superior

Servidor de log no Debian com Syslog-ng

(IN)segurança Digital

ARP Poisoning: compreenda os princípios e defenda-se

  
Comentários
[1] Comentário enviado por albertguedes em 30/11/2008 - 20:49h

Beleza de artigo. Tá no favoritos. Valeu cara.

[2] Comentário enviado por femars em 01/12/2008 - 10:27h

maravilha de artigo!

[3] Comentário enviado por dailson em 01/12/2008 - 19:07h

Parabéns!!
Excelente Artigo.

[4] Comentário enviado por Molinero em 21/03/2011 - 20:06h

TCP SYN Realiza a conexão total TCP durante a operação, evitando que o log da operação fique no sistema.


Creio que o correto seria:

"Nao realiza a conexão total TCP...."






Contribuir com comentário