Explore Nmap Verbosity Levels for Network Scanning

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a utilizar o Nmap, uma poderosa ferramenta de varredura de rede, em vários níveis de verbosidade. O Nmap é uma escolha frequente para especialistas em segurança que buscam descobrir hosts e serviços em redes de computadores. Dominar as opções de verbosidade do Nmap permite que você regule as informações exibidas durante as varreduras, o que é essencial para uma análise e solução de problemas de rede eficientes.

Ao longo do laboratório, você configurará um servidor local para praticar a varredura. Você também explorará como diferentes níveis de verbosidade impactam os resultados da varredura e as informações apresentadas.

Configurando seu Ambiente para Varredura de Rede

No primeiro passo deste experimento, vamos configurar um servidor web local em sua máquina. Este servidor atuará como nosso alvo para a varredura do Nmap. O Nmap é uma poderosa ferramenta de varredura de rede usada em segurança cibernética para descobrir hosts e serviços em uma rede de computadores. Ao ter um servidor local, você pode praticar com segurança o uso do Nmap sem afetar redes do mundo real.

Entendendo Servidores HTTP

Antes de criarmos o servidor, vamos entender o que é um servidor HTTP. HTTP significa HyperText Transfer Protocol (Protocolo de Transferência de Hipertexto). É o protocolo que seu navegador web usa para se comunicar com sites. Um servidor HTTP é um aplicativo de software que pode entender URLs (endereços web) e o protocolo HTTP. Quando você digita um endereço web em seu navegador, o navegador envia uma solicitação HTTP para o servidor HTTP correspondente, que então envia de volta a página web solicitada. Para nosso laboratório, criaremos um servidor HTTP simples usando Python, uma linguagem de programação popular e fácil de aprender.

Criando o Servidor HTTP

Primeiro, precisamos ter certeza de que você está no diretório de trabalho correto. O diretório de trabalho é como uma pasta onde seus comandos operarão. Neste caso, queremos estar no diretório /home/labex/project. Para navegar até este diretório, use o seguinte comando:

cd /home/labex/project

Agora que estamos no lugar certo, usaremos o módulo de servidor HTTP embutido do Python para criar um servidor web simples. Definiremos este servidor para ouvir na porta 8080. Uma porta é como uma porta em um computador através da qual o tráfego de rede pode entrar ou sair. Diferentes serviços usam portas diferentes. Digite o seguinte comando:

python -m http.server --bind localhost 8080 &

Vamos detalhar o que este comando faz:

  • python -m http.server: Esta parte inicia o módulo de servidor HTTP embutido do Python. Ele diz ao Python para executar a funcionalidade do servidor HTTP.
  • 8080: Isso especifica que o servidor deve ouvir na porta 8080. Isso significa que quaisquer solicitações HTTP recebidas nesta porta serão tratadas pelo nosso servidor.
  • &: Colocar um "e comercial" no final do comando executa o servidor em segundo plano. Isso é útil porque permite que você continue usando o terminal para outros comandos enquanto o servidor está em execução.

Após executar o comando, você deve ver uma saída semelhante a:

Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

Esta saída indica que seu servidor HTTP agora está em execução e está pronto para aceitar conexões na porta 8080. Com este servidor em funcionamento, agora temos um alvo que podemos varrer usando o Nmap nos próximos passos.

Verificando se o Servidor HTTP está em Execução

É importante confirmar que seu servidor está realmente funcionando corretamente. Para fazer isso, podemos usar o seguinte comando:

ss -tulwn | grep 8080

O comando ss é usado para exibir estatísticas de socket. As opções -tulwn dizem ao ss para mostrar informações de socket TCP, UDP, escuta e numéricas. O | é um pipe, que pega a saída do comando ss e a passa para o comando grep. O comando grep então procura a string 8080 na saída. Se o servidor estiver em execução, este comando deve mostrar uma saída indicando que algo está ouvindo na porta 8080, o que confirma que seu servidor HTTP está ativo e pronto para a varredura do Nmap.

Entendendo os Fundamentos do Nmap e a Verbosidade Padrão

Agora que nosso servidor alvo está em funcionamento, é hora de começar a explorar o Nmap e seus níveis de verbosidade. Nmap, abreviação de Network Mapper (Mapeador de Rede), é um poderoso scanner de segurança. Seu principal objetivo é ajudá-lo a descobrir hosts e serviços em uma rede de computadores. Isso é crucial em segurança cibernética, pois permite que você entenda o layout da rede e identifique potenciais riscos de segurança.

O que é Verbosidade do Nmap?

