Detecção de SO

Uma das características mais conhecidas do Nmap é a detecção remota de SO utilizando a identificação da pilha (stack fingerprinting) do TCP/IP. O Nmap envia uma série de pacotes TCP e UDP ao host remoto e examina praticamente todos os bits das respostas. Após executar dezenas de testes como a amostragem TCP ISN, suporte e ordenamento das opções do TCP, amostragem IPID e a checagem do tamanho inicial da janela, o Nmap compara os resultados com o banco de dados nmap-os-fingerprints com mais de 1500 identificações de SO conhecidas e mostra os detalhes do SO se houver uma correspondência. Cada identificação inclui uma descrição textual livre do SO e uma classificação que fornece o nome do fabricante (p.ex.: Sun), SO base (p.ex.: Solaris), geração do SO (p.ex.: 10) e tipo de dispositivo (genérico, roteador, switch, console de jogo, etc.).

Se o Nmap não conseguir identificar o SO da máquina, e as condições forem favoráveis (p.ex.: pelo menos uma porta aberta e uma porta fechada foram encontradas), o Nmap irá fornecer uma URL onde você poderá enviar a identificação se souber (com certeza) o SO em execução na máquina. Fazendo isso, você contribui para a gama de sistemas operacionais conhecidos pelo Nmap e, com isso, ele será mais preciso para todos.

A detecção de SO habilita diversos outros testes que usam as informações coletadas durante o processo. Um deles é a medição de uptime, que utiliza a opção timestamp do TCP (RFC 1323) para supor quando uma máquina foi reiniciada pela última vez. Isso apenas é mostrado para as máquinas que fornecem essa informação. Outro é a Classificação de Previsibilidade da Seqüencia do TCP. Ele mede aproximadamente o grau de dificuldade de se estabelecer uma conexão TCP forjada contra um host remoto. É útil para se explorar relações de confiança baseadas no IP de origem (rlogin, filtros de firewall, etc.) ou para ocultar a origem de um ataque. Esse tipo de enganação (spoofing) raramente é executada hoje em dia, mas muitas máquinas ainda estão vulneráveis a ele. O número de dificuldade real é baseado em amostragens estatísticas e pode variar. Normalmente é melhor usar a classificação em inglês, do tipo worthy challenge (um desafio que vale a pena) ou trivial joke (uma piada, muito fácil). Isso só é mostrado na saída normal do modo verbose (-v). Quando o modo verbose é habilitado juntamente com o -O, a Geração de Seqüencia IPID também é mostrada. A maioria das máquinas é classificada como incremental , o que significa que elas incrementam o campo ID no cabeçalho IP para cada pacote que envia. Isso torna-as vulnerável a diversos ataques avançados de levantamento e forjamento de informações.

Um trabalho documentando o funcionamento, utilização e customização da detecção de SO está disponível em mais de uma dezena de línguas em https://nmap.org/osdetect/.

A detecção de SO é habilitada e controlada com as seguintes opções: