Comparar Resultados de Varredura no Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a comparar os resultados de varredura no Nmap. O laboratório envolve a execução de varreduras SYN e TCP contra um endereço IP alvo, salvando as saídas em arquivos separados e, em seguida, comparando esses arquivos usando o comando diff. Você também explorará varreduras verbosas e analisará as diferenças observadas no terminal Xfce.

O processo começa executando uma varredura SYN usando nmap -sS -oN syn.txt 192.168.1.1 e uma varredura TCP usando nmap -sT -oN tcp.txt 192.168.1.1, salvando os resultados em syn.txt e tcp.txt, respectivamente. Esses arquivos são então comparados usando diff syn.txt tcp.txt. Além disso, varreduras verbosas são conduzidas com nmap -v -sS 127.0.0.1 e nmap -v -sT 127.0.0.1, e as notas de comparação são salvas no editor de texto Xfce para análise no terminal Xfce.

Executar varredura SYN e salvar com nmap -sS -oN syn.txt 192.168.1.1

Nesta etapa, você executará uma varredura SYN usando o Nmap e salvará a saída em um arquivo. Uma varredura SYN, também conhecida como varredura half-open, é um tipo de varredura de porta TCP que tenta determinar o estado das portas TCP em um sistema alvo. É chamada de "half-open" porque o host de varredura não completa o handshake de conexão TCP. Em vez disso, ele envia um pacote SYN e analisa a resposta. Essa técnica é mais furtiva do que uma varredura de conexão TCP completa porque não estabelece uma conexão completa, potencialmente evitando a detecção por alguns firewalls e sistemas de detecção de intrusão.

Aqui está uma análise do comando:

  • nmap: O scanner de linha de comando Nmap.
  • -sS: Especifica a técnica de varredura SYN.
  • -oN syn.txt: Especifica que a saída deve ser salva em formato normal (legível por humanos) em um arquivo chamado syn.txt.
  • 192.168.1.1: O endereço IP alvo para varredura. Substitua isso pelo endereço IP real do alvo que você deseja varrer. Se você estiver executando este laboratório em um ambiente virtual, poderá usar 127.0.0.1 (localhost) como o alvo.

Vamos executar o comando. Primeiro, certifique-se de estar no diretório ~/project.

cd ~/project

Agora, execute a varredura SYN:

sudo nmap -sS -oN syn.txt 192.168.1.1

Observação: Você pode precisar de privilégios sudo para executar uma varredura SYN, pois ela requer o envio de pacotes brutos (raw packets). Se você estiver usando um endereço IP alvo diferente, substitua 192.168.1.1 pelo IP correto. Se você estiver varrendo o localhost, pode usar 127.0.0.1.

Após a conclusão da varredura, você pode visualizar o conteúdo do arquivo syn.txt usando um editor de texto ou o comando cat:

cat syn.txt

A saída mostrará as portas abertas e outras informações coletadas durante a varredura. A saída exata dependerá do sistema alvo e sua configuração.

Exemplo de saída (a saída específica variará):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Esta saída indica que as portas 22, 80 e 443 estão abertas no sistema alvo. As portas "filtered" significam que o Nmap não conseguiu determinar se essas portas estavam abertas ou fechadas devido a regras de firewall ou condições de rede.

Executar varredura TCP e salvar com nmap -sT -oN tcp.txt 192.168.1.1

Nesta etapa, você executará uma varredura de conexão TCP usando o Nmap e salvará a saída em um arquivo. Uma varredura de conexão TCP, especificada pela opção -sT, é uma forma básica de varredura TCP onde o Nmap tenta estabelecer uma conexão TCP completa com o host alvo em cada porta. Isso envolve completar o handshake de três vias (SYN, SYN-ACK, ACK). Embora confiável, este método também é facilmente detectável, pois o sistema alvo registra a conexão.

Aqui está uma análise do comando:

  • nmap: O scanner de linha de comando Nmap.
  • -sT: Especifica a técnica de varredura de conexão TCP.
  • -oN tcp.txt: Especifica que a saída deve ser salva em formato normal (legível por humanos) em um arquivo chamado tcp.txt.
  • 192.168.1.1: O endereço IP alvo para varredura. Substitua isso pelo endereço IP real do alvo que você deseja varrer. Se você estiver executando este laboratório em um ambiente virtual, poderá usar 127.0.0.1 (localhost) como o alvo.

Vamos executar o comando. Primeiro, certifique-se de estar no diretório ~/project.

cd ~/project

Agora, execute a varredura de conexão TCP:

sudo nmap -sT -oN tcp.txt 192.168.1.1

Observação: Embora sudo não seja estritamente necessário para uma varredura de conexão TCP, é uma boa prática usá-lo para consistência e para evitar possíveis problemas de permissão. Se você estiver usando um endereço IP alvo diferente, substitua 192.168.1.1 pelo IP correto. Se você estiver varrendo o localhost, pode usar 127.0.0.1.

Após a conclusão da varredura, você pode visualizar o conteúdo do arquivo tcp.txt usando um editor de texto ou o comando cat:

cat tcp.txt

A saída mostrará as portas abertas e outras informações coletadas durante a varredura. A saída exata dependerá do sistema alvo e sua configuração.

Exemplo de saída (a saída específica variará):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Esta saída indica que as portas 22, 80 e 443 estão abertas no sistema alvo. As portas "closed" significam que o Nmap recebeu um pacote RST (reset) em resposta ao seu pacote SYN, indicando que a porta está fechada.

Comparar arquivos com diff syn.txt tcp.txt

Nesta etapa, você comparará os arquivos syn.txt e tcp.txt que você criou nas etapas anteriores usando o comando diff. O comando diff é uma ferramenta poderosa para identificar diferenças entre dois arquivos. Ele compara os arquivos linha por linha e destaca quaisquer adições, exclusões ou modificações.

Antes de executar o comando diff, é importante entender por que as saídas da varredura SYN (-sS) e da varredura de conexão TCP (-sT) podem diferir. A varredura SYN é uma varredura "half-open", o que significa que ela não completa o handshake TCP completo. Isso pode torná-la mais furtiva, mas também menos confiável em alguns casos, pois firewalls ou dispositivos de rede podem bloquear o pacote SYN inicial ou a resposta. A varredura de conexão TCP, por outro lado, completa o handshake TCP completo, tornando-a mais confiável, mas também mais facilmente detectável.

Para comparar os arquivos, use o seguinte comando:

diff syn.txt tcp.txt

Este comando comparará os arquivos syn.txt e tcp.txt e exibirá quaisquer diferenças no terminal.

Exemplo de saída (a saída específica variará dependendo do sistema alvo e das condições da rede):

2,4c2,4
< Nmap scan report for 192.168.1.1
< Host is up (0.00020s latency).
< Not shown: 997 filtered ports
---
> Nmap scan report for 192.168.1.1
> Host is up (0.00020s latency).
> Not shown: 997 closed ports
5c5
< 22/tcp  open  ssh
---
> 22/tcp  open  ssh
6c6
< 80/tcp  open  http
---
> 80/tcp  open  http
7c7
< 443/tcp open  https
---
> 443/tcp open  https
10c10
< Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds
---
> Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

Neste exemplo, a saída mostra que a principal diferença entre os dois arquivos é a linha "Not shown". A varredura SYN (syn.txt) mostra "997 filtered ports", enquanto a varredura de conexão TCP (tcp.txt) mostra "997 closed ports". Isso indica que a varredura SYN não conseguiu determinar o estado de algumas portas devido à filtragem, enquanto a varredura de conexão TCP conseguiu determinar que essas portas estavam fechadas.

A saída diff usa os seguintes símbolos:

  • <: Indica uma linha que existe apenas no primeiro arquivo (syn.txt).
  • >: Indica uma linha que existe apenas no segundo arquivo (tcp.txt).
  • c: Indica que as linhas são diferentes e precisam ser alteradas para tornar os arquivos idênticos.

Ao analisar a saída diff, você pode obter informações sobre as diferenças entre os dois tipos de varredura e como eles percebem o sistema alvo.

Executar varreduras verbosas com nmap -v -sS 127.0.0.1 e nmap -v -sT 127.0.0.1

Nesta etapa, você executará varreduras SYN e de conexão TCP contra localhost (127.0.0.1) com a opção verbose habilitada. A opção -v no Nmap aumenta o nível de verbosidade, fornecendo informações mais detalhadas sobre o processo de varredura. Isso pode ser útil para entender como o Nmap funciona e para solucionar quaisquer problemas.

Primeiro, vamos executar a varredura SYN verbosa:

sudo nmap -v -sS 127.0.0.1

Este comando executará uma varredura SYN no localhost e exibirá a saída verbosa no terminal. Você verá mais informações sobre o progresso da varredura, incluindo as portas que estão sendo varridas, o tempo da varredura e quaisquer erros ou avisos que ocorram.

Exemplo de saída (a saída específica variará):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:15, 2.50s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Em seguida, execute a varredura de conexão TCP verbosa:

sudo nmap -v -sT 127.0.0.1

Este comando executará uma varredura de conexão TCP no localhost e exibirá a saída verbosa.

Exemplo de saída (a saída específica variará):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:16 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Connect Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed Connect Scan at 10:16, 3.00s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Observe as diferenças na saída. A saída verbosa fornece mais detalhes sobre o processo de varredura, como o tipo de varredura que está sendo executada ("SYN Stealth Scan" ou "Connect Scan"), o número de portas que estão sendo varridas e o tempo que leva para concluir a varredura. Você também pode ver as portas que foram descobertas como abertas.

Ao comparar a saída verbosa das varreduras SYN e de conexão TCP, você pode obter uma melhor compreensão de como cada tipo de varredura funciona e como eles interagem com o sistema alvo.

Salvar notas de comparação no editor de texto Xfce

Nesta etapa, você usará o editor de texto Xfce para salvar suas observações e comparações das etapas anteriores. Esta é uma etapa crucial para documentar suas descobertas e entender as diferenças entre os tipos de varredura Nmap.

Primeiro, abra o editor de texto Xfce. Você pode fazer isso pesquisando por "Editor de Texto" no menu de aplicativos Xfce ou executando o seguinte comando no terminal:

mousepad notes.txt

Este comando abrirá o editor de texto Xfce (Mousepad) e criará um novo arquivo chamado notes.txt no seu diretório ~/project.

Agora, no editor de texto, anote suas observações sobre as diferenças entre a varredura SYN e a varredura de conexão TCP. Considere os seguintes pontos:

  • Velocidade: Qual tipo de varredura foi mais rápido?
  • Precisão: Ambos os tipos de varredura identificaram as mesmas portas abertas? Caso contrário, por que isso pode acontecer?
  • Furtividade (Stealth): Qual tipo de varredura é considerado mais furtivo e por quê?
  • Evasão de Firewall (Firewall Evasion): Como os firewalls podem tratar cada tipo de varredura de maneira diferente?
  • Saída Verbosa (Verbose Output): Que informações adicionais você obteve das varreduras verbosas?

Aqui está um exemplo de como suas notas podem ser:

Notas de Comparação da Varredura Nmap:

Varredura SYN (-sS):
- Mais rápida que a varredura de conexão TCP.
- Pode ser menos precisa devido a portas filtradas.
- Considerada mais furtiva, pois não completa o handshake TCP completo.
- Firewalls podem bloquear pacotes SYN, levando a resultados imprecisos.

Varredura de Conexão TCP (-sT):
- Mais lenta que a varredura SYN.
- Mais confiável, pois completa o handshake TCP completo.
- Menos furtiva, pois é facilmente detectável.
- Menos propenso a ser bloqueado por firewalls, fornecendo resultados mais precisos.