No Nmap, a verbosidade determina quanta informação é mostrada durante uma varredura. Dependendo de quão detalhados você deseja que seus resultados de varredura sejam, você pode escolher diferentes níveis de verbosidade. Aqui está uma análise dos níveis de verbosidade comuns:

  • Nível 0: Este é o nível padrão. Ele fornece a saída padrão, que fornece as informações básicas sobre a varredura.
  • Nível 1: Usando a opção -v, você pode obter mais detalhes na saída da varredura.
  • Nível 2: Usar a opção -vv fornecerá informações ainda mais detalhadas.

Executando uma Varredura com Verbosidade Padrão (Nível 0)

Vamos começar executando nossa primeira varredura usando o nível de verbosidade padrão do Nmap. Isso nos dará uma compreensão básica do tipo de informação que podemos obter sem adicionar verbosidade extra.

nmap -p 8080 localhost > /home/labex/project/verbosity-0.txt

Vamos detalhar este comando:

  • nmap: Este é o comando para invocar a ferramenta de varredura Nmap. Ele diz ao seu sistema para usar o Nmap para a varredura da rede.
  • -p 8080: Esta opção diz ao Nmap para focar a varredura apenas na porta 8080. Portas são como portas em um computador, e diferentes serviços usam portas diferentes. Ao especificar a porta 8080, estamos interessados ​​apenas no serviço em execução nessa porta específica.
  • localhost: Isso indica que estamos varrendo a máquina local. Em outras palavras, estamos verificando os serviços em execução no mesmo computador onde estamos executando o comando Nmap.
  • > /home/labex/project/verbosity-0.txt: Esta parte do comando redireciona a saída da varredura para um arquivo chamado verbosity-0.txt localizado no diretório /home/labex/project. Salvar a saída em um arquivo nos permite revisá-la mais tarde.

Agora, vamos visualizar os resultados da varredura:

cat /home/labex/project/verbosity-0.txt

Após executar este comando, você deve ver uma saída semelhante à seguinte:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-10 15:30 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

Vamos entender o que essa saída significa:

  • Quando a varredura começou: A primeira linha nos diz a hora exata em que a varredura do Nmap começou. Isso é útil para acompanhar quando as informações foram coletadas.
  • O alvo da varredura: Mostra que estávamos varrendo localhost, que tem o endereço IP 127.0.0.1.
  • Status do host: Indica que o host está ativo e responsivo, com uma latência muito baixa de 0.000097 segundos.
  • Estado da porta: Diz-nos que a porta 8080 está no estado open (aberta), o que significa que há um serviço ouvindo nessa porta.
  • Serviço em execução: Sugere que o serviço provavelmente em execução na porta 8080 é http-proxy.
  • Estatísticas de conclusão da varredura: A última linha nos dá informações sobre quanto tempo a varredura levou, que neste caso foi 0.05 segundos.

O nível padrão fornece informações essenciais, mas carece de insights detalhados. Nos próximos passos, exploraremos como níveis de verbosidade mais altos podem nos fornecer informações mais aprofundadas sobre a varredura.

Aumentando a Verbosidade com a Opção -v

No mundo da varredura de rede, obter informações detalhadas é crucial. Nesta etapa, aprenderemos como obter mais detalhes aprofundados do Nmap, aumentando o nível de verbosidade. Verbosidade no Nmap refere-se à quantidade de informações que ele exibe durante uma varredura. A opção -v, que define o nível de verbosidade para 1, nos dá informações adicionais que podem ser extremamente úteis para análise de rede.

Executando uma Varredura com Verbosidade Aumentada

Vamos começar executando uma varredura com verbosidade aumentada. Usaremos o seguinte comando:

nmap -p 8080 localhost -v > /home/labex/project/verbosity-1.txt

Vamos detalhar este comando:

  • nmap é o comando para invocar a ferramenta de varredura Nmap. Nmap é uma ferramenta poderosa e amplamente utilizada para exploração de rede e auditoria de segurança.
  • -p 8080 diz ao Nmap para varrer apenas a porta 8080. Portas são como portas em uma rede, e ao especificar uma porta, estamos focando nossa varredura em um serviço específico que pode estar em execução nessa porta.
  • localhost indica que estamos direcionando a máquina local. Isso é útil para testar e entender como o Nmap funciona em seu próprio sistema.
  • -v aumenta o nível de verbosidade para 1. Isso significa que o Nmap mostrará mais informações sobre o processo de varredura.
  • > /home/labex/project/verbosity-1.txt redireciona a saída da varredura para um arquivo chamado verbosity-1.txt no diretório /home/labex/project. Salvar a saída em um arquivo nos permite revisá-la mais tarde.

Agora, vamos ver os resultados da nossa varredura:

cat /home/labex/project/verbosity-1.txt

Quando você executar este comando, você deve ver uma saída mais detalhada semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-10 15:35 UTC
Initiating Ping Scan at 15:35
Scanning localhost (127.0.0.1) [2 ports]
Completed Ping Scan at 15:35, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 15:35
Scanning localhost (127.0.0.1) [1 port]
Discovered open port 8080/tcp on 127.0.0.1
Completed Connect Scan at 15:35, 0.00s elapsed (1 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000089s latency).

PORT     STATE SERVICE
8080/tcp open  http-proxy

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

Entendendo as Informações Adicionais

Com o nível de verbosidade 1, a saída fornece uma riqueza de detalhes extras. Aqui está o que você pode ver:

  1. O processo de varredura é dividido em estágios. Por exemplo, há um Ping Scan (Varredura de Ping) e um Connect Scan (Varredura de Conexão). O Ping Scan é usado para verificar se um host é acessível, enquanto o Connect Scan tenta estabelecer uma conexão com uma porta específica.
  2. Informações de tempo para cada estágio são fornecidas. Isso ajuda você a entender quanto tempo cada parte da varredura levou.
  3. Você pode ver o momento exato em que a porta aberta foi descoberta. Isso é importante, pois fornece uma linha do tempo clara da varredura.
  4. Os arquivos de dados que o Nmap usou durante a varredura também são mostrados. Esses arquivos contêm informações sobre serviços, portas e outros dados relacionados à rede que o Nmap usa para realizar suas varreduras.

Essas informações adicionais são muito úteis porque permitem que você:

  • Entenda como o Nmap realiza suas varreduras. Ao ver os diferentes estágios e a ordem em que eles ocorrem, você pode ter uma melhor compreensão do processo de varredura.
  • Conheça a linha do tempo exata dos eventos durante a varredura. Isso pode ser útil para solucionar problemas ou para entender o comportamento de uma rede.
  • Determine quando portas e serviços específicos foram descobertos. Isso é crucial para avaliações de segurança e gerenciamento de rede.

Comparando Níveis de Verbosidade

Para ver a diferença entre uma varredura normal e uma varredura com verbosidade aumentada mais claramente, compararemos os dois arquivos de saída. Use o seguinte comando:

diff /home/labex/project/verbosity-0.txt /home/labex/project/verbosity-1.txt

O comando diff compara o conteúdo de dois arquivos e mostra as diferenças entre eles. A saída deste comando demonstrará como o aumento do nível de verbosidade fornece mais informações sobre o processo de varredura. Essas informações extras podem ser particularmente úteis quando você estiver solucionando problemas de rede ou conduzindo avaliações de segurança detalhadas.

Níveis de Verbosidade Adicionais

O Nmap não para no nível de verbosidade 1. Ele suporta níveis de verbosidade ainda mais altos:

  • -vv define o nível de verbosidade para 2.
  • -vvv define o nível de verbosidade para 3.

À medida que você aumenta o nível de verbosidade, o Nmap fornecerá informações cada vez mais detalhadas sobre o processo de varredura. Isso pode ser muito útil quando você precisa se aprofundar na rede e entender todos os aspectos da varredura.

Explorando Níveis de Verbosidade Mais Altos e Aplicações Práticas

Nesta etapa, vamos nos aprofundar nas capacidades do Nmap. Começaremos usando um nível de verbosidade ainda mais alto, o que nos dará informações mais detalhadas durante o processo de varredura. Em seguida, aprenderemos sobre as aplicações práticas de diferentes configurações de verbosidade, para que você saiba quando usar cada nível em cenários do mundo real.

Executando uma Varredura com Verbosidade Máxima

Vamos executar uma varredura com o nível de verbosidade 2. No Nmap, podemos definir o nível de verbosidade usando a opção -vv. O nível de verbosidade 2 fornecerá uma quantidade significativa de informações detalhadas sobre a varredura. Aqui está o comando para executar a varredura:

nmap -p 8080 localhost -vv > /home/labex/project/verbosity-2.txt

Neste comando, -p 8080 diz ao Nmap para varrer a porta 8080. localhost é o alvo que estamos varrendo, que se refere à máquina local. A opção -vv aumenta a verbosidade para o nível 2. O símbolo > redireciona a saída da varredura para o arquivo /home/labex/project/verbosity-2.txt.

Agora, vamos examinar os resultados da varredura. Podemos usar o comando cat para exibir o conteúdo do arquivo:

cat /home/labex/project/verbosity-2.txt

