Nmap - Escaneando sua Rede e Mantendo-a Segura

O Nmap é um famoso software livre que realiza o scanner de redes. É simples de instalar, possuindo binários prontos para rodar em qualquer plataforma operacional (Linux, Windows, Mac OS). Escrito e mantido por Gordon Lyon (Fyodor).

[ Hits: 11.895 ]

Por: Diego Mendes Rodrigues em 28/04/2019 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


Utilizando o NMap



Esse ferramental costuma vir instalado em distribuições voltadas para segurança da informação, como o Kali Linux. Estou pressupondo que o leitor desse material utiliza uma voltada para o cotidiano, como o Debian ou o Ubuntu.

Para instalar o Nmap no Debian/Ubuntu, execute o seguinte comando como usuário root:

# apt -y install nmap

Estado das portas no escaneamento do Nmap:
  • O Nmap pode ser usado através de linha de comando ou em uma interface gráfica, embora nesse material nos concentremos no console.
  • Sua saída será uma lista contendo alvos, e/ou dispositivos rastreados, com informações adicionais de cada um. Uma das informações obtidas pelo rastreamento é uma tabela de portas, que exibe o número de porta, protocolo, nome do serviço e estado que pode ser aberto, filtrado, não filtrado ou fechado.
  • Se o estado for aberto, indica que o serviço, ou a aplicação, no servidor escaneado está em execução.
  • Quando o estado é filtrado, indica que o Firewall está bloqueando a porta e não permite que o Nmap diga se ela está aberta ou fechada.
  • Já no estado fechado, indica que a aplicação não está escutando na porta.
  • As portas classificadas como não filtradas, indicam que elas respondem o Nmap, mas ele por sua vez, não consegue determinar se determinada porta se encontra no estado aberto ou fechado.

Exemplos de escaneamento e exploração de redes

Irei expor alguns exemplos de utilização do Nmap, para que o leitor entenda melhor seu funcionamento, utilizando a linha de comandos.

1. Escaneamento básico do Nmap:

nmap 1.1.1.1

Caso você queira utilizar o hostname, basta trocar o IP pelo hostname.

nmap cloudflare.com

O resultado será algo como:

Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:43 -03
Nmap scan report for one.one.one.one (1.1.1.1)
Host is up (0.019s latency).
Not shown: 995 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh
25/tcp  filtered smtp
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds

Nmap done: 1 IP address (1 host up) scanned in 8.55 seconds
~$


2. Escanear portas específicas:

Para escanear todas as portas entre 1 e 65535, na máquina local, utilize:

nmap -p 1-65535 localhost

Para escanear as portas 80 (http) e 443 (https) em um IP:

nmap -p 80,443 8.8.8.8
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:44 -03
Nmap scan report for google-public-dns-a.google.com (8.8.8.8)
Host is up (0.021s latency).
PORT    STATE    SERVICE
80/tcp  filtered http
443/tcp open     https

Nmap done: 1 IP address (1 host up) scanned in 7.96 seconds


3. Escanear vários IPs, ou vários hostnames:

Para realizar o escaneamento nos IPs 1.1.1.1 e 8.8.8.8, utilize:

nmap 1.1.1.1 8.8.8.8

Já para realizar a verificação em uma sequência de IPs (1.1.1.1, 1.1.1.2, 1.1.1.3 e 1.1.1.4):

nmap -p 1.1.1.1,2,3,4

4. Escanear faixas de IPs:

Realizar o escaneamento em 14 IPs consecutivos (8.8.8.1 até o 8.8.8.14):

nmap -p 8.8.8.0/28
Ou:
nmap 8.8.8.1-14

Escanear todo a classe C de um IP (256 IPs - 8.8.8.1 até 8.8.8.256):

nmap 8.8.8.*

Caso queira excluir um IP da lista que será analisada, utilize --exclude:

nmap -p 8.8.8.* --exclude 8.8.8.1

5. Escanear as portas populares na WEB:

Usando o parâmetro "top-ports" junto com o número de portas, como 20, viabiliza que sejam escaneadas as 20 portas mais populares.

nmap --top-ports 20 192.168.15.209
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:46 -03
Nmap scan report for 192.168.15.209
Host is up (0.00022s latency).
PORT     STATE  SERVICE
21/tcp   closed ftp
22/tcp   open   ssh
23/tcp   closed telnet
25/tcp   closed smtp
53/tcp   closed domain
80/tcp   closed http
110/tcp  closed pop3
111/tcp  closed rpcbind
135/tcp  closed msrpc
139/tcp  closed netbios-ssn
143/tcp  closed imap
443/tcp  closed https
445/tcp  closed microsoft-ds
993/tcp  closed imaps
995/tcp  closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp open   http-proxy


