Ir ao conteúdo

Nmap: 30 exemplos de comandos para administradores de rede

É uma ferramenta de segurança de código aberto para exploração de rede, varredura de segurança e auditoria. No entanto, o nmap  vem com muitas opções que podem tornar o utilitário mais robusto e difícil de seguir para novos usuários.

O objetivo deste post é a introdução de um usuário para a ferramenta de linha de comando nmap para escanear um host e/ou rede, de modo a descobrir os possíveis pontos vulneráveis das maquinas. Você também vai aprender a usar o Nmap para fins ofensivos e defensivos.

nmap in action

 

Configuração de exemplo (LAB)

Varredura de portas pode ser ilegal em algumas países. Assim é mais pratico configurar um laboratório como o exemplo abaixo:

                              +---------+
        +---------+           | Network |         +--------+
        | server1 |-----------+ swtich  +---------|server2 |
        +---------+           | (sw0)   |         +--------+
                              +----+----+
                                   |
                                   |
                         +---------+----------+
                         | wks01 Linux/OSX    |
                         +--------------------+

#1: Scan de um host ou um endereço (IPv4)

### Scan em um único endereço ###
nmap 192.168.1.1

## Scan em um host pelo nome ###
nmap server1.cyberciti.biz

## Scan em um host pelo nome e obtendo mais informações ###
nmap -v server1.cyberciti.biz

Exemplos de saída:

Fig.01: nmap outputFig.01: nmap output

 

#2: Scan múltiplos endereços ou sub-redes (IPv4)

nmap 192.168.1.1 192.168.1.2 192.168.1.3
## Scan na mesma sub-rede i.e. 192.168.1.0/24
nmap 192.168.1.1,2,3

Scan no range de endereços:

nmap 192.168.1.1-20

Scan usando caracteres coringas:

nmap 192.168.1.*

Scan em uma sub-rede inteira:

nmap 192.168.1.0/24

#3: Lendo uma lista de redes ou hosts em um arquivo (IPv4)

É possível fazer um scan utilizando uma lista com endereços de hosts ou redes, isso é ultil quando precisamos scannear uma rede muito grande ou varios hosts, para isso crie um arquivo de acordo com o padrão abaixo:
cat > /tmp/test.txt

Exemplo de saída:

server1.cyberciti.biz
192.168.1.0/24
192.168.1.1/24
10.1.2.3
localhost

Fazendo o scan:

nmap -iL /tmp/test.txt

#4: Excluindo hosts ou sub-redes (IPv4)

Ao fazer um scan em uma grande sub-rede você pode excluir um ou vários hosts.

nmap 192.168.1.0/24 --exclude 192.168.1.5
nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254

Ou excluir em uma lista /tmp/exclude.txt

nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt

#5: Detectando o versão do sistema operacional (IPv4)

nmap -A 192.168.1.254
nmap -v -A 192.168.1.1
nmap -A -iL /tmp/scanlist.txt

#6: Descubra se o alvo é protegido por um firewall

nmap -sA 192.168.1.254
nmap -sA server1.cyberciti.biz

#7: Scan quando o host é protegido por um firewall

nmap -PN 192.168.1.1
nmap -PN server1.cyberciti.biz

#8: Scan em rede IPv6

A opção -6 ativa a opção de ipv6 a sua sintaxe é:

nmap -6 IPv6-Address-Here
nmap -6 server1.cyberciti.biz
nmap -6 2607:f0d0:1002:51::4
nmap -v A -6 2607:f0d0:1002:51::4

#9: Scan para descobrir quais servidores e dispositivos estão funcionando

nmap -sP 192.168.1.0/24

Exemplo de saída:

Host 192.168.1.1 is up (0.00035s latency).
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Host 192.168.1.2 is up (0.0038s latency).
MAC Address: 74:44:01:40:57:FB (Unknown)
Host 192.168.1.5 is up.
Host nas03 (192.168.1.12) is up (0.0091s latency).
MAC Address: 00:11:32:11:15:FC (Synology Incorporated)
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.80 second

#10: Executa uma verificação rápida

nmap -F 192.168.1.1

#11: Mostra a razão da porta estar em determinado estado

nmap --reason 192.168.1.1
nmap --reason server1.cyberciti.biz

#12: Mostra apenas portas abertas (ou possivelmente abertas)

nmap --open 192.168.1.1
nmap --open server1.cyberciti.biz

#13: Mostra todos os pacotes enviados e recebidos

nmap --packet-trace 192.168.1.1
nmap --packet-trace server1.cyberciti.biz

14#: Mostra interface e rotas dos hosts

Isso é útil para detecção de problemas na rede

nmap --iflist

Exemplo de saída:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 02:01 IST
************************INTERFACES************************
DEV    (SHORT)  IP/MASK          TYPE        UP MAC
lo     (lo)     127.0.0.1/8      loopback    up
eth0   (eth0)   192.168.1.5/24   ethernet    up B8:AC:6F:65:31:E5
vmnet1 (vmnet1) 192.168.121.1/24 ethernet    up 00:50:56:C0:00:01
vmnet8 (vmnet8) 192.168.179.1/24 ethernet    up 00:50:56:C0:00:08
ppp0   (ppp0)   10.1.19.69/32    point2point up

**************************ROUTES**************************
DST/MASK         DEV    GATEWAY
10.0.31.178/32   ppp0
209.133.67.35/32 eth0   192.168.1.2
192.168.1.0/0    eth0
192.168.121.0/0  vmnet1
192.168.179.0/0  vmnet8
169.254.0.0/0    eth0
10.0.0.0/0       ppp0
0.0.0.0/0        eth0   192.168.1.2

#15: Especificar uma porta

map -p [port] hostName
## Scan na porta 80
nmap -p 80 192.168.1.1

## Scan TCP na porta 80
nmap -p T:80 192.168.1.1

## Scan UDP na porta 53
nmap -p U:53 192.168.1.1

## Scan two nas portas ##
nmap -p 80,443 192.168.1.1

## Scan port ranges ##
nmap -p 80-200 192.168.1.1

## Combinar várias opções ##
nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
nmap -p U:53,111,137,T:21-25,80,139,8080 server1.cyberciti.biz
nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254

## Scan todas as portas usando coringas ##
nmap -p "*" 192.168.1.1

## Scan de portas mais comuns ##
nmap --top-ports 5 192.168.1.1
nmap --top-ports 10 192.168.1.1

Exemplo de saída:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:23 IST
Interesting ports on 192.168.1.1:
PORT     STATE  SERVICE
21/tcp   closed ftp
22/tcp   open   ssh
23/tcp   closed telnet
25/tcp   closed smtp
80/tcp   open   http
110/tcp  closed pop3
139/tcp  closed netbios-ssn
443/tcp  closed https
445/tcp  closed microsoft-ds
3389/tcp closed ms-term-serv
MAC Address: BC:AE:C5:C3:16:93 (Unknown)

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

#16: A maneira mais rápida de descobrir todas as portas e computadores em uma rede

nmap -T5 192.168.1.0/24

#17: Detectando um sistema operacional remoto 

nmap -O 192.168.1.1
nmap -O  --osscan-guess 192.168.1.1
nmap -v -O --osscan-guess 192.168.1.1

Exemplo de saída:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:29 IST
NSE: Loaded 0 scripts for scanning.
Initiating ARP Ping Scan at 01:29
Scanning 192.168.1.1 [1 port]
Completed ARP Ping Scan at 01:29, 0.01s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 01:29
Completed Parallel DNS resolution of 1 host. at 01:29, 0.22s elapsed
Initiating SYN Stealth Scan at 01:29
Scanning 192.168.1.1 [1000 ports]
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 22/tcp on 192.168.1.1
Completed SYN Stealth Scan at 01:29, 0.16s elapsed (1000 total ports)
Initiating OS detection (try #1) against 192.168.1.1
Retrying OS detection (try #2) against 192.168.1.1
Retrying OS detection (try #3) against 192.168.1.1
Retrying OS detection (try #4) against 192.168.1.1
Retrying OS detection (try #5) against 192.168.1.1
Host 192.168.1.1 is up (0.00049s latency).
Interesting ports on 192.168.1.1:
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Device type: WAP|general purpose|router|printer|broadband router
Running (JUST GUESSING) : Linksys Linux 2.4.X (95%), Linux 2.4.X|2.6.X (94%), MikroTik RouterOS 3.X (92%), Lexmark embedded (90%), Enterasys embedded (89%), D-Link Linux 2.4.X (89%), Netgear Linux 2.4.X (89%)
Aggressive OS guesses: OpenWrt White Russian 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 - 7.09 (Linux 2.4.30 - 2.4.34) (94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94%), Linux 2.4.21 - 2.4.31 (likely embedded) (92%), Linux 2.6.15 - 2.6.23 (embedded) (92%), Linux 2.6.15 - 2.6.24 (92%), MikroTik RouterOS 3.0beta5 (92%), MikroTik RouterOS 3.17 (92%), Linux 2.6.24 (91%), Linux 2.6.22 (90%)
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=5.00%D=11/27%OT=22%CT=1%CU=30609%PV=Y%DS=1%G=Y%M=BCAEC5%TM=50B3CA
OS:4B%P=x86_64-unknown-linux-gnu)SEQ(SP=C8%GCD=1%ISR=CB%TI=Z%CI=Z%II=I%TS=7
OS:)OPS(O1=M2300ST11NW2%O2=M2300ST11NW2%O3=M2300NNT11NW2%O4=M2300ST11NW2%O5
OS:=M2300ST11NW2%O6=M2300ST11)WIN(W1=45E8%W2=45E8%W3=45E8%W4=45E8%W5=45E8%W
OS:6=45E8)ECN(R=Y%DF=Y%T=40%W=4600%O=M2300NNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S
OS:=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%R
OS:D=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=
OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID
OS:=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
Uptime guess: 12.990 days (since Wed Nov 14 01:44:40 2012)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=200 (Good luck!)
IP ID Sequence Generation: All zeros
Read data files from: /usr/share/nmap
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.38 seconds
           Raw packets sent: 1126 (53.832KB) | Rcvd: 1066 (46.100KB)

#18: Detectando serviços remotos e sua versão

nmap -sV 192.168.1.1

Exemplo de saída:

Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 01:34 IST
Interesting ports on 192.168.1.1:
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     Dropbear sshd 0.52 (protocol 2.0)
80/tcp open  http?
1 service unrecognized despite returning data.

#19: Scan de host usando TCP ACK (PA) e TCP Syn (PS) ping

Caso o firewall esteja bloqueando os pings tente os seguintes comandos:

nmap -PS 192.168.1.1
nmap -PS 80,21,443 192.168.1.1
nmap -PA 192.168.1.1
nmap -PA 80,21,200-512 192.168.1.1

#20: Scan em host usando ping

nmap -PO 192.168.1.1

#21: Scan a host usando UDP ping

nmap -PU 192.168.1.1
nmap -PU 2000.2001 192.168.1.1

#22: Descubra as portas mais utilizadas usando TCP SYN

 
### scan ###
nmap -sS 192.168.1.1

### Portas mais utilizadas utilizando TCP connect
nmap -sT 192.168.1.1

### Portas mais usadas utilizando TCP ACK
nmap -sA 192.168.1.1

### Portas mais usadas utilizando TCP window
nmap -sW 192.168.1.1

### Portas mais usadas utilizando TCP Maimon
nmap -sM 192.168.1.1

#23: Scan de host utilizando serviços UDP (UDP scan)

Serviços mais comuns utilizando protocolo UDP

nmap -sU nas03
nmap -sU 192.168.1.1

Exemplo de saída:

 
Starting Nmap 5.00 ( http://nmap.org ) at 2012-11-27 00:52 IST
Stats: 0:05:29 elapsed; 0 hosts completed (1 up), 1 undergoing UDP Scan
UDP Scan Timing: About 32.49% done; ETC: 01:09 (0:11:26 remaining)
Interesting ports on nas03 (192.168.1.12):
Not shown: 995 closed ports
PORT     STATE         SERVICE
111/udp  open|filtered rpcbind
123/udp  open|filtered ntp
161/udp  open|filtered snmp
2049/udp open|filtered nfs
5353/udp open|filtered zeroconf
MAC Address: 00:11:32:11:15:FC (Synology Incorporated)

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

#24: Scan pelo protocolo IP

Este tipo de scan você pode determinar qual o tipo de protocolo ip deseja (TCP, ICMP, IGMP, etc.)

nmap -sO 192.168.1.1

#25: Scan de firewall com falha de segurança

Os seguintes tipos de verificação explorar uma brecha sutil no TCP, é bom para testar a segurança de ataques comuns:

 
## TCP Null engana o firewall para obter uma resposta ##
nmap -sN 192.168.1.254

## TCP Fin varredura no firewall ##

nmap -sF 192.168.1.254

## TCP Xmas varredura no firewall ##

#26: Scan de firewall com fragmentos de pacotes

nmap -f 192.168.1.1
nmap -f fw2.nixcraft.net.in
nmap -f 15 fw2.nixcraft.net.in
## Set your own offset size with the --mtu option ##
nmap --mtu 32 192.168.1.1

#27: Scan decoys (camufla o ip)

nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip
nmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5

#28: Scan de firewall com MAC spoofing

 
### Spoof de MAC address ##
nmap --spoof-mac MAC-ADDRESS-HERE 192.168.1.1

### Adiciona outras opções ###
nmap -v -sT -PN --spoof-mac MAC-ADDRESS-HERE 192.168.1.1

### Use um MAC randômico ###
### O número 0 faz com que o nmap escolha aleatoriamente ###
nmap -v -sT -PN --spoof-mac 0 192.168.1.1

#29: Salvando a saída em um arquivo de texto

nmap 192.168.1.1 > output.txt
nmap -oN /path/to/filename 192.168.1.1
nmap -oN output.txt 192.168.1.1

#30: Instalando nmap em modo gráfico?

Instalando utilizando o comando apt-get:

$ sudo apt-get install zenmap

Exemplo da saída:

[sudo] password for vivek:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  zenmap
0 upgraded, 1 newly installed, 0 to remove and 11 not upgraded.
Need to get 616 kB of archives.
After this operation, 1,827 kB of additional disk space will be used.
Get:1 http://debian.osuosl.org/debian/ squeeze/main zenmap amd64 5.00-3 [616 kB]
Fetched 616 kB in 3s (199 kB/s)
Selecting previously deselected package zenmap.
(Reading database ... 281105 files and directories currently installed.)
Unpacking zenmap (from .../zenmap_5.00-3_amd64.deb) ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Processing triggers for man-db ...
Setting up zenmap (5.00-3) ...
Processing triggers for python-central ...

Inicializando o nmap em modo gráfico:

$ sudo zenmap

Nmap em modo gráfico:

Fig.02: zenmap in action

Artigo original: www.cyberciti.biz

Publicado emOUTROS

7 Comentários

  1. Allan Ricardo Allan Ricardo

    Ola muito bom, obrigado .
    Gostaria de saber se tem algum comando pra ver qual o nome da switch e qual porta o pc está conectado (cabeado

    • Rodrigo Lira Rodrigo Lira

      Até onde sei você só conseguirá descobrir isso via console do switche mesmo, o que você pode tentar é ver se o snmp está ativo e qual a sua versão, depois tentar explorar o mesmo.

  2. adriano marques adriano marques

    Caro Rodrigo lira

    otimo post

    poderia dizer como fazer, para saber quais os ips, estao conectados em um determinado site

  3. Sergio Gelli Sergio Gelli

    nmap encontra facilmente o endereço IP da minha rede WiFi, mas ele também pode encontrar o endereço IP do meu roteador conectado via cabo?

    • Rodrigo Lira Rodrigo Lira

      Sim, mas você pode traçar a rota para um endereço externo que já descrobre.

  4. Ótimo post, Rodrigo! Os exemplos de comandos do Nmap são super úteis para administradores de rede. Vou definitivamente testar alguns desses comandos no meu ambiente. Agradeço por compartilhar seu conhecimento!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Descubra mais sobre Rodrigo Lira

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading