Um Quick Port Scanning Tutorial

author
8 minutes, 12 seconds Read

Um Quick Port Scanning Tutorial

>

Um dos meus objectivos no desenvolvimento do Nmap é manter a utilização mais comum simples, mantendo ao mesmo tempo a flexibilidade para digitalizações personalizadas e avançadas. Isto é feito com a interface de linha de comando oferecendo dezenas de opções, mas escolhendo padrões sãos quando eles não são especificados. Um novato pode começar com um comando como simples asnmap <target>.Entretanto, usuários avançados às vezes especificam tantas opções que sua linhaterminal envolve cerca de.

Um equilíbrio similar deve ser obtido com a saída do comando. Os resultados mais importantes devem ficar de fora mesmo para o usuário ocasional que nem leu a página de manual. No entanto, o output deve ser abrangente e econômico o suficiente para atender aos testadores de penetração profissionais que executam o Nmapagainst milhares de máquinas diariamente. Usuários inteligentes o suficiente para ler este livro ou o código fonte do Nmap se beneficiam de um maior controle do scanner e insights sobre o que realmente significa a saída do Nmap.

Este tutorial demonstra alguns scanningscenarios comuns de portas do Nmap e explica a saída. Ao invés de tentar se tornar compreensivo, o objetivo é simplesmente conhecer novos usuários o suficiente para suportar o resto deste capítulo.

O comando mais simples do Nmap é apenas o nmap por si só. Um comando mais interessante é o nmap<target>, que faz o seguinte:

  1. Convertes <target> de um nome de máquina para um endereço IPv4 usando DNS. Se for especificado um endereço IP em vez de um nome de máquina esta pesquisa é pulada.

  2. Realiza o host, por padrão com um pacote de requisição de eco ICMP e um pacote TCP ACK para a porta 80, para determinar se ele está ativo e funcionando. Caso contrário, o Nmap reporta esse fato e sai. Eu poderia ter especificado -Pn para pular este teste. Veja Capítulo 3, Host Discovery (“Ping Scanning”).

  3. Converte o endereço IP alvo de volta para o nome usando uma consulta de DNS reverso. Devido à forma como o DNS funciona, o nome reverso pode não ser o mesmo que o <target> especificado na linha de comando. Esta consulta pode ser pulada com a opção -n para melhorar a velocidade e a furtividade.

  4. Launches a TCP port scan das 1.000 portas mais populares listadas em nmap-services. Uma varredura furtiva SYN é normalmente usada, mas a varredura de conexão é substituída por usuários não-root Unix que não possuem os privilégios necessários para enviar pacotes brutos.

  5. Imprime os resultados para a saída padrão em formato normal legível por humanos, e sai. Outros formatos e locais de saída (arquivos) podem ser especificados, como descrito no Capítulo 13, Formatos de Saída do Nmap. Exemplo 4.2 mostra os resultados quando scanme.nmap.org é usado como <target>.

Exemplo 4.2. Simples scan: nmap scanme.nmap.org

# Starting Nmap ( http://nmap.org )Nmap scan report for scanme.nmap.org (64.13.134.52)Not shown: 994 filtered portsPORT STATE SERVICE22/tcp open ssh25/tcp closed smtp53/tcp open domain70/tcp closed gopher80/tcp open http113/tcp closed authNmap done: 1 IP address (1 host up) scanned in 4.99 seconds

A primeira linha de saída inExample 4.2 simplesmente dá a URL para download do Nmap. A hora de início do Nmap e o número da versão também são normalmente fornecidos, embora estes tenham sido geralmente removidos deste livro por uma questão de consistência e para evitar o linewrapping.

A linha seguinte fornece o endereço IP de destino (IPv4 neste caso), andreverse DNSname (também conhecido como o registro PTR), se estiver disponível. O Nmap promete mostrar as “portas interessantes”, embora todas as portas escaneadas sejam contabilizadas. As portas consideradas mais interessantes por estarem abertas ou em um estado raramente visto para esse host são discriminadas individualmente. Quando muitas portas estão num estado singlenon-aberto, elas são consideradas um estado padrão, e agregadas em linha única para evitar diluir os resultados com milhares de entradas desinteressantes. Neste caso, o Nmap observa que 994 portas são filtradas.

A tabela de portas interessantes vem a seguir, e fornece os resultados da leitura de chaves. As colunas variam dependendo das opções usadas, mas neste caso fornece o número da porta e protocolo, estado, e protocolo de serviço para cada porta. O serviço aqui é apenas um palpite feito ao olhar para a porta em nmap-services. Este serviço seria listado como unknown se qualquer um dosports não tivesse nome registrado naquele arquivo. Três dessas portas estão abertas e três estão fechadas.

Finalmente, o Nmap relata algumas estatísticas básicas de tempo antes de sair. Essas estatísticas são o número de alvos especificados, o número daqueles que o ping scan encontrou para cima, e o tempo total levado.

Embora esse simples comando seja muitas vezes tudo o que é necessário, os usuários avançados muitas vezes vão muito mais longe. No Exemplo 4.3, a varredura é modificada com quatro opções. -p0- pede ao Nmap para varrer todas as portasTCP possíveis, -v pede ao Nmap para ser verboso sobre isso,-A permite testes agressivos como detecção remota de SO, detecção de serviço/versão, e o Nmap Scripting Engine(NSE). Finalmente, -T4 permite uma política de tempo mais agressiva para acelerar o scan,

Exemplo 4.3. Mais complexo: nmap -p0- -v -A -T4 scanme.nmap.org

# Starting Nmap ( http://nmap.org )Completed Ping Scan at 00:03, 0.01s elapsed (1 total hosts)Scanning scanme.nmap.org (64.13.134.52) Discovered open port 22/tcp on 64.13.134.52Discovered open port 53/tcp on 64.13.134.52Discovered open port 80/tcp on 64.13.134.52SYN Stealth Scan Timing: About 6.20% done; ETC: 00:11 (0:07:33 remaining)Completed SYN Stealth Scan at 00:10, 463.55s elapsed (65536 total ports)Completed Service scan at 00:10, 6.03s elapsed (3 services on 1 host)Initiating OS detection (try #1) against scanme.nmap.org (64.13.134.52)Initiating Traceroute at 00:1064.13.134.52: guessing hop distance at 9Completed SCRIPT ENGINE at 00:10, 4.04s elapsedHost scanme.nmap.org (64.13.134.52) appears to be up ... good.Nmap scan report for scanme.nmap.org (64.13.134.52)Not shown: 65530 filtered portsPORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 4.3 (protocol 2.0)25/tcp closed smtp53/tcp open domain ISC BIND 9.3.470/tcp closed gopher80/tcp open http Apache httpd 2.2.2 ((Fedora))|_HTML title: Go ahead and ScanMe!113/tcp closed authDevice type: general purposeRunning: Linux 2.6.XOS details: Linux 2.6.20-1 (Fedora Core 5)Uptime guess: 2.457 days (since Thu Sep 18 13:13:24 2008)TCP Sequence Prediction: Difficulty=204 (Good luck!)IP ID Sequence Generation: All zerosTRACEROUTE (using port 80/tcp)HOP RTT ADDRESS9 10.36 metro0.sv.svcolo.com (208.185.168.173)10 10.29 scanme.nmap.org (64.13.134.52)Nmap done: 1 IP address (1 host up) scanned in 477.23 seconds Raw packets sent: 131432 (5.783MB) | Rcvd: 359 (14.964KB)

Nmap certamente forneceu a verbosidade solicitada no Exemplo 4.3! Felizmente, a produção extra é fácil de entender. As primeiras 13 novas linhas são informações de tempo de execução, permitindo ao usuário saber o que está acontecendo enquanto ela está esperando ansiosamente no terminal, esperando por boas notícias. O que constitui uma boa notícia depende se ela é uma administradora de sistemas que tem de corrigir problemas, um pen-tester que precisa de alguns assuntos para relatar, ou um cracker de chapéu preto tentando explorá-los. Cerca de uma dúzia de linhas semelhantes foram removidas por uma questão de brevidade. As linhas de “porta aberta descoberta” fornecem uma notificação de portas abertas para que ela possa começar a bater nelas antes mesmo que o scan termine. A linha “scan timing” fornece uma estimativa do tempo de conclusão, para que ela saiba se deve continuar a fazer o “scan” no ecrã ou almoçar. Como as condições de rede (latência, congestionamento, largura de banda, etc.) e regras de filtragem de pacotes variam muito, as mesmas opções de scan podem levar 30 segundos para serem completadas contra um host e 45 minutos contra outro. Se você quiser a estimativa de tempo atual durante a varredura, basta pressionar o botão “Pressenter.

A tabela de portas não mostra nenhuma porta nova. Todas as portas extra digitalizadas no estado filtrado, elevando o total de portas filtradas de 994 para 65.530. Enquanto não há novas portas itemizadas, as entradas já foram alteradas. Uma nova coluna VERSION fornece o nome da aplicação e detalhes da versão para o serviço de escuta. Isto vem da detecção do serviço, uma das características habilitadas pela opção -A. Outra característica da detecção do serviço é que todos os protocolos do serviço na coluna SERVICE foram realmenteverificados. No scan anterior, eles eram baseados na heurística relativamente fraca de uma pesquisa de nmap-services número de porta. Essa pesquisa de tabela estava correta desta vez, mas será sempre.

Outra funcionalidade adicionada por -A é o NmapScripting Engine,que é discutido em profundidade no capítulo 9, Nmap Scripting Engine. O único script mostrado aqui é HTMLtitle. Dúzias de outros scripts existem, mas nenhum encontrou resultados úteis para esta máquina. Os resultados dos tracerouteresultados também foram adicionados por -A. Esta opção é mais eficiente e morepowerful do que a maioria dos programas traceroute já que as sondas são realizadas em paralelo e o Nmap usa resultados de scan para determinar um probetype favorável (pacotes TCP para porta 80 neste caso).

A maior parte das novas linhas restantes vem da detecção de SO (também habilitada por -A), que é discutida em profundidade no capítulo 8, Detecção remota de SO. A linha final mostra que toda esta informação extra veio a um preço – a varredura levou quase 100 vezes mais tempo do que o exemplo 4.2, “Simples varredura: nmap scanme.nmap.org” para completar (477seconds comparado a 5).

Similar Posts

Deixe uma resposta

O seu endereço de email não será publicado.