nmap --top-ports 20 google.com
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 12:47 -03
Nmap scan report for google.com (64.233.185.139)
Host is up (0.25s latency).
Other addresses for google.com (not scanned): 64.233.185.102 64.233.185.101 64.2       33.185.100 64.233.185.113 64.233.185.138 2800:3f0:4001:810::200e
rDNS record for 64.233.185.139: yb-in-f139.1e100.net
PORT     STATE    SERVICE
21/tcp   filtered ftp
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
53/tcp   filtered domain
80/tcp   open     http
110/tcp  filtered pop3
111/tcp  filtered rpcbind
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
143/tcp  filtered imap
443/tcp  open     https
445/tcp  filtered microsoft-ds
993/tcp  filtered imaps
995/tcp  filtered pop3s
1723/tcp filtered pptp
3306/tcp filtered mysql
3389/tcp filtered ms-wbt-server
5900/tcp filtered vnc
8080/tcp filtered http-proxy

Nmap done: 1 IP address (1 host up) scanned in 12.18 seconds


6. Salve o resultado do escaneamento em um arquivo:

Em muitos casos, será interessante salvar o resultado em um arquivo de texto, para análise no momento ou posterior, além da viabilidade de enviar por e-mail. Para isso, podemos utilizar o parâmetro "-oN" ou "-oX". Para gerar um arquivo de texto, utilize o "-oN".

nmap -oN resultados.txt google.com

Caso seja necessário, os resultados podem ser armazenados em um arquivo XML, será necessário o "-oX".

nmap -oX resultados.xml google.com

7. Desabilitar a resolução de nomes via DNS:

Para que o escaneamento seja mais rápido e mais discreto, a resolução de nomes via DNS pode ser desabilitada com a opção "-n":

nmap -p 80 -n 8.8.8.8

8. Escaneamento que detecta o S.O. (Sistema Operacional) de um servidor:

O uso do parâmetro "-A" permite a detecção do S.O. no servidor destino, ficando ainda mais rápido junto com o "-T4". Veja esse exemplo:

nmap -A -T4 drsolutions.com.br
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 13:03 -03
Nmap scan report for drsolutions.com.br (45.34.14.127)
Host is up (0.16s latency).
rDNS record for 45.34.14.127: playadelsol18.com
Not shown: 994 filtered ports
PORT STATE SERVICE VERSION
53/tcp closed domain
80/tcp open http Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: Did not follow redirect to https://drsolutions.com.br/
443/tcp open ssl/http Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: drSolutions - Ag\xC3\xAAncia Digital - Sites, Marketing A drSolution...
| ssl-cert: Subject: commonName=drsolutions.com.br
| Subject Alternative Name: DNS:drsolutions.com.br, DNS:hospedagem.drsolutions.com.br, DNS:suporte.drsolutions.com.br, DNS:tarefas.drsolutions.com.br, DNS:treinamentos.drsolutions.com.br, DNS:www.drsolutions.com.br
| Not valid before: 2019-04-15T22:37:25
|_Not valid after: 2019-07-14T22:37:25
|_ssl-date: TLS randomness does not represent time
993/tcp closed imaps
995/tcp closed pop3s
8080/tcp open ssl/ssl Apache httpd (SSL-only mode)
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Apache/2.4.25 (Debian)
| http-title: 400 Bad Request
|_Requested resource was /login/
| ssl-cert: Subject: commonName=server.zhap.com.br/organizationName=drSolutions/stateOrProvinceName=SP/countryName=BR
| Not valid before: 2019-04-08T13:02:13
|_Not valid after: 2029-04-05T13:02:13
|_ssl-date: TLS randomness does not represent time

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


9. Detectar serviços e suas versões:

Essa detecção pode ser realizada com os parâmetros "-sV".

nmap -sV vivaolinux.com.br
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 13:08 -03
Nmap scan report for vivaolinux.com.br (54.233.68.155)
Host is up (0.017s latency).
rDNS record for 54.233.68.155: ec2-54-233-68-155.sa-east-1.compute.amazonaws.com
Not shown: 994 filtered ports
PORT     STATE  SERVICE    VERSION
22/tcp   open   ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp   open   http       nginx 1.14.0
443/tcp  open   https?
3000/tcp closed ppp
8000/tcp closed http-alt
8443/tcp open   https-alt?
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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


10. Escaneamento em protocolos TCP ou UDP:

Escaner básico utilizando o protocolo TCP, utilizando "-sT":

nmap -sT 1.1.1.1

Escaner básico utilizando o protocolo UDP, utilizando "-sU":

