Aprenda a Sintaxe Básica de Comandos do Nmap

NmapNmapBeginner
Pratique Agora

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Neste laboratório, você aprenderá a sintaxe básica de comandos do Nmap, uma poderosa ferramenta de descoberta de rede e auditoria de segurança. Amplamente utilizado por administradores de sistemas e profissionais de segurança, o Nmap ajuda a escanear redes, detectar portas abertas e identificar potenciais vulnerabilidades.

Nosso cenário se passa em 2145 no Luna Gateway Spaceport, o maior e mais importante porto espacial da Lua. Como líder da equipe de segurança cibernética, sua missão é proteger a infraestrutura de rede do porto espacial contra ameaças. Com relatos recentes de aumento de atividades suspeitas, você suspeita que hackers estejam tentando se infiltrar nos sistemas. Ao final deste laboratório, você terá experiência prática no uso do Nmap para reconhecimento de rede essencial, uma habilidade crucial para proteger qualquer rede, mesmo um porto espacial futurista.

Compreendendo o Nmap e Verificando a Instalação

Nmap, que significa Network Mapper, é uma ferramenta de código aberto (open-source). No campo da segurança de rede, ele desempenha um papel crucial na descoberta de hosts e serviços em uma rede de computadores. Pense nele como um detetive que pode descobrir o que está acontecendo em uma rede. Em nosso cenário fictício do Luna Gateway Spaceport, o Nmap é extremamente valioso para salvaguardar a segurança de sua complexa infraestrutura de rede.

Antes de começarmos a usar o Nmap, precisamos garantir que ele esteja instalado em nosso sistema. Veja como você pode verificar sua instalação:

  1. Primeiro, você precisa abrir uma janela de terminal. No ambiente LabEx, o terminal geralmente já está aberto e configurado para o diretório /home/labex/project. O terminal é como um centro de controle onde você pode digitar comandos para interagir com o sistema.

  2. Agora, executaremos um comando para verificar a versão do Nmap instalada. Digite o seguinte comando no terminal e pressione Enter:

    nmap --version

    Este comando está solicitando ao sistema que mostre informações sobre a versão instalada do Nmap. A opção --version é uma maneira comum em muitos programas de obter detalhes relacionados à versão.

  3. Após executar o comando, reserve um momento para analisar a saída. Você verá detalhes como a versão específica do Nmap, como ele foi compilado e outras informações relevantes. Isso ajuda a confirmar que o Nmap está instalado corretamente e também dá uma ideia de quais recursos podem estar disponíveis com base na versão.

Configurando um Serviço de Teste

Antes de começar a praticar com o Nmap, você precisa de um alvo para escanear. Pense no Nmap como uma ferramenta de detetive no mundo da segurança cibernética, e você precisa de um suspeito (o alvo) para investigar. Neste caso, configuraremos um serviço de rede simples em sua máquina local usando uma ferramenta chamada netcat (nc). Netcat é um utilitário de rede versátil que pode ler e gravar dados em conexões de rede.

  1. Primeiro, vamos verificar se o netcat está instalado em seu sistema. Você pode fazer isso executando o seguinte comando em seu terminal:

    nc -h

    Este comando solicita que o netcat exiba suas informações de ajuda. Se o netcat estiver instalado, você verá uma lista de opções disponíveis e como usá-las. Se você receber um erro, significa que o netcat não está instalado e você precisará instalá-lo antes de prosseguir.

  2. Agora, abra uma nova janela de terminal. Isso é importante porque usaremos o terminal original para outros comandos mais tarde, e precisamos manter o serviço netcat em execução em uma janela separada. Você pode abrir uma nova janela de terminal clicando com o botão direito na área do terminal e selecionando "Novo Terminal" ou usando o atalho de teclado (geralmente Ctrl+Shift+T).

  3. Nesta nova janela de terminal, iniciaremos um serviço de rede simples que permanecerá aberto. Execute o seguinte comando:

    while true; do nc -n -lvp 7777; done

    Este comando cria um loop infinito. Toda vez que uma conexão com o serviço netcat é fechada, o loop reinicia o netcat, garantindo que o serviço esteja sempre disponível para escanearmos. Você deve ver uma saída indicando que o netcat está ouvindo na porta 7777.

    • -n: Esta flag diz ao netcat para usar endereços IP diretamente em vez de tentar resolver nomes de host. Isso acelera o processo e evita possíveis problemas relacionados ao DNS.
    • -l: Esta flag diz ao netcat para entrar no modo de escuta (listening mode). Ele aguarda conexões de entrada em vez de tentar iniciá-las.
    • -v: Esta flag habilita a saída verbose. Netcat fornecerá informações mais detalhadas sobre o que está fazendo, o que é útil para depurar e entender o que está acontecendo.
    • -p 7777: Esta flag especifica o número da porta em que o netcat deve ouvir. Neste caso, escolhemos a porta 7777.
  4. Mantenha esta janela de terminal aberta. Usaremos ela para observar as conexões de entrada quando escanearmos com o Nmap nos próximos passos. O serviço netcat em execução nesta janela atuará como nosso alvo para as varreduras do Nmap, permitindo que vejamos como o Nmap interage com um serviço de rede do mundo real.

Executando uma Varredura Nmap Básica

Agora que configuramos um serviço com sucesso, é hora de usar o Nmap para descobri-lo. Nmap é uma poderosa ferramenta de varredura de rede que pode nos ajudar a encontrar portas e serviços abertos em uma máquina alvo. Nesta etapa, faremos uma varredura básica do localhost para encontrar o serviço que acabamos de configurar.

  1. Primeiro, retorne à sua janela de terminal original. Certifique-se de que não é aquela que está executando o netcat. Precisamos usar este terminal para executar nossos comandos Nmap.

  2. Em seguida, execute o seguinte comando Nmap:

    nmap -v -p 7777 localhost

    Vamos detalhar este comando para entender o que cada parte faz:

    • nmap: Este é o comando base para executar o Nmap. Ele diz ao sistema que queremos usar a ferramenta Nmap para varredura de rede.
    • -v: Esta opção habilita a saída verbose. Quando usamos -v, o Nmap nos dará informações mais detalhadas sobre a varredura, como o progresso e detalhes adicionais sobre o alvo.
    • -p 7777: Esta opção diz ao Nmap para escanear apenas a porta 7777. Portas são como portas em um computador, e diferentes serviços usam portas diferentes. Ao especificar -p 7777, estamos pedindo ao Nmap para verificar se a porta 7777 está aberta na máquina alvo.
    • localhost: Este é o alvo que queremos escanear. Neste caso, localhost se refere à sua própria máquina. É uma maneira de testar a varredura de rede em seu ambiente local.
  3. Após executar o comando, observe a saída. Você deve ver algo semelhante a isto:

    Starting Nmap ( http://nmap.org )
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000040s latency).
    PORT     STATE SERVICE
    7777/tcp open  cbt

    Esta saída fornece informações importantes. Ela nos diz que o Nmap iniciou a varredura, e o alvo (localhost) está ativo e em execução. A linha 7777/tcp open cbt indica que a porta 7777 está aberta no localhost, e o serviço em execução nesta porta é identificado como cbt.

  4. Para manter um registro desta varredura para referência futura, vamos salvar a saída em um arquivo. Execute o comando novamente com redirecionamento de saída:

    nmap -v -p 7777 localhost > /home/labex/project/nmap_scan_output.txt

    Este comando executa a mesma varredura de antes, mas o símbolo > redireciona a saída para um arquivo chamado nmap_scan_output.txt no diretório /home/labex/project. Desta forma, podemos acessar facilmente os resultados da varredura mais tarde.

  5. Você pode visualizar o conteúdo deste arquivo usando o comando cat. Execute o seguinte comando:

    cat /home/labex/project/nmap_scan_output.txt

    O comando cat é usado para exibir o conteúdo de um arquivo no terminal. Ao executar este comando, você pode ver a saída da varredura salva.

  6. Finalmente, verifique o terminal netcat. Você deve notar que o Nmap tentou se conectar ao serviço. Devido ao loop que configuramos no netcat, ele terá fechado e reaberto, garantindo que o serviço permaneça disponível para varreduras adicionais. Isso é importante porque nos permite continuar testando e explorando a rede usando o Nmap.

Explorando a Saída do Nmap

Agora que realizamos com sucesso uma varredura básica usando o Nmap, é hora de analisar mais de perto a saída que o Nmap gera. Entender essa saída é crucial, pois ela fornece informações valiosas sobre o sistema alvo, como portas abertas e serviços em execução.

  1. Primeiro, precisamos abrir o arquivo de saída da varredura do Nmap. Este arquivo contém todos os detalhes da varredura que acabamos de conduzir. Para abri-lo, usaremos o editor de texto nano. nano é um editor de texto simples e fácil de usar que nos permite visualizar e editar arquivos de texto facilmente. Execute o seguinte comando em seu terminal:

    nano /home/labex/project/nmap_scan_output.txt

    Este comando abrirá o arquivo especificado no editor de texto nano.

  2. Depois que o arquivo estiver aberto, examine seu conteúdo. Você notará que o arquivo é dividido em várias seções, cada uma fornecendo diferentes tipos de informações:

    • Relatório de varredura Nmap: Esta seção mostra o alvo da varredura. Em nosso caso, o alvo é localhost, que se refere à máquina local em que estamos trabalhando atualmente.
    • Status do host: Esta parte indica se o host (o sistema alvo) está ativo e em execução. Ele também fornece informações sobre a latência do host, que é o tempo que leva para um sinal viajar de nossa máquina para o alvo e voltar.
    • Tabela de portas: Esta tabela mostra o estado das portas escaneadas. Ela nos diz se uma porta está aberta, fechada ou filtrada. Além disso, ela mostra o serviço que o Nmap acha que pode estar em execução nessa porta.
  3. Você pode notar que o Nmap identifica o serviço na porta 7777 como "cbt". No entanto, é importante notar que esta é apenas a melhor estimativa do Nmap com base em atribuições de portas comuns. Para portas não padrão como 7777, essa identificação pode nem sempre ser precisa.

  4. Quando terminar de examinar o arquivo, você pode sair do editor de texto nano pressionando Ctrl+X.

  5. Agora, vamos tentar uma varredura um pouco mais abrangente. Usaremos um novo comando que inclui opções adicionais para reunir mais informações sobre o alvo. Execute o seguinte comando em seu terminal:

    nmap -v -p 7777 -sV localhost > /home/labex/project/nmap_service_scan.txt

    Aqui está o que cada parte do comando significa:

    • -v: Esta opção habilita o modo verbose, o que significa que o Nmap fornecerá informações mais detalhadas sobre o processo de varredura.
    • -p 7777: Isso especifica que queremos escanear apenas a porta 7777.
    • -sV: Esta flag diz ao Nmap para sondar portas abertas para determinar o serviço e sua versão em execução nessas portas.
    • localhost: Este é o alvo de nossa varredura, que é a máquina local.
    • > /home/labex/project/nmap_service_scan.txt: Isso redireciona a saída da varredura para o arquivo especificado.
  6. Após executar a varredura, queremos visualizar o conteúdo deste novo arquivo. Para fazer isso, usaremos o comando cat, que é usado para exibir o conteúdo de um arquivo no terminal. Execute o seguinte comando:

    cat /home/labex/project/nmap_service_scan.txt

    Você deve ver informações adicionais sobre a porta 7777 na saída. Mesmo que o Nmap não consiga determinar o serviço exato em execução na porta, ele ainda fornecerá uma saída mais detalhada em comparação com a varredura básica.

  7. Ao analisar a saída, procure linhas como:

    PORT     STATE SERVICE VERSION
    7777/tcp open  cbt?

    Esta linha indica que o Nmap detectou uma porta 7777 aberta. No entanto, a interrogação após "cbt" sugere que o Nmap está incerto sobre a classificação do serviço. Isso significa que o Nmap não conseguiu identificar definitivamente o serviço em execução nesta porta.

Conduzindo uma Varredura em Toda a Rede

