Detecção de Sistema Operacional com NMAP

Publicado por Willdson Almeida em 29/10/2018

[ Hits: 19.241 ]

 


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

Macete para busca reversa de comandos

Transformando rapidamente variáveis em arrays

Extraindo arquivos de um .rpm sem instalá-lo

Redirecionando saída de comando para arquivo com sudo

Monitorando o CPU no GNU/Linux em modo texto

  

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