Ao olhar para a saída, você notará que ela contém ainda mais detalhes técnicos sobre o processo de varredura. Esses detalhes incluem:

  • Informações de tempo mais aprofundadas: Isso ajuda você a entender quanto tempo diferentes partes da varredura levaram.
  • Informações de depuração adicionais: Pode ser útil se algo der errado durante a varredura.
  • Informações de protocolo mais detalhadas: Isso fornece uma melhor compreensão dos protocolos de rede envolvidos na varredura.

Aplicações Práticas de Diferentes Níveis de Verbosidade

Diferentes níveis de verbosidade são úteis em diferentes cenários. Vamos dar uma olhada em cada nível e suas aplicações práticas:

  1. Nível Padrão (0):

    • O nível de verbosidade padrão é o melhor para varreduras rápidas. Quando você só precisa de informações básicas sobre o alvo, como se uma porta específica está aberta ou fechada, este nível é suficiente.
    • Também é útil para verificações de rotina e mapeamento de rede simples. Por exemplo, se você deseja verificar rapidamente o status básico das portas de um servidor, pode usar o nível padrão.
    • Um exemplo de caso de uso é verificar se portas específicas estão abertas em um servidor. Você pode obter uma visão geral rápida sem se aprofundar em muitos detalhes.
  2. Nível de Verbosidade 1 (-v):

    • Este nível é útil para análises mais detalhadas. Ele fornece mais informações do que o nível padrão, o que ajuda você a entender melhor a linha do tempo da varredura.
    • Se você estiver solucionando problemas de conectividade, as informações adicionais neste nível podem ser muito úteis. Você pode ver quais partes da varredura estão demorando mais ou se há algum erro.
    • Um exemplo de caso de uso é a solução de problemas de conectividade. Você pode usar os detalhes extras para descobrir o que pode estar causando o problema.
  3. Níveis de Verbosidade Mais Altos (-vv, -vvv):

    • Esses níveis são ideais para análise e depuração aprofundadas. Eles fornecem a quantidade máxima de informações, o que é muito útil para auditorias de segurança.
    • Quando você estiver conduzindo uma avaliação de segurança detalhada ou precisar entender exatamente como a varredura está interagindo com o alvo, os níveis de verbosidade mais altos são o caminho a seguir.
    • Um exemplo de caso de uso são avaliações de segurança detalhadas ou quando você precisa entender exatamente como a varredura está interagindo com o alvo. Você pode obter uma visão abrangente do processo de varredura.

Combinando Verbosidade com Outras Opções do Nmap

As opções de verbosidade podem ser combinadas com outras opções do Nmap para realizar varreduras mais poderosas. Vamos tentar uma varredura mais avançada usando o seguinte comando:

nmap -p 8080 -sV localhost -v > /home/labex/project/advanced-scan.txt

Vamos detalhar este comando:

  • -p 8080 especifica que queremos varrer a porta 8080.
  • -sV habilita a detecção de versão. Esta opção tenta determinar a versão do serviço em execução na porta varrida.
  • -v aumenta a verbosidade para o nível 1, para que obtenhamos informações mais detalhadas sobre o processo de varredura.
  • O símbolo > redireciona a saída da varredura para o arquivo /home/labex/project/advanced-scan.txt.

Agora, vamos olhar para os resultados da varredura:

cat /home/labex/project/advanced-scan.txt

Você notará que a adição de -sV fornece informações sobre a versão do serviço em execução na porta 8080. Ao mesmo tempo, a opção -v garante que você obtenha informações detalhadas sobre o processo de varredura, tornando mais fácil analisar os resultados.

Limpando

Antes de terminarmos este experimento, precisamos desligar corretamente o servidor HTTP que criamos anteriormente. Podemos usar o seguinte comando para fazer isso:

pkill -f "python -m http.server"

Este comando encerra o processo do servidor HTTP Python em execução na porta 8080. É importante limpar corretamente para evitar quaisquer conflitos ou problemas de uso de recursos no futuro.

Resumo

Neste laboratório, você aprendeu como usar efetivamente os níveis de verbosidade do Nmap para controlar as informações exibidas durante as varreduras de rede. Começando com uma configuração básica de um servidor HTTP local, você explorou como diferentes níveis de verbosidade impactam as saídas de varredura do Nmap.

Você descobriu que o nível de verbosidade padrão (0) fornece detalhes essenciais sobre portas e serviços abertos. Usar a opção -v aumenta a verbosidade, oferecendo mais informações sobre o processo de varredura. Níveis mais altos como -vv e -vvv fornecem informações técnicas detalhadas para análise aprofundada. As opções de verbosidade também podem ser combinadas com outras técnicas do Nmap para uma análise de rede mais poderosa. Essas habilidades são cruciais para administradores de rede e profissionais de segurança, permitindo que eles coletem dados de rede de forma eficiente e adaptem as varreduras a tarefas específicas.