Em um cenário do mundo real no Luna Gateway Spaceport, você precisaria escanear vários hosts na rede. Isso é importante porque ajuda você a entender os dispositivos conectados à rede e suas portas abertas, o que é crucial para a segurança da rede. Vamos simular isso escaneando uma faixa de endereços IP.

  1. Primeiro, vamos descobrir nosso endereço IP. Seu endereço IP é como o "endereço residencial" da sua rede, que identifica exclusivamente seu dispositivo na rede. Para encontrá-lo, executaremos o seguinte comando:

    ip addr show | grep inet

    A parte ip addr show do comando lista todas as interfaces de rede e seus endereços IP associados em seu dispositivo. O | é um pipe, que pega a saída do comando ip addr show e a passa para o comando grep inet. O comando grep inet então filtra a saída para mostrar apenas as linhas que contêm a palavra "inet", que são as linhas com endereços IP.

    Saída de exemplo:

    inet 127.0.0.1/8 scope host lo
    inet 172.18.0.3/16 brd 172.18.255.255 scope global eth1

    127.0.0.1/8 é o endereço de loopback, que não é útil para nosso propósito. Portanto, podemos ignorá-lo. 172.18.0.3/16 é o endereço IP da interface de rede, que é útil para nosso propósito. Portanto, podemos usar este endereço IP nas etapas a seguir.

  2. Agora, vamos escanear uma faixa de endereços IP em torno do nosso. Escanear uma faixa de endereços IP ajuda você a descobrir outros dispositivos na mesma rede. Se seu IP for 172.18.0.3, você pode escanear 172.18.0.1-10. Substitua a faixa de IP no seguinte comando por uma que inclua seu IP:

    sudo nmap -v -p 7777 172.18.0.1-10 > /home/labex/project/network_scan.txt

    O comando sudo é usado para executar o comando a seguir com privilégios administrativos, o que geralmente é necessário para a varredura de rede. nmap é uma poderosa ferramenta de varredura de rede. A opção -v significa "verbose", o que significa que fornecerá informações mais detalhadas sobre a varredura. A opção -p 7777 especifica que queremos escanear a porta 7777 nos endereços IP de destino. 172.18.0.1 - 10 é a faixa de endereços IP que queremos escanear. O símbolo > redireciona a saída do comando nmap para o arquivo /home/labex/project/network_scan.txt.

    Este comando escaneia os primeiros 10 endereços IP na rede 172.18.0.0 para a porta 7777.

  3. Visualize os resultados da varredura:

    cat /home/labex/project/network_scan.txt

    O comando cat é usado para exibir o conteúdo de um arquivo. Neste caso, ele mostrará os resultados da varredura de rede que salvamos no arquivo network_scan.txt. Você deve ver uma lista de endereços IP, com informações sobre a porta 7777 para cada um.

  4. Em um cenário do mundo real, este tipo de varredura ajudaria você a identificar todos os dispositivos na rede com uma porta específica aberta, o que poderia ser crucial para manter a segurança da rede do Luna Gateway Spaceport. Ao saber quais dispositivos têm uma porta específica aberta, você pode determinar se há algum risco potencial de segurança ou pontos de acesso não autorizados na rede.

Resumo

Neste laboratório, você aprendeu a sintaxe básica de comandos do Nmap no contexto da segurança da infraestrutura de rede do Luna Gateway Spaceport. Primeiro, você verificou a instalação do Nmap e configurou um serviço de teste com netcat. Em seguida, você conduziu varreduras básicas no localhost, aprendeu a interpretar a saída do Nmap e a salvou para análise posterior.

Você também avançou para técnicas mais complexas, como a detecção da versão do serviço, que revela detalhes sobre os serviços em portas abertas. Finalmente, você simulou uma varredura em toda a rede, mostrando como o Nmap pode inspecionar vários hosts. Essas habilidades são fundamentais para o reconhecimento de rede e auditoria de segurança, cruciais para identificar riscos nas operações do espaço.

Lembre-se, use o Nmap de forma responsável e apenas em redes autorizadas. A varredura não autorizada pode ser vista como um ataque e pode ter consequências legais. À medida que você continua aprendendo, pense em expandir essas técnicas básicas do Nmap e combiná-las com outras ferramentas para uma estratégia de segurança abrangente em ambientes complexos como o Luna Gateway Spaceport.

OSZAR »