Introdução
Neste laboratório, você aprenderá como solucionar problemas de varreduras Nmap usando técnicas de rastreamento de pacotes e depuração. O laboratório guia você através da execução de varreduras Nmap com a opção --packet-trace para observar os pacotes de rede, habilitando o nível de depuração 2 com -d2 e combinando rastreamento e depuração.
Você também aprenderá como salvar a saída do rastreamento em um arquivo usando -oN e analisar os detalhes dos pacotes dentro do terminal Xfce para identificar problemas de varredura. O laboratório utiliza comandos como nmap --packet-trace 192.168.1.1, nmap -d2 127.0.0.1 e nmap --packet-trace -oN trace.txt 127.0.0.1 para fornecer experiência prática no diagnóstico de problemas de varredura Nmap.
Executar varredura com rastreamento de pacotes usando nmap --packet-trace 192.168.1.1
Nesta etapa, usaremos a opção --packet-trace com o Nmap para observar os pacotes sendo enviados e recebidos durante uma varredura. Esta é uma ferramenta de depuração poderosa que permite entender exatamente o que o Nmap está fazendo no nível da rede.
Antes de começarmos, vamos discutir brevemente o que é rastreamento de pacotes. O rastreamento de pacotes envolve a captura e análise de pacotes de rede para entender a comunicação entre dois ou mais dispositivos. A opção --packet-trace do Nmap fornece uma maneira simplificada de visualizar esses pacotes diretamente de dentro do Nmap.
Para realizar uma varredura com rastreamento de pacotes, siga estas etapas:
Abra um terminal: Se você ainda não tiver um aberto, inicie o terminal Xfce.
Execute o comando Nmap: No terminal, digite o seguinte comando e pressione Enter:
sudo nmap --packet-trace 192.168.1.1sudo: Este comando requer privilégios de root para capturar pacotes de rede.nmap: Este é o scanner Nmap de linha de comando.--packet-trace: Esta opção informa ao Nmap para imprimir um rastreamento dos pacotes que ele envia e recebe.192.168.1.1: Este é o endereço IP de destino. Se este endereço IP não estiver disponível em sua rede, você pode substituí-lo pelo endereço IP de um dispositivo que seja acessível a partir de sua VM LabEx. Uma alternativa comum é127.0.0.1(localhost).
Observe a saída: O Nmap agora executará uma varredura do endereço IP de destino e imprimirá informações detalhadas sobre cada pacote enviado e recebido. A saída mostrará o tipo de pacote (por exemplo, SYN, ACK), os endereços IP e portas de origem e destino e outras informações relevantes.
A saída será semelhante a esta (a saída exata variará dependendo da sua rede e do host de destino):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC SENT (0.0034s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 S ttl=64 id=12345 win=65535 RECV (0.0045s) from 192.168.1.1: TCP 192.168.1.1:80 > 192.168.1.100:54321 SA ttl=64 id=67890 win=14600 SENT (0.0045s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 A ttl=64 id=12346 win=65535 ... Nmap done: 1 IP address (1 host up) scanned in 0.123 secondsCada linha representa um pacote.
SENTindica um pacote enviado pelo Nmap, eRECVindica um pacote recebido pelo Nmap. As informações que seguemSENTouRECVdescrevem o protocolo do pacote (TCP), os endereços IP e portas de origem e destino, flags (S para SYN, A para ACK, SA para SYN-ACK), TTL (Time To Live), ID e tamanho da janela.Interrompa a varredura: A varredura continuará por um tempo. Você pode interrompê-la pressionando
Ctrl+C.
Esta etapa demonstrou como usar a opção --packet-trace para obter informações sobre a atividade de rede do Nmap. Nas etapas seguintes, exploraremos outras opções e técnicas de depuração.
Habilitar nível de depuração 2 com nmap -d2 127.0.0.1
Nesta etapa, habilitaremos o nível de depuração 2 no Nmap. A saída de depuração fornece informações detalhadas sobre as operações internas do Nmap, o que pode ser útil para entender como o Nmap funciona e solucionar problemas.
Os níveis de depuração do Nmap variam de 1 a 9. Níveis mais altos fornecem uma saída mais detalhada. Para esta etapa, usaremos o nível de depuração 2, que oferece um bom equilíbrio entre detalhes e legibilidade.
Para habilitar o nível de depuração 2, siga estas etapas:
Abra um terminal: Se você ainda não tiver um aberto, inicie o terminal Xfce.
Execute o comando Nmap: No terminal, digite o seguinte comando e pressione Enter:
sudo nmap -d2 127.0.0.1sudo: Este comando pode exigir privilégios de root, dependendo do tipo de varredura.nmap: Este é o scanner Nmap de linha de comando.-d2: Esta opção define o nível de depuração para 2.127.0.0.1: Este é o endereço IP de destino, que é o endereço de loopback (localhost).
Observe a saída: O Nmap agora executará uma varredura do localhost e imprimirá informações de depuração no terminal. A saída incluirá detalhes sobre a configuração do Nmap, as sondas que ele está enviando e as respostas que está recebendo.
A saída será semelhante a esta (a saída exata variará):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC --------------- Timing report --------------- hostgroups: min 1, max 1024 rtt-timeouts: init 1250, min 100, max 10000 max-scan-delay: 0 ms, brtt 1250 ms, rttvar 625 ms parallelism: min 1, max 256 --------------------------------------------- ... Nmap done: 1 IP address (1 host up) scanned in 0.123 secondsA saída mostra vários parâmetros internos e decisões tomadas pelo Nmap durante a varredura. Este nível de detalhe pode ser útil para entender como o Nmap está operando e para diagnosticar problemas.
Interrompa a varredura: A varredura continuará por um tempo. Você pode interrompê-la pressionando
Ctrl+C.
Esta etapa demonstrou como habilitar o nível de depuração 2 no Nmap. Na próxima etapa, combinaremos o rastreamento de pacotes e a saída de depuração para uma análise ainda mais detalhada.
Combinar rastreamento e depuração com nmap --packet-trace -d 192.168.1.1
Nesta etapa, combinaremos as opções --packet-trace e -d para obter uma visão abrangente da operação do Nmap. Isso fornecerá detalhes no nível do pacote e informações de depuração internas, o que pode ser muito útil para solução de problemas avançada e compreensão do comportamento do Nmap.
Para combinar rastreamento de pacotes e depuração, siga estas etapas:
Abra um terminal: Se você ainda não tiver um aberto, inicie o terminal Xfce.
Execute o comando Nmap: No terminal, digite o seguinte comando e pressione Enter:
sudo nmap --packet-trace -d 192.168.1.1sudo: Este comando requer privilégios de root para capturar pacotes de rede.nmap: Este é o scanner Nmap de linha de comando.--packet-trace: Esta opção informa ao Nmap para imprimir um rastreamento dos pacotes que ele envia e recebe.-d: Esta opção habilita a saída de depuração. Por padrão, ela define o nível de depuração para 1. Você pode usar-d2,-d3, etc., para aumentar o nível de depuração. Neste caso, estamos usando o nível padrão 1.192.168.1.1: Este é o endereço IP de destino. Se este endereço IP não estiver disponível em sua rede, você pode substituí-lo pelo endereço IP de um dispositivo que seja acessível a partir de sua VM LabEx. Uma alternativa comum é127.0.0.1(localhost).
Observe a saída: O Nmap agora executará uma varredura do endereço IP de destino e imprimirá rastreamentos de pacotes e informações de depuração no terminal. A saída será uma mistura de detalhes do pacote (como visto na etapa 1) e mensagens internas do Nmap (como visto na etapa 2).
A saída será semelhante a esta (a saída exata variará dependendo da sua rede e do host de destino):
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC SENT (0.0034s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 S ttl=64 id=12345 win=65535 RECV (0.0045s) from 192.168.1.1: TCP 192.168.1.1:80 > 192.168.1.100:54321 SA ttl=64 id=67890 win=14600 NSE: Using Lua engine for script processing. SENT (0.0045s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 A ttl=64 id=12346 win=65535 ... Nmap done: 1 IP address (1 host up) scanned in 0.123 secondsVocê verá as linhas
SENTeRECVintercaladas com mensagens de depuração comoNSE: Using Lua engine for script processing..Interrompa a varredura: A varredura continuará por um tempo. Você pode interrompê-la pressionando
Ctrl+C.
Esta etapa demonstrou como combinar rastreamento de pacotes e saída de depuração no Nmap. Essa combinação fornece uma ferramenta poderosa para entender e solucionar problemas de varreduras do Nmap.
Salvar a saída do rastreamento com nmap --packet-trace -oN trace.txt 127.0.0.1
Nesta etapa, salvaremos a saída do rastreamento de pacotes em um arquivo para análise posterior. Isso é útil quando você deseja examinar os detalhes dos pacotes mais de perto ou compartilhar a saída com outras pessoas. O Nmap oferece várias opções para salvar os resultados da varredura em diferentes formatos. Aqui, usaremos o formato de saída normal (-oN) para salvar o rastreamento de pacotes.
Para salvar a saída do rastreamento de pacotes em um arquivo, siga estas etapas:
Abra um terminal: Se você ainda não tiver um aberto, inicie o terminal Xfce.
Execute o comando Nmap: No terminal, digite o seguinte comando e pressione Enter:
sudo nmap --packet-trace -oN trace.txt 127.0.0.1sudo: Este comando pode exigir privilégios de root, dependendo do tipo de varredura.nmap: Este é o scanner Nmap de linha de comando.--packet-trace: Esta opção informa ao Nmap para imprimir um rastreamento dos pacotes que ele envia e recebe.-oN trace.txt: Esta opção especifica que a saída deve ser salva em formato normal no arquivotrace.txt. O arquivo será criado em seu diretório atual (~/project).127.0.0.1: Este é o endereço IP de destino, que é o endereço de loopback (localhost).
Observe a saída: O Nmap executará uma varredura do localhost e imprimirá o rastreamento de pacotes no terminal, além de salvá-lo no arquivo
trace.txt.A saída do terminal será semelhante a esta:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC SENT (0.0034s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 S ttl=64 id=12345 win=65535 RECV (0.0045s) from 127.0.0.1: TCP 127.0.0.1:80 > 127.0.0.1:54321 SA ttl=64 id=67890 win=14600 SENT (0.0045s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 A ttl=64 id=12346 win=65535 ... Nmap done: 1 IP address (1 host up) scanned in 0.123 secondsVerifique a criação do arquivo: Após a conclusão da varredura, verifique se o arquivo
trace.txtfoi criado em seu diretório~/project. Você pode usar o comandolspara verificar:ls ~/projectVocê deve ver
trace.txtna saída.Visualize o conteúdo do arquivo: Você pode visualizar o conteúdo do arquivo
trace.txtusando o comandocatou um editor de texto comonano:cat ~/project/trace.txtou
nano ~/project/trace.txtO arquivo conterá a mesma saída de rastreamento de pacotes que foi impressa no terminal.
Esta etapa demonstrou como salvar a saída do rastreamento de pacotes do Nmap em um arquivo. Na próxima etapa, analisaremos os detalhes dos pacotes no terminal Xfce.
Analisar detalhes dos pacotes no terminal Xfce
Nesta etapa, analisaremos os detalhes dos pacotes capturados pela opção --packet-trace do Nmap. Compreender a saída do rastreamento de pacotes pode ajudá-lo a diagnosticar problemas de rede, entender como as sondagens do Nmap funcionam e identificar possíveis vulnerabilidades de segurança. Usaremos o comando grep no terminal Xfce para filtrar e examinar pacotes específicos.
Para analisar os detalhes dos pacotes, siga estas etapas:
Abra um terminal: Se você ainda não tiver um aberto, inicie o terminal Xfce.
Revise o arquivo
trace.txt: Na etapa anterior, você salvou a saída do rastreamento de pacotes no arquivotrace.txtem seu diretório~/project. Se você não concluiu essa etapa, volte e complete-a primeiro.Use
greppara filtrar pacotes: O comandogrepé uma ferramenta poderosa para pesquisar arquivos de texto. Podemos usá-lo para filtrar o arquivotrace.txte encontrar pacotes que correspondam a critérios específicos.Por exemplo, para encontrar todos os pacotes enviados para a porta 80, você pode usar o seguinte comando:
grep " > 127.0.0.1:80" ~/project/trace.txtgrep: Este é o utilitário de linha de comando para pesquisar texto." > 127.0.0.1:80": Este é o padrão de pesquisa. Ele procura linhas que contenham " > 127.0.0.1:80", o que indica pacotes enviados para a porta 80 no localhost (127.0.0.1). O espaço antes de>é importante para evitar a correspondência de portas de origem.~/project/trace.txt: Este é o caminho para o arquivo que contém a saída do rastreamento de pacotes.
A saída mostrará todas as linhas no arquivo
trace.txtque correspondem ao padrão de pesquisa. Por exemplo:SENT (0.0034s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 S ttl=64 id=12345 win=65535 RECV (0.0045s) from 127.0.0.1: TCP 127.0.0.1:80 > 127.0.0.1:54321 SA ttl=64 id=67890 win=14600 SENT (0.0045s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 A ttl=64 id=12346 win=65535Analise os detalhes dos pacotes: Examine a saída para entender os detalhes dos pacotes. A saída mostra a direção do pacote (
SENTouRECV), os endereços IP e portas de origem e destino, o protocolo (TCP) e outras flags e opções.SENT: Indica um pacote enviado pelo Nmap.RECV: Indica um pacote recebido pelo Nmap.TCP 127.0.0.1:54321 > 127.0.0.1:80: Mostra o endereço IP e a porta de origem (127.0.0.1:54321) e o endereço IP e a porta de destino (127.0.0.1:80).S: Indica que a flag SYN está definida, que é usada para iniciar uma conexão TCP.SA: Indica que as flags SYN-ACK estão definidas, que é uma resposta a um pacote SYN.A: Indica que a flag ACK está definida, que é usada para reconhecer dados recebidos.ttl: Time to live (Tempo de vida).id: IP identification number (Número de identificação IP).win: Window size (Tamanho da janela).
Experimente diferentes padrões
grep: Experimente diferentes padrõesgreppara filtrar a saída do rastreamento de pacotes com base em suas necessidades específicas. Por exemplo:Para encontrar todos os pacotes SYN:
grep "S ttl=" ~/project/trace.txtPara encontrar todos os pacotes recebidos da porta 80:
grep "from 127.0.0.1:80" ~/project/trace.txtPara encontrar todos os pacotes com um ID IP específico:
grep "id=12345" ~/project/trace.txt
Ao usar grep para filtrar e analisar a saída do rastreamento de pacotes, você pode obter uma compreensão mais profunda do comportamento do Nmap e do tráfego de rede que ele gera.
Identificar problemas de varredura no terminal Xfce
Nesta etapa, usaremos o rastreamento de pacotes e a saída de depuração do Nmap para identificar possíveis problemas de varredura. Isso envolve procurar anomalias na troca de pacotes, como retransmissões, respostas inesperadas ou falta de respostas. Ao analisar esses problemas, você pode solucionar problemas de varredura e melhorar a precisão e confiabilidade de suas varreduras Nmap.
Para identificar problemas de varredura, siga estas etapas:
Abra um terminal: Se você ainda não tiver um aberto, inicie o terminal Xfce.
Revise o arquivo
trace.txt: Nas etapas anteriores, você salvou a saída do rastreamento de pacotes no arquivotrace.txtem seu diretório~/project. Certifique-se de que este arquivo exista e contenha as informações do rastreamento de pacotes.Procure por retransmissões: Retransmissões ocorrem quando um pacote não é reconhecido pelo host de destino, e o Nmap reenvia o pacote. Isso pode indicar congestionamento de rede, perda de pacotes ou um firewall bloqueando o tráfego. Use
greppara pesquisar retransmissões:grep "Retransmission" ~/project/trace.txtSe você vir linhas contendo "Retransmission", isso indica que o Nmap teve que reenviar pacotes. Isso pode ser um sinal de problemas de rede ou um firewall.
Analise as flags TCP: Examine as flags TCP no rastreamento de pacotes para entender o estado da conexão TCP. Procure combinações de flags inesperadas ou flags ausentes. Por exemplo, um pacote SYN sem uma resposta SYN-ACK correspondente pode indicar um firewall bloqueando a conexão.
Você pode usar
greppara filtrar por flags TCP específicas. Por exemplo, para encontrar pacotes SYN:grep "S ttl=" ~/project/trace.txtE para encontrar pacotes SYN-ACK:
grep "SA ttl=" ~/project/trace.txtCompare o número de pacotes SYN enviados com o número de pacotes SYN-ACK recebidos. Se houver significativamente menos pacotes SYN-ACK do que pacotes SYN, isso pode indicar um problema.
Verifique se há respostas inesperadas: Às vezes, o host de destino pode enviar respostas inesperadas, como mensagens de erro ICMP. Essas respostas podem fornecer informações valiosas sobre o motivo pelo qual uma varredura está falhando.
Para procurar pacotes ICMP, use o seguinte comando:
grep "ICMP" ~/project/trace.txtAnalise as mensagens ICMP para entender a natureza do erro. Por exemplo, "Destination Unreachable" (Destino Inalcançável) indica que o host de destino não está acessível.
Procure por respostas ausentes: Se o Nmap enviar uma sonda e não receber uma resposta, isso pode indicar que o host de destino está inativo, um firewall está bloqueando o tráfego ou a sonda foi perdida em trânsito.
Examine o rastreamento de pacotes para identificar sondas que não receberam uma resposta. Por exemplo, se você enviou um pacote SYN para a porta 80, mas não recebeu um pacote SYN-ACK, isso pode indicar que a porta 80 está fechada ou filtrada.
Considere a saída de depuração: Embora as etapas anteriores tenham se concentrado no rastreamento de pacotes, lembre-se de que a saída de depuração (de
-dou-d2) também pode fornecer pistas valiosas. Ela geralmente contém informações sobre o processo de tomada de decisão interno do Nmap, o que pode ajudá-lo a entender por que ele está se comportando de uma determinada maneira. Infelizmente, não salvamos a saída de depuração em um arquivo nas etapas anteriores, mas em um cenário real, você analisaria essa saída junto com o rastreamento de pacotes.
Ao analisar cuidadosamente o rastreamento de pacotes e a saída de depuração, você pode identificar possíveis problemas de varredura e tomar medidas para resolvê-los. Isso melhorará a precisão e a confiabilidade de suas varreduras Nmap.
Resumo
Neste laboratório, exploramos os recursos de depuração do Nmap usando a opção --packet-trace para observar os pacotes de rede trocados durante uma varredura. Isso envolveu a execução do comando sudo nmap --packet-trace 192.168.1.1 (ou 127.0.0.1 como alternativa) no terminal Xfce e a análise da saída detalhada, que incluiu tipos de pacotes, endereços IP e portas de origem e destino, e outras informações relevantes.
A principal conclusão é entender como --packet-trace fornece uma maneira simplificada de visualizar pacotes de rede diretamente de dentro do Nmap, permitindo uma compreensão mais profunda das operações de nível de rede do Nmap e facilitando a identificação de possíveis problemas de varredura.



