Scanner de porta - Port scanner

Um scanner de porta é um aplicativo projetado para sondar um servidor ou host em busca de portas abertas . Esse aplicativo pode ser usado por administradores para verificar as políticas de segurança de suas redes e por invasores para identificar serviços de rede em execução em um host e explorar vulnerabilidades.

A porta de digitalização ou portscan é um processo que envia pedidos de clientes para um intervalo de endereços de porta de servidor em um host, com o objetivo de encontrar uma porta ativa; este não é um processo nefasto em si. A maioria dos usos de uma varredura de porta não são ataques, mas sim testes simples para determinar os serviços disponíveis em uma máquina remota.

A varredura de porta é fazer a varredura de vários hosts para uma porta de escuta específica. O último é normalmente usado para pesquisar um serviço específico, por exemplo, um worm de computador baseado em SQL pode fazer uma varredura de porta à procura de hosts ouvindo na porta TCP 1433.

Noções básicas de TCP / IP

O design e a operação da Internet são baseados no Internet Protocol Suite , comumente também chamado de TCP / IP . Neste sistema, os serviços de rede são referenciados usando dois componentes: um endereço de host e um número de porta. Existem 65535 números de porta distintos e utilizáveis, numerados de 1..65535. (A porta zero não é um número de porta utilizável.) A maioria dos serviços usa um, ou no máximo um intervalo limitado de números de porta.

Alguns scanners de porta fazem a varredura apenas dos números de porta mais comuns, ou portas mais comumente associadas a serviços vulneráveis, em um determinado host.

O resultado de uma varredura em uma porta é geralmente generalizado em uma das três categorias:

  1. Aberto ou aceito : o host enviou uma resposta indicando que um serviço está escutando na porta.
  2. Fechado ou negado ou não escutando : o host enviou uma resposta indicando que as conexões serão negadas à porta.
  3. Filtrado , descartado ou bloqueado : não houve resposta do host.

As portas abertas apresentam duas vulnerabilidades das quais os administradores devem ser cautelosos:

  1. Questões de segurança e estabilidade associadas ao programa responsável pela entrega do serviço - Portas abertas.
  2. Questões de segurança e estabilidade associadas ao sistema operacional que está sendo executado no host - portas abertas ou fechadas.

As portas filtradas não tendem a apresentar vulnerabilidades.

Premissas

Todas as formas de varredura de porta baseiam-se na suposição de que o host de destino é compatível com RFC 793 - Protocolo de Controle de Transmissão . Embora este seja o caso na maioria das vezes, ainda há uma chance de um host enviar pacotes estranhos ou até mesmo gerar falsos positivos quando a pilha TCP / IP do host não for compatível com RFC ou tiver sido alterada. Isso é especialmente verdadeiro para técnicas de varredura menos comuns que dependem do sistema operacional (varredura FIN, por exemplo). O método de impressão digital da pilha TCP / IP também depende desses tipos de respostas de rede diferentes de um estímulo específico para adivinhar o tipo de sistema operacional que o host está executando.

Tipos

Varredura TCP

Os scanners de porta mais simples usam as funções de rede do sistema operacional e geralmente são a próxima opção quando SYN não é uma opção viável (descrita a seguir). O Nmap chama este modo de verificação de conexão, nomeado após a chamada de sistema Unix connect (). Se uma porta estiver aberta, o sistema operacional conclui o handshake TCP de três vias e o scanner de porta fecha imediatamente a conexão para evitar um ataque de negação de serviço . Caso contrário, um código de erro é retornado. Este modo de varredura tem a vantagem de que o usuário não requer privilégios especiais. No entanto, o uso das funções de rede do sistema operacional impede o controle de baixo nível, portanto, esse tipo de verificação é menos comum. Este método é "ruidoso", especialmente se for uma " varredura de porta ": os serviços podem registrar o endereço IP do remetente e os sistemas de detecção de intrusão podem disparar um alarme.

Digitalização SYN

A varredura SYN é outra forma de varredura TCP. Em vez de usar as funções de rede do sistema operacional, o scanner de porta gera ele mesmo os pacotes IP brutos e monitora as respostas. Esse tipo de varredura também é conhecido como "varredura semi-aberta", porque na verdade nunca abre uma conexão TCP completa. O scanner de porta gera um pacote SYN. Se a porta de destino estiver aberta, ele responderá com um pacote SYN-ACK. O host do scanner responde com um pacote RST, fechando a conexão antes que o handshake seja concluído. Se a porta estiver fechada, mas não filtrada, o destino responderá instantaneamente com um pacote RST.

O uso de rede bruta tem várias vantagens, dando ao scanner controle total dos pacotes enviados e o tempo limite para respostas, e permitindo relatórios detalhados das respostas. Há um debate sobre qual varredura é menos intrusiva no host de destino. A varredura SYN tem a vantagem de os serviços individuais nunca receberem de fato uma conexão. No entanto, o RST durante o handshake pode causar problemas para algumas pilhas de rede, em particular dispositivos simples como impressoras. Não há argumentos conclusivos de qualquer maneira.

Digitalização UDP

A digitalização UDP também é possível, embora haja desafios técnicos. UDP é um protocolo sem conexão , portanto, não há equivalente a um pacote TCP SYN. No entanto, se um pacote UDP for enviado a uma porta que não está aberta, o sistema responderá com uma mensagem de porta ICMP inacessível. A maioria dos scanners de porta UDP usa esse método de varredura e usa a ausência de resposta para inferir que uma porta está aberta. No entanto, se uma porta for bloqueada por um firewall , esse método relatará falsamente que a porta está aberta. Se a mensagem de porta inacessível for bloqueada, todas as portas aparecerão abertas. Este método também é afetado pela limitação da taxa de ICMP .

Uma abordagem alternativa é enviar pacotes UDP específicos do aplicativo, na esperança de gerar uma resposta da camada de aplicativo. Por exemplo, o envio de uma consulta DNS para a porta 53 resultará em uma resposta, se um servidor DNS estiver presente. Este método é muito mais confiável para identificar portas abertas. No entanto, ele está limitado à varredura de portas para as quais um pacote de investigação específico do aplicativo está disponível. Algumas ferramentas (por exemplo, nmap ) geralmente têm sondas para menos de 20 serviços UDP, enquanto algumas ferramentas comerciais têm até 70. Em alguns casos, um serviço pode estar ouvindo na porta, mas configurado para não responder ao pacote de sondagem específico .

Varredura ACK

A varredura ACK é um dos tipos de varredura mais incomuns, pois não determina exatamente se a porta está aberta ou fechada, mas se a porta está filtrada ou não. Isso é especialmente bom ao tentar sondar a existência de um firewall e seus conjuntos de regras. A filtragem de pacotes simples permitirá conexões estabelecidas (pacotes com o conjunto de bits ACK), enquanto um firewall mais sofisticado pode não permitir.

Exploração de janela

Raramente usado devido à sua natureza desatualizada, a varredura de janela não é confiável para determinar se uma porta está aberta ou fechada. Ele gera o mesmo pacote que uma varredura ACK, mas verifica se o campo da janela do pacote foi modificado. Quando o pacote chega ao seu destino, uma falha de projeto tenta criar um tamanho de janela para o pacote se a porta estiver aberta, marcando o campo da janela do pacote com 1 antes de retornar ao remetente. Usar esta técnica de varredura com sistemas que não suportam mais esta implementação retorna 0's para o campo da janela, rotulando as portas abertas como fechadas.

Digitalização FIN

Uma vez que as varreduras SYN não são sub-reptícias o suficiente, os firewalls estão, em geral, varrendo e bloqueando pacotes na forma de pacotes SYN. Os pacotes FIN podem contornar firewalls sem modificação. As portas fechadas respondem a um pacote FIN com o pacote RST apropriado, enquanto as portas abertas ignoram o pacote disponível. Esse é um comportamento típico devido à natureza do TCP e, de certa forma, uma queda inevitável.

Outros tipos de varredura

Existem alguns tipos de varredura mais incomuns. Eles têm várias limitações e não são amplamente usados. O Nmap suporta a maioria deles.

  • X-mas e Null Scan - são semelhantes à digitalização FIN , mas:
    • O Natal envia pacotes com as bandeiras FIN, URG e PUSH ativadas como uma árvore de Natal
    • Nulo envia um pacote sem sinalizadores TCP definidos
  • Verificação de protocolo - determina quais protocolos de nível IP (TCP, UDP, GRE , etc.) estão ativados.
  • Varredura de proxy - um proxy ( SOCKS ou HTTP ) é usado para realizar a varredura. O destino verá o endereço IP do proxy como a origem. Isso também pode ser feito usando alguns servidores FTP .
  • Varredura ociosa - Outro método de varredura sem revelar o endereço IP de alguém, aproveitando a previsível falha de ID de IP .
  • CatSCAN - Verifica as portas em busca de pacotes errados.
  • Varredura ICMP - determina se um host responde a solicitações ICMP, como eco ( ping ), máscara de rede, etc.

Filtragem de portas por ISPs

