Impressão Digital de Sistemas Operacionais

NmapBeginner
Pratique Agora

Introdução

Bem-vindo ao laboratório de Impressão Digital de Sistemas Operacionais (OS Fingerprinting).

A impressão digital de sistemas operacionais é uma técnica de reconhecimento crítica usada tanto por profissionais de segurança quanto por invasores para determinar o sistema operacional em execução em um alvo remoto. Ao enviar pacotes TCP e UDP específicos, por vezes malformados, para um alvo e analisar as diferenças sutis na forma como a pilha TCP/IP do alvo responde (como valores de Time-To-Live, tamanhos de janela e combinações de flags), ferramentas como o Nmap podem adivinhar com precisão o sistema operacional subjacente.

Esta é uma técnica de inferência, não uma verdade absoluta. O Nmap compara o comportamento de rede observado com um banco de dados de impressões digitais. O resultado pode ser muito útil, mas deve ser tratado como uma estimativa fundamentada que pode ser afetada por firewalls, proxies ou pilhas de rede incomuns.

Neste laboratório, você aprenderá a aproveitar os poderosos recursos de impressão digital de SO do Nmap para identificar sistemas remotos e combinar essas técnicas com a detecção de versão para um perfil de rede abrangente.

Habilitar a Impressão Digital de SO

Nesta etapa, aprenderemos o básico da impressão digital de sistemas operacionais usando o Nmap. A impressão digital de SO é uma técnica usada para determinar o sistema operacional em execução em um alvo remoto. O Nmap consegue isso enviando uma série de pacotes TCP e UDP cuidadosamente elaborados para o alvo e analisando as respostas. Como diferentes sistemas operacionais implementam a pilha TCP/IP de maneiras ligeiramente distintas, o Nmap pode comparar essas respostas com seu extenso banco de dados para encontrar uma correspondência.

Isso funciona porque as pilhas de rede são implementações escritas por humanos, e as implementações diferem em muitos padrões sutis. A impressão digital transforma essas diferenças em pistas.

Para habilitar a impressão digital de SO no Nmap, usamos a flag -O. É importante notar que a criação de pacotes brutos (raw packets) requer privilégios administrativos, portanto, devemos executar este comando usando sudo.

Vamos executar uma varredura de impressão digital de SO contra nossa máquina local (localhost) e salvar a saída em um arquivo chamado os_scan.txt em nosso diretório de projeto.

sudo nmap -O -p 22,80 localhost > /home/labex/project/os_scan.txt

Após a conclusão da varredura, você pode visualizar os resultados usando o comando cat.

cat /home/labex/project/os_scan.txt

Você verá uma saída semelhante à seguinte. Procure pelas linhas que começam com "Device type", "Running" e "OS details".

Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:53 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
Other addresses for localhost (not scanned): ::1

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops

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

A saída revela que o alvo está executando um kernel Linux, o que corresponde ao nosso ambiente LabEx.

Analisar Suposições de SO

Nesta etapa, exploraremos como o Nmap lida com a incerteza durante a impressão digital de SO. Às vezes, um alvo pode ter um firewall que descarta certos pacotes, ou pode estar executando um sistema operacional obscuro ou altamente personalizado. Nesses casos, o Nmap pode não encontrar uma correspondência perfeita em seu banco de dados.

Quando o Nmap não consegue determinar o sistema operacional exato, ele pode fornecer uma lista de suposições junto com uma porcentagem de confiança. Podemos forçar o Nmap a adivinhar de forma mais agressiva usando a flag --osscan-guess (que também é equivalente a --fuzzy). Isso diz ao Nmap para imprimir correspondências de SO mesmo que não sejam quase perfeitas.

Isso nos lembra que os resultados de reconhecimento geralmente contêm incerteza. Bons analistas registram essa incerteza em vez de fingir que cada detecção é exata.

Vamos executar outra varredura contra localhost, desta vez habilitando a suposição agressiva de SO, e salvar os resultados em um arquivo chamado guess_scan.txt.

sudo nmap -O --osscan-guess -p 22,80 localhost > /home/labex/project/guess_scan.txt

Agora, visualize o conteúdo do novo arquivo.

cat /home/labex/project/guess_scan.txt

A saída será semelhante à etapa anterior, mas se o alvo fosse mais obscuro, você veria uma lista separada por vírgulas de suposições de SO com porcentagens, como Aggressive OS guesses: Linux 5.0 (96%), Linux 4.15 (95%).

Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:54 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
...
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
...

Mesmo em um sistema padrão, usar --osscan-guess é uma técnica valiosa ao lidar com alvos protegidos que tentam obscurecer o comportamento de sua pilha TCP/IP.

Combinar Detecção de SO e Versão (-A)

Nesta etapa, combinaremos a detecção de SO com outros recursos poderosos do Nmap usando a flag -A. A flag -A significa "Opções de varredura agressiva" (Aggressive scan options).

Ao usar a flag -A, o Nmap habilita automaticamente vários recursos avançados de uma só vez:

  • Detecção de SO (-O)
  • Detecção de versão (-sV), que sonda portas abertas para determinar versões de serviços e aplicativos
  • Varredura de scripts (-sC), que executa um conjunto padrão de scripts do Nmap Scripting Engine (NSE)
  • Traceroute (--traceroute), que determina o caminho de rede até o alvo

Essa abordagem combinada fornece um perfil abrangente do sistema alvo, tornando-a uma favorita entre profissionais de segurança para o reconhecimento inicial.

Vamos realizar uma varredura agressiva contra localhost e salvar a saída em aggressive_scan.txt. Esta varredura pode levar um pouco mais de tempo porque está realizando muito mais verificações.

sudo nmap -A -p 22,80 localhost > /home/labex/project/aggressive_scan.txt

Assim que a varredura for concluída, inspecione os resultados.

cat /home/labex/project/aggressive_scan.txt

Você notará uma saída muito mais rica. Além dos detalhes do SO, você verá agora as versões exatas dos serviços em execução nas portas abertas (como OpenSSH e nginx), bem como informações adicionais coletadas pelos scripts padrão.

Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:54 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000019s latency).
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
...

Ao combinar essas técnicas, você pode reunir uma grande quantidade de informações sobre um sistema alvo com um único comando.

Resumo

Parabéns! Você concluiu com sucesso o laboratório de Impressão Digital de Sistemas Operacionais.

Neste laboratório, você aprendeu como:

  • Usar a flag -O do Nmap para realizar a impressão digital remota de sistemas operacionais analisando as respostas da pilha TCP/IP.
  • Aplicar a flag --osscan-guess para forçar o Nmap a fornecer suposições probabilísticas quando o SO do alvo não é perfeitamente correspondido.
  • Utilizar a flag -A para combinar a detecção de SO com a detecção de versão de serviço, varredura de scripts e traceroute para um perfil abrangente do alvo.

Essas habilidades são fundamentais para o reconhecimento de rede e avaliação de vulnerabilidades, permitindo que profissionais de segurança entendam o ambiente que estão analisando e adaptem suas medidas de segurança adequadamente.