Saída Verbosa (-v):
- Fornece informações mais detalhadas sobre o processo de varredura.
- Útil para entender como o Nmap funciona e solucionar problemas.
- Mostra o tipo de varredura que está sendo executada e o número de portas varridas.

Diferenças Observadas:
- A varredura SYN relatou portas "filtradas", enquanto a varredura de conexão TCP relatou portas "fechadas".
- Isso sugere que algumas portas estavam sendo filtradas, impedindo que a varredura SYN determinasse seu estado.

Depois de terminar de escrever suas notas, salve o arquivo clicando em "Arquivo" -> "Salvar" no editor de texto ou pressionando Ctrl+S.

Este arquivo notes.txt será usado na próxima etapa para analisar as diferenças no terminal Xfce.

Analisar diferenças no terminal Xfce

Nesta etapa, você usará o terminal Xfce para analisar ainda mais as diferenças entre as varreduras SYN e de conexão TCP, com base nas notas que você salvou na etapa anterior. Você usará ferramentas de linha de comando para pesquisar padrões específicos e comparar os resultados da varredura.

Primeiro, abra o terminal Xfce.

Agora, vamos usar o comando cat para exibir o conteúdo dos arquivos syn.txt e tcp.txt, que contêm os resultados da varredura Nmap das duas primeiras etapas:

cat syn.txt
cat tcp.txt

Examine a saída de ambos os comandos. Preste atenção às diferenças nos resultados da varredura, como os estados das portas relatados (aberta, fechada, filtrada) e o tempo que levou para concluir as varreduras.

Em seguida, use o comando grep para pesquisar palavras-chave específicas nos resultados da varredura. Por exemplo, você pode pesquisar a palavra "open" em ambos os arquivos:

grep "open" syn.txt
grep "open" tcp.txt

Compare a saída desses comandos. Ambas as varreduras relatam as mesmas portas abertas? Caso contrário, quais são as diferenças?

Você também pode pesquisar outras palavras-chave, como "closed" ou "filtered", para analisar ainda mais os resultados da varredura.

Agora, vamos usar o comando diff novamente para comparar os arquivos syn.txt e tcp.txt:

diff syn.txt tcp.txt

Revise a saída do comando diff. Isso destacará as linhas que são diferentes entre os dois arquivos. Preste atenção às linhas que indicam diferenças nos estados das portas relatadas.

Finalmente, use o comando cat para exibir o conteúdo do seu arquivo notes.txt, que contém suas observações da etapa anterior:

cat notes.txt

Reflita sobre suas observações e compare-as com os resultados da varredura e a saída do comando diff. Suas observações estão alinhadas com os resultados da varredura? Você consegue explicar quaisquer discrepâncias?

Ao usar o terminal Xfce e as ferramentas de linha de comando para analisar os resultados da varredura Nmap, você pode obter uma compreensão mais profunda das diferenças entre as varreduras SYN e de conexão TCP e como elas interagem com o sistema alvo. Essa análise o ajudará a tomar decisões informadas sobre qual tipo de varredura usar em diferentes situações.

Resumo

Neste laboratório, começamos realizando uma varredura SYN em um endereço IP de destino (192.168.1.1 ou localhost) usando o Nmap com o comando nmap -sS -oN syn.txt 192.168.1.1. Isso envolveu a compreensão do propósito de uma varredura SYN como uma varredura de porta TCP "half-open" (meio aberta) mais furtiva, que evita estabelecer uma conexão completa. A saída da varredura foi salva em um arquivo chamado syn.txt em formato normal.

O ponto de aprendizado fundamental foi como executar uma varredura SYN usando o Nmap, interpretar os parâmetros do comando (-sS para varredura SYN, -oN para saída normal para um arquivo) e entender a potencial necessidade de privilégios sudo devido ao uso de pacotes brutos (raw packets). Também aprendemos como visualizar os resultados da varredura usando cat syn.txt.