Detecção de Sistema Operacional com NMAP

Publicado por Willdson Almeida em 29/10/2018

[ Hits: 19.185 ]

 


Detecção de Sistema Operacional com NMAP



O Nmap (Network Mapper) é um software livre utilizado para:
  • Descoberta de hosts - identificando hosts na rede. Por exemplo, recebendo respostas de Ping ou de uma porta aberta.
  • Scanner de portas - mostrando as portas TCP e UDP abertas.
  • Detecção de versão - interrogando serviços na rede para determinar a aplicação e o número da versão.
  • Detecção do sistema operacional - remotamente determina o sistema operacional e as características de hardware do host.
  • Interação com scripts com o alvo - usando Nmap Scripting Engine e Lua.

O Nmap é um programa CUI (Console User Interface), mas possui uma versão com interface gráfica (GUI), o Zenmap.

Download do nmap: https://nmap.org/download.html

Para esta dica, utilizei o nmap na versão 7.40-1, no momento o mais atual no repositório do Debian.

Com o comando abaixo é possível verificar as principais opções do nmap:

nmap --help

Do resultado, destaquei as opções de detecção de sistema operacional:

OS DETECTION:
  • -O: Enable OS detection
  • --osscan-limit: Limit OS detection to promising targets
  • --osscan-guess: Guess OS more aggressively

-O (Habilita a detecção de SO)

--osscan-limit (Limitar a detecção de SO a alvos promissores)
A detecção de SO é bem mais eficiente se ao menos uma porta TCP aberta e uma fechada for encontrada.Com esta opção o Nmap não irá tentar a detecção de SO contra hosts que não correspondam a este critério. Isso pode economizar um tempo considerável.

--osscan-guess (Resultados de tentativas de detecção de SO)
Quando o Nmap não é capaz de detectar uma correspondência exata de SO, às vezes ele oferece possibilidades aproximada. A correspondência tem que ser muito próxima para o Nmap fazer isso. O Nmap ainda assim irá dizer quando uma correspondência imperfeita é mostrada e o nível de confiança (porcentagem) de cada suposição.

DETECÇÃO DO SISTEMA OPERACIONAL

Para uma detecção simplificada pode ser utilizado o comando:

# nmap -O <alvo>

O resultado será o seguinte:

Starting Nmap 7.40 ( https://nmap.org ) at 2018-10-15 19:04 -04
Nmap scan report for <alvo>
Host is up (0.00054s latency).
Not shown: 982 filtered ports
PORT      STATE SERVICE
53/tcp    open  domain
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
3389/tcp  open  ms-wbt-server
49154/tcp open  unknown
49155/tcp open  unknown
49157/tcp open  unknown
49158/tcp open  unknown
49159/tcp open  unknown
49163/tcp open  unknown
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 2012  ### DESTACAR
OS CPE: cpe:/o:microsoft:windows_server_2012:r2  ### DESTACAR
OS details: Microsoft Windows Server 2012 or Windows Server 2012 R2  ### DESTACAR

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

Neste caso o sistema operacional possuía uma assinatura conhecida e pôde ser detectado.

Em outro exemplo, o SO também foi detectado:

Starting Nmap 7.40 ( https://nmap.org ) at 2018-10-15 19:10 -04
Nmap scan report for 192.168.26.129
Host is up (0.00050s latency).
Not shown: 994 closed ports
PORT     STATE    SERVICE
22/tcp   open     ssh
25/tcp   filtered smtp
80/tcp   open     http
111/tcp  open     rpcbind
1433/tcp filtered ms-sql-s
1434/tcp filtered ms-sql-m
Device type: general purpose
Running: Linux 2.6.X     ### DESTACAR
OS CPE: cpe:/o:linux:linux_kernel:2.6     ### DESTACAR
OS details: Linux 2.6.26 - 2.6.35    ### DESTACAR
Network Distance: 3 hops

O parâmetro "-v" pode ser utilizado para uma visão mais detalhada:

# nmap -O -v <alvo>
Starting Nmap 7.40 ( https://nmap.org ) at 2018-10-15 19:19 -04
Initiating Ping Scan at 19:19
Scanning <alvo> [4 ports]
Completed Ping Scan at 19:19, 0.22s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 19:19
Completed Parallel DNS resolution of 1 host. at 19:19, 0.00s elapsed
Initiating SYN Stealth Scan at 19:19
Scanning <alvo> [1000 ports]
Discovered open port 80/tcp on <alvo>
Discovered open port 22/tcp on <alvo>
Discovered open port 111/tcp on <alvo>
Increasing send delay for <alvo> from 0 to 5 due to 50 out of 165 dropped probes since last increase.
Increasing send delay for <alvo> from 5 to 10 due to 28 out of 92 dropped probes since last increase.
Increasing send delay for <alvo> from 10 to 20 due to 11 out of 30 dropped probes since last increase.
Increasing send delay for <alvo> from 20 to 40 due to 11 out of 25 dropped probes since last increase.
Increasing send delay for <alvo> from 40 to 80 due to 11 out of 30 dropped probes since last increase.
SYN Stealth Scan Timing: About 48.10% done; ETC: 19:20 (0:00:33 remaining)
Completed SYN Stealth Scan at 19:20, 92.21s elapsed (1000 total ports)
Initiating OS detection (try #1) against <alvo>
Nmap scan report for <alvo>
Host is up (0.0052s latency).
Not shown: 994 closed ports
PORT     STATE    SERVICE
22/tcp   open     ssh
25/tcp   filtered smtp
80/tcp   open     http
111/tcp  open     rpcbind
1433/tcp filtered ms-sql-s
1434/tcp filtered ms-sql-m
Device type: general purpose
Running: Linux 2.6.X    ### DESTACAR
OS CPE: cpe:/o:linux:linux_kernel:2.6    ### DESTACAR
OS details: Linux 2.6.26 - 2.6.35    ### DESTACAR
Uptime guess: 62.079 days (since Tue Aug 14 17:27:21 2018)    ### DESTACAR
Network Distance: 3 hops    ### DESTACAR
TCP Sequence Prediction: Difficulty=256 (Good luck!)
IP ID Sequence Generation: All zeros

Read data files from: /usr/bin/../share/nmap
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 95.41 seconds
           Raw packets sent: 1451 (65.238KB) | Rcvd: 3569 (238.626KB)

No exemplo acima outros parâmetros foram mostrados, incluindo uptime.

Referências:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Matando todos os processos de um usuário

O comando join

Quer saber se o seu GNU/Linux é totalmente livre?

Instalando pacotes com dependências (rpm)

Adicionando um botão "Overview" no KDE (similar ao do Gnome 3)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts