Identifique Sistemas Operacionais com Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como identificar sistemas operacionais usando o Nmap. O laboratório cobre vários comandos do Nmap para detecção de SO (Operating System), incluindo a execução de varreduras básicas de SO, a ativação do modo de adivinhação (guess mode), a combinação de varreduras de SO e portas, o refinamento de varreduras e a exportação de resultados. Você executará comandos como nmap -O <target_ip> no terminal Xfce e visualizará os detalhes do SO na saída.

Esses passos práticos ajudarão você a adquirir habilidades práticas no uso do Nmap para detectar os sistemas operacionais de máquinas alvo, com exemplos demonstrando como o Nmap analisa as respostas para fornecer informações sobre o SO.

Executar detecção de SO com nmap -O 192.168.1.1

Nesta etapa, usaremos o Nmap para realizar a detecção de SO em uma máquina alvo. A detecção de SO é uma técnica usada para identificar o sistema operacional em execução em um host remoto. O Nmap envia uma série de pacotes especialmente criados para o alvo e analisa as respostas para determinar o SO.

Antes de começarmos, vamos entender a sintaxe básica do comando que usaremos:

nmap -O <target_ip>
  • nmap: Esta é a ferramenta de linha de comando que estamos usando.
  • -O: Esta opção informa ao Nmap para habilitar a detecção de SO.
  • <target_ip>: Este é o endereço IP da máquina alvo que você deseja escanear. Neste caso, é 192.168.1.1.

Agora, vamos executar o comando para realizar a detecção de SO na máquina alvo com o endereço IP 192.168.1.1. Abra seu terminal Xfce e digite o seguinte comando:

nmap -O 192.168.1.1

Após executar o comando, o Nmap enviará várias sondas para a máquina alvo e analisará as respostas. A saída exibirá os detalhes do SO se o Nmap conseguir identificá-lo. A saída pode ser semelhante a esta (a saída exata variará dependendo do SO alvo):

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.00043s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

No exemplo acima, o Nmap identificou que a máquina alvo está executando um sistema operacional Linux. A saída também fornece detalhes sobre a versão do kernel.

Se o Nmap não conseguir determinar o SO exato, ele poderá fornecer uma lista de possíveis candidatos a SO. Em alguns casos, o Nmap pode não conseguir detectar o SO. Isso pode acontecer se a máquina alvo estiver atrás de um firewall ou se o SO estiver configurado para ocultar sua identidade.

Habilitar adivinhação com nmap -O --osscan-guess 127.0.0.1

Nesta etapa, usaremos o Nmap para realizar a detecção de SO com a opção --osscan-guess no localhost (127.0.0.1). Esta opção força o Nmap a ser mais agressivo em suas tentativas de detecção de SO. Quando o Nmap não tem certeza sobre o SO, esta opção pode ajudar a fazer uma suposição (guess) mais fundamentada.

Vamos detalhar o comando:

nmap -O --osscan-guess 127.0.0.1
  • nmap: Esta é a ferramenta de linha de comando que estamos usando.
  • -O: Esta opção informa ao Nmap para habilitar a detecção de SO.
  • --osscan-guess: Esta opção informa ao Nmap para adivinhar (guess) o SO de forma mais agressiva.
  • 127.0.0.1: Este é o endereço IP da máquina alvo que você deseja escanear, que é o localhost neste caso.

Agora, vamos executar o comando para realizar a detecção de SO com a opção --osscan-guess no localhost. Abra seu terminal Xfce e digite o seguinte comando:

nmap -O --osscan-guess 127.0.0.1

Após executar o comando, o Nmap enviará várias sondas para a máquina alvo e analisará as respostas. A saída exibirá os detalhes do SO se o Nmap conseguir identificá-lo. Como estamos escaneando o localhost, a detecção de SO deve ser relativamente precisa. A saída pode ser semelhante a esta (a saída exata variará dependendo do seu sistema):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
631/tcp  open  ipp
9929/tcp open  nping-echo

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.23 seconds

Observe que a saída pode nem sempre indicar explicitamente o nome do SO. Às vezes, ele mostrará apenas portas abertas e outras informações. No entanto, o Nmap ainda realiza a detecção de SO em segundo plano, e a opção --osscan-guess aumenta a probabilidade de um resultado mais preciso.

Combinar SO e portas com nmap -O -p 1-100 192.168.1.1

Nesta etapa, combinaremos a detecção de SO com a varredura de portas usando o Nmap. Isso nos permite identificar o sistema operacional de uma máquina alvo e também descobrir quais portas estão abertas nessa máquina. Ao combinar essas duas técnicas, podemos obter uma compreensão mais abrangente do sistema alvo.

Vamos detalhar o comando:

nmap -O -p 1-100 192.168.1.1
  • nmap: Esta é a ferramenta de linha de comando que estamos usando.
  • -O: Esta opção informa ao Nmap para habilitar a detecção de SO.
  • -p 1-100: Esta opção informa ao Nmap para escanear as portas de 1 a 100.
  • 192.168.1.1: Este é o endereço IP da máquina alvo que você deseja escanear.

Agora, vamos executar o comando para realizar a detecção de SO e a varredura de portas na máquina alvo com o endereço IP 192.168.1.1. Abra seu terminal Xfce e digite o seguinte comando:

nmap -O -p 1-100 192.168.1.1

Após executar o comando, o Nmap enviará várias sondas para a máquina alvo e analisará as respostas. A saída exibirá os detalhes do SO e uma lista de portas abertas. A saída pode ser semelhante a esta (a saída exata variará dependendo do SO alvo e das portas abertas):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

No exemplo acima, o Nmap identificou que a máquina alvo está executando um sistema operacional Linux e descobriu que as portas 22 (SSH) e 80 (HTTP) estão abertas.

Ao combinar a detecção de SO e a varredura de portas, você pode identificar rapidamente o sistema operacional e os serviços em execução em uma máquina alvo. Essa informação pode ser valiosa para avaliações de segurança e solução de problemas de rede.

Visualizar detalhes do SO no terminal Xfce

Nas etapas anteriores, você executou comandos Nmap para detectar o sistema operacional das máquinas alvo. Os resultados dessas varreduras foram exibidos diretamente no terminal Xfce. Esta etapa se concentra em entender como interpretar os detalhes do SO apresentados na saída do terminal.

Quando o Nmap identifica com sucesso o sistema operacional, ele normalmente exibirá informações como o nome do SO, a versão e, às vezes, até a versão do kernel. Ele também pode fornecer um identificador CPE (Common Platform Enumeration), que é um esquema de nomenclatura padronizado para software e hardware.

Vamos revisitar um exemplo de saída de uma etapa anterior:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Neste exemplo, a linha OS details: Linux 3.2 - 4.9 indica que o Nmap detectou um sistema operacional Linux com uma versão de kernel entre 3.2 e 4.9. A linha Device type: general purpose sugere que o dispositivo é um computador padrão. A linha Running: Linux 3.X|4.X fornece informações semelhantes. As linhas OS CPE fornecem identificadores mais específicos para o sistema operacional e o kernel.

Se o Nmap não conseguir determinar o SO exato, ele poderá fornecer uma "suposição" (guess) com base nas informações disponíveis. Nesses casos, a saída pode incluir uma declaração como "OS details: Unknown" ou "OS details: Possibly Windows". A opção --osscan-guess usada em uma etapa anterior pode ajudar a melhorar a precisão dessas suposições.

Para visualizar os detalhes do SO, basta examinar a saída dos comandos Nmap que você executou nas etapas anteriores. As informações do SO geralmente serão exibidas perto do topo da saída, após os resultados da varredura de portas.

Lembre-se de que a detecção de SO nem sempre é perfeita, e os resultados do Nmap devem ser interpretados com cautela. Fatores como firewalls e configurações de rede podem interferir na detecção de SO.

Esta etapa não requer a execução de nenhum novo comando. Trata-se de entender e interpretar a saída que você já gerou.

Refinar a varredura com nmap -O --osscan-limit 192.168.1.1