Muitos provedores de serviços de Internet restringem a capacidade de seus clientes de realizar varreduras de portas para destinos fora de suas redes domésticas. Isso geralmente é abordado nos termos de serviço ou política de uso aceitável com a qual o cliente deve concordar. Alguns ISPs implementam filtros de pacotes ou proxies transparentes que evitam solicitações de serviço de saída para certas portas. Por exemplo, se um ISP fornece um proxy HTTP transparente na porta 80, as varreduras de porta de qualquer endereço parecerão ter a porta 80 aberta, independentemente da configuração real do host de destino.

Ética

As informações coletadas por uma varredura de porta têm muitos usos legítimos, incluindo inventário de rede e verificação da segurança de uma rede. A varredura de portas, entretanto, também pode ser usada para comprometer a segurança. Muitos exploits dependem de varreduras de portas para encontrar portas abertas e enviar padrões de dados específicos na tentativa de acionar uma condição conhecida como estouro de buffer . Esse comportamento pode comprometer a segurança de uma rede e dos computadores nela contidos, resultando na perda ou exposição de informações confidenciais e na capacidade de trabalhar.

O nível de ameaça causado por uma varredura de porta pode variar muito de acordo com o método usado para fazer a varredura, o tipo de porta varrida, seu número, o valor do host de destino e o administrador que monitora o host. Mas uma varredura de porta geralmente é vista como a primeira etapa de um ataque e, portanto, é levada a sério porque pode revelar muitas informações confidenciais sobre o host. Apesar disso, a probabilidade de uma varredura de porta sozinha seguida por um ataque real é pequena. A probabilidade de um ataque é muito maior quando a varredura de porta está associada a uma varredura de vulnerabilidade .

Implicações legais

Por causa da arquitetura inerentemente aberta e descentralizada da Internet, os legisladores têm lutado, desde sua criação, para definir os limites legais que permitem um processo eficaz contra os cibercriminosos . Casos envolvendo atividades de varredura de portas são um exemplo das dificuldades encontradas para julgar violações. Embora esses casos sejam raros, na maioria das vezes o processo legal envolve a prova da existência de uma intenção de cometer uma invasão ou acesso não autorizado, ao invés de apenas a execução de uma varredura de porta.

Em junho de 2003, um israelense, Avi Mizrahi, foi acusado pelas autoridades israelenses do delito de tentativa de acesso não autorizado a material de computador. Ele havia verificado a porta do site do Mossad . Ele foi absolvido de todas as acusações em 29 de fevereiro de 2004. O juiz determinou que esse tipo de ação não deve ser desencorajada quando realizada de forma positiva.

Um finlandês de 17 anos foi acusado de tentativa de invasão de computador por um grande banco finlandês. Em 9 de abril de 2003, ele foi condenado pela acusação pelo Supremo Tribunal da Finlândia e condenado a pagar US $ 12.000 pelas despesas da análise forense feita pelo banco. Em 1998, ele fez uma varredura de porta na rede do banco na tentativa de acessar a rede fechada, mas não conseguiu.

Em 2006, o Parlamento do Reino Unido votou uma emenda ao Computer Misuse Act de 1990 de forma que uma pessoa é culpada de um delito que "faz, adapta, fornece ou oferece fornecer qualquer artigo sabendo que foi projetado ou adaptado para uso no curso de ou em conexão com um delito nos termos da seção 1 ou 3 [do CMA] ". No entanto, a área de efeito desta alteração é obscura e amplamente criticada por especialistas em segurança como tal.

A Alemanha, com o Strafgesetzbuch § 202a, b, c também tem uma lei semelhante, e o Conselho da União Europeia emitiu um comunicado de imprensa afirmando que eles planejam aprovar uma semelhante também, embora mais precisa.

Estados Unidos

Moulton v. VC3

Em dezembro de 1999, Scott Moulton foi preso pelo FBI e acusado de tentativa de invasão de computador de acordo com a Lei de Proteção de Sistemas de Computadores da Geórgia e a Lei de Fraude e Abuso de Computadores da América . Neste momento, sua empresa de serviços de TI tinha um contrato em andamento com Cherokee County of Georgia para manter e atualizar a segurança do 911 center. Ele realizou várias varreduras de porta nos servidores do Condado de Cherokee para verificar sua segurança e, eventualmente, varreu a porta de um servidor da web monitorado por outra empresa de TI, provocando um conflito que acabou em um tribunal. Ele foi absolvido em 2000, com o juiz Thomas Thrash decidindo em Moulton v. VC3 ( ND   Ga. 2000) que não houve nenhum dano que prejudicasse a integridade e disponibilidade da rede.

Veja também

Referências

links externos