# nmap -sU 1.1.1.1
Starting Nmap 7.40 ( https://nmap.org ) at 2019-04-24 13:12 -03
Nmap scan report for one.one.one.one (1.1.1.1)
Host is up (0.017s latency).
Not shown: 981 closed ports
PORT      STATE         SERVICE
7/udp     open|filtered echo
13/udp    open|filtered daytime
19/udp    open|filtered chargen
67/udp    open|filtered dhcps
123/udp   open|filtered ntp
135/udp   open|filtered msrpc
136/udp   open|filtered profile
137/udp   open|filtered netbios-ns
138/udp   filtered      netbios-dgm
139/udp   open|filtered netbios-ssn
161/udp   open          snmp
445/udp   open|filtered microsoft-ds
520/udp   open|filtered route
1645/udp  open|filtered radius
1646/udp  open|filtered radacct
1812/udp  open|filtered radius
1813/udp  open|filtered radacct
2000/udp  open|filtered cisco-sccp
49152/udp open|filtered unknown


11. Utilizar o spoofing do IP:

Ao realizar um escaneamento, pode ser necessário realizar o spoofing do IP, ou seja, esconder o IP de origem do escaneamento. Isso pode ser feito com a opção "-S":

nmap -S 10.10.10.5 192.168.15.210

Nesse escaneamento, caso alguém esteja monitorando os pacotes, o IP de origem será 10.10.10.5, ao invés do IP real de minha máquina.

Página anterior     Próxima página

Páginas do artigo
   1. Conhecendo melhor o Nmap
   2. Utilizando o NMap
   3. Conclusões e Links
Outros artigos deste autor

Instalar o Ubuntu Server

Distribuições Linux Para Computadores Antigos

Port Scanner com Python

Alternativas ao Microsoft Visio para Linux

Instalando Adicionais para Convidados para VirtualBox no Debian, Linux Mint e Ubuntu

Leitura recomendada

Melhorando a segurança do Firewall com Bridges usando Snort_Inline no Debian Etch

Resenha do livro: Praticando a Segurança da Informação

Soluções para Acesso Remoto Seguro com SSH

Single Honeypot

wlmproxy - um proxy superior

  
Comentários
[1] Comentário enviado por cizordj em 29/04/2019 - 15:54h

Gostei do artigo, isso me lembra de uma vez que scaneei um computador recém-formatado com Windows 10 e o nmap não trazia nenhuma informação, deve ser falta de experiência minha mas até achei que o Windows era seguro.


<---------------------------------------------------------------->
O seu tempo é o único bem que você não recupera

[2] Comentário enviado por Mc.Eagle em 01/05/2019 - 21:36h

Excelente artigo, realmente o nmap tem sido uma ferramenta poderosa para segurança de redes de computadores.

[3] Comentário enviado por diegomrodrigues em 05/05/2019 - 11:54h


[2] Comentário enviado por Mc.Eagle em 01/05/2019 - 21:36h

Excelente artigo, realmente o nmap tem sido uma ferramenta poderosa para segurança de redes de computadores.


Realmente, essa é uma ferramenta muito utilizada.

[4] Comentário enviado por diegomrodrigues em 05/05/2019 - 11:54h


[1] Comentário enviado por Cizordj em 29/04/2019 - 15:54h

Gostei do artigo, isso me lembra de uma vez que scaneei um computador recém-formatado com Windows 10 e o nmap não trazia nenhuma informação, deve ser falta de experiência minha mas até achei que o Windows era seguro.


&lt;----------------------------------------------------------------&gt;
O seu tempo é o único bem que você não recupera


Cada S.O. tem suas vantagens e suas desvantagens!

[5] Comentário enviado por amaurybsouza em 06/05/2019 - 21:21h

Parabéns pelo artigo Diego, nmap é uma ferramenta de qualquer profissional de infra.

Vou compartilhar com o pessoal da empresa, será de grande ajuda.

Abraços.

[6] Comentário enviado por metall em 26/05/2019 - 19:01h

A uns 3 Anos Já tinha publicado aqui uma matéria Semelhante com 30 Exemplos de Utilização
Segue Link nmap
https://www.vivaolinux.com.br/contribuir/artigo/verPagina.php?codpagina=54920

[7] Comentário enviado por fpimentajr em 24/06/2019 - 06:50h

Muito esclarecedor seu artigo, foi muito útil. Obrigado por compartilhar :)

[8] Comentário enviado por fpimentajr em 22/04/2020 - 08:32h

Muito boa a matéria.... rsrsr fui levado ao manual e mergulhei no nmap. Não imaginava que ele possuísse tantas possibilidades, obrigado por compartilhar. parabéns !!!


Contribuir com comentário