Nesta etapa, refinaremos nossa varredura de detecção de SO usando a opção --osscan-limit. Essa opção informa ao Nmap para tentar a detecção de SO apenas em hosts que possuem pelo menos uma porta TCP aberta e uma fechada. Isso pode acelerar significativamente a varredura e reduzir a probabilidade de falsos positivos, especialmente ao escanear grandes redes.

A opção --osscan-limit é útil porque a detecção de SO depende da análise das respostas a várias sondas TCP. Se um host tiver apenas portas abertas ou apenas portas fechadas, o Nmap pode não ser capaz de reunir informações suficientes para determinar com precisão o sistema operacional.

Vamos executar o comando para realizar uma varredura refinada de detecção de SO na máquina alvo com o endereço IP 192.168.1.1. Abra seu terminal Xfce e digite o seguinte comando:

nmap -O --osscan-limit 192.168.1.1

Após executar o comando, o Nmap realizará a detecção de SO, mas apenas em hosts que atendam aos critérios de ter pelo menos uma porta TCP aberta e uma fechada. A saída exibirá os detalhes do SO se o Nmap conseguir identificar o sistema operacional. A saída pode ser semelhante a esta (a saída exata variará dependendo do SO alvo e das portas abertas/fechadas):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Neste exemplo, o Nmap identificou que a máquina alvo está executando um sistema operacional Linux. A linha "Not shown: 999 closed ports" indica que o Nmap só escaneou a porta aberta (22) e determinou o SO com base nisso e nas portas fechadas que encontrou.

Usar a opção --osscan-limit pode tornar suas varreduras de detecção de SO mais eficientes e precisas, especialmente ao lidar com grandes redes ou hosts com configurações de porta incomuns.

Exportar resultados com nmap -O -oN os.txt 127.0.0.1

Nesta etapa, aprenderemos como exportar os resultados de uma varredura de detecção de SO do Nmap para um arquivo. Isso é útil para análise posterior, relatórios ou integração com outras ferramentas. Usaremos a opção -oN, que especifica que a saída deve estar no formato "normal".

O nome do arquivo os.txt é arbitrário; você pode escolher qualquer nome que desejar, mas é uma boa prática usar um nome descritivo. O arquivo de saída será criado no seu diretório de trabalho atual, que é ~/project.

Para exportar os resultados da varredura de detecção de SO para um arquivo, abra seu terminal Xfce e digite o seguinte comando:

nmap -O -oN os.txt 127.0.0.1

Este comando executará uma varredura de detecção de SO na máquina alvo com o endereço IP 127.0.0.1 (localhost) e salvará os resultados no formato normal no arquivo os.txt em seu diretório ~/project.

Após a conclusão da varredura, você pode visualizar o conteúdo do arquivo os.txt usando o comando cat:

cat os.txt

A saída exibirá os resultados da varredura do Nmap, incluindo os detalhes do SO, em um formato legível por humanos. A saída pode ser semelhante a esta (a saída exata variará dependendo do SO alvo):

## Nmap 7.80 scan initiated Tue Oct 27 10:20:00 2023 as: nmap -O -oN os.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000043s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
## Nmap done at Tue Oct 27 10:20:05 2023 -- 1 IP address (1 host up) scanned in 5.23 seconds

Você também pode usar um editor de texto como nano para visualizar ou modificar o arquivo os.txt:

nano os.txt

Isso abrirá o arquivo os.txt no editor de texto nano, permitindo que você examine os resultados com mais detalhes.

Exportar os resultados do Nmap para um arquivo é uma habilidade valiosa para documentar suas descobertas e compartilhá-las com outras pessoas.

Resumo

Neste laboratório, os participantes aprendem a usar o Nmap para detecção de sistema operacional. Eles começam executando a detecção básica de SO com o comando nmap -O <target_ip>, usando 192.168.1.1 como exemplo. Eles também aprendem a habilitar a adivinhação com nmap -O --osscan-guess, combinar a varredura de SO e portas com nmap -O -p 1-100, refinar as varreduras com nmap -O --osscan-limit e exportar os resultados para um arquivo de texto com nmap -O -oN os.txt. Além disso, eles visualizam os detalhes do SO no terminal Xfce.