Nmap é curto para Network Mapper. É uma ferramenta de segurança de código aberto para exploração de rede, verificação de segurança e auditoria. No entanto, o comando 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 é apresentar um usuário à ferramenta de linha de comando nmap para verificar um host e / ou uma rede, para descobrir os possíveis pontos vulneráveis nos hosts. Você também aprenderá a usar o Nmap para fins ofensivos e defensivos.

nmap in action

Nmap em ação

Mais sobre nmap

Na página do manual:

Nmap (“Network Mapper”) é uma ferramenta de código aberto para exploração de rede e auditoria de segurança. Ele foi projetado para digitalizar rapidamente grandes redes, embora funcione bem contra hosts únicos. O Nmap usa pacotes IP crus de novas formas para determinar quais hosts estão disponíveis na rede, quais serviços (nome e versão do aplicativo) esses hosts estão oferecendo, quais sistemas operacionais (e versões de SO) eles estão executando, que tipo de filtros de pacotes / firewalls Estão em uso, e dezenas de outras características. Embora o Nmap seja comumente usado para auditorias de segurança, muitos sistemas e administradores de rede acham útil para tarefas de rotina, como inventário de rede, gerenciamento de agendamentos de atualização de serviços e monitoramento do tempo de atividade do host ou do serviço.

Foi escrito originalmente por Gordon Lyon e pode responder facilmente às seguintes perguntas:

  1. Que computadores você achou executando na rede local?
  2. Que endereços IP você encontrou em execução na rede local?
  3. Qual é o sistema operacional de sua máquina de destino?
  4. Descubra quais portas estão abertas na máquina que você digitalizou?
  5. Descubra se o sistema está infectado com malware ou vírus.
  6. Procure servidores não autorizados ou serviço de rede na sua rede.
  7. Localize e remova computadores que não atendam ao nível mínimo de segurança da organização.

Configuração da amostra (LAB)

A varredura de portas pode ser ilegal em algumas jurisdições. Então, configure um laboratório da seguinte maneira:

                               -benzóico.
         + --------- + |  Rede |  -benzóico.
         |  Server1 | ----------- + swtich + --------- | server2 |
         + --------- + |  (Sw0) |  -benzóico.
                               -benzóico.
                                    | 
                                    |
                          -benzóico.
                          |  Wks01 Linux / OSX |
                          + -------------------- +

Onde,

  • Wks01 é o seu computador executando Linux / OS X ou Unix como sistema operacional. É utilizado para digitalizar a sua rede local. O comando nmap deve estar instalado neste computador.
  • Server1 pode ser alimentado por sistemas operacionais Linux / Unix / MS-Windows. Este é um servidor não corrigido. Sinta-se livre para instalar alguns serviços, como um servidor web, servidor de arquivos e assim por diante.
  • Server2 pode ser alimentado por sistemas operacionais Linux / Unix / MS-Windows. Este é um servidor totalmente remendado com firewall . Novamente, sinta-se livre para instalar alguns serviços, como um servidor web, servidor de arquivos e assim por diante.
  • Todos os três sistemas são conectados através do interruptor.

Como faço para instalar o nmap?

Vejo:

  1. Debian / Ubuntu Linux: Instalar o software nmap para digitalização de rede
  2. CentOS / RHEL: Instalar o nmap Network Security Scanner
  3. OpenBSD: Instalar o nmap Network Security Scanner

# 1: Digitalizar um único host ou um endereço IP (IPv4)

  ### Digitalizar um único endereço IP ###
 Nmap 192.168.1.1

 ## Digitalizar um nome de host ###
 Nmap server1.cyberciti.biz

 ## Digitalizar um nome de host com mais informações ###
 Nmap -v server1.cyberciti.biz

Saídas de amostra:

Fig.01: nmap output

Fig.01: saída nmap

# 2: Digitalizar vários endereços IP ou sub-redes (IPv4)

  Nmap 192.168.1.1 192.168.1.2 192.168.1.3
 ## funciona com a mesma sub-rede ie 192.168.1.0/24 
 Nmap 192.168.1.1,2,3

Você também pode digitalizar um intervalo de endereço IP:

  Nmap 192.168.1.1-20

Você pode digitalizar um intervalo de endereço IP usando um curinga:

  Nmap 192.168.1. *

Finalmente, você digitalizar uma sub-rede inteira:

  Nmap 192.168.1.0/24

# 3: Leia a lista de hosts / redes de um arquivo (IPv4)

A opção -iL permite ler a lista de sistemas de destino usando um arquivo de texto. Isso é útil para verificar um grande número de hosts / redes. Crie um arquivo de texto da seguinte maneira:
cat > /tmp/test.txt
Saídas de amostra:

  Server1.cyberciti.biz
 192.168.1.0/24
 192.168.1.1/24
 10.1.2.3
 Localhost

A sintaxe é:

  Nmap -iL /tmp/test.txt

# 4: Excluindo hosts / redes (IPv4)

Ao digitalizar um grande número de hosts / redes, você pode excluir hosts de uma verificação:

  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 lista de um arquivo chamado /tmp/exclude.txt

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

# 5: Ativar o OS e o script de varredura de detecção de versão (IPv4)

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

# 6: Descubra se um host / rede está protegido por um firewall

  Nmap -sA 192.168.1.254
 Nmap -sA server1.cyberciti.biz

# 7: Verificar um host quando protegido pelo firewall

  Nmap -PN 192.168.1.1
 Nmap -PN server1.cyberciti.biz

# 8: Digitalizar um host / endereço IPv6

A opção -6 habilita a digitalização IPv6. A sintaxe é:

  Nmap -6 Endereço IPv6-Aqui
 Nmap -6 server1.cyberciti.biz
 Nmap -6 2607: f0d0: 1002: 51 :: 4
 Nmap -v A -6 2607: f0d0: 1002: 51 :: 4

# 9: Digitalize uma rede e descubra quais servidores e dispositivos estão funcionando

Isso é conhecido como descoberta de host ou varredura de ping:

  Nmap -sP 192.168.1.0/24

Saídas de amostra:

  O host 192.168.1.1 está em alta (0,00035s de latência).
 Endereço MAC: BC: AE: C5: C3: 16: 93 (Desconhecido)
 O host 192.168.1.2 está acima (latência de 0,0038s).
 Endereço MAC: 74: 44: 01: 40: 57: FB (Desconhecido)
 O host 192.168.1.5 está ativo.
 O host nas03 (192.168.1.12) está aumentado (0,0091s de latência).
 Endereço MAC: 00: 11: 32: 11: 15: FC (Synology Incorporated)
 Nmap feito: 256 endereços IP (4 hosts acima) digitalizados em 2,80 segundo

# 10: Como faço uma verificação rápida?

  Nmap -F 192.168.1.1

# 11: Exibir a razão pela qual uma porta está em um determinado estado

  Nmap --reason 192.168.1.1
 Nmap --reason server1.cyberciti.biz

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

  Nmap --open 192.168.1.1
 Nmap --open server1.cyberciti.biz

# 13: Mostrar todos os pacotes enviados e recebidos

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

14 #: Mostrar interfaces e rotas de host

Isso é útil para depuração ( comando ip ou comando de rota ou comando netstat como saída usando nmap)

  Nmap --iflist

Saídas de amostra:

  Iniciando o Nmap 5.00 ( http://nmap.org ) em 2012 - 11 - 27 02:01 IST
 ************************ INTERFACES ************************
 DEV ( CURTO ) IP / MASK TIPO UP MAC
 Lo ( lo ) 127.0.0.1/ 8 loopback up
 Eth0 ( eth0 ) 192.168.1.5/ 24 Ethernet até B8: AC: 6F: 65 : 31 : E5
 Vmnet1 ( vmnet1 ) 192.168.121.1/ 24 ethernet até 00: 50 : 56 : C0: 00: 01
 Vmnet8 ( vmnet8 ) 192.168.179.1/ 24 ethernet até 00: 50 : 56 : C0: 00: 08
 Ppp0 ( ppp0 ) 10.1.19.69/ 32 point2point up

 ***************** ROUTES *********************** -benzóico.
 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: Como faço para digitalizar portas específicas?

  Nmap -p [ porta ] hostName
 ## Porta de digitalização 80
 Nmap -p 80 192.168.1.1

 ## Scan TCP port 80
 Nmap -p T: 80 192.168.1.1

 ## Scan UDP porta 53
 Nmap -p U: 53 192.168.1.1

 ## Scan duas portas ##
 Nmap -p 80 , 443 192.168.1.1

 ## Faixas da porta de varredura ##
 Nmap -p 80 - 200 192.168.1.1

 ## Combinar todas as 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

 ## Verificar todas as portas com * curinga ##
 Nmap -p "*" 192.168.1.1

 ## Scan principais portas ie digitalizar $ número portos mais comuns ##
 Nmap --top-ports 5 192.168.1.1
 Nmap --top-ports 10 192.168.1.1

Saídas de amostra:

  Iniciando o Nmap 5.00 ( http://nmap.org ) em 2012 - 11 - 27 01: 23 IST
 Portos interessantes em 192.168.1.1:
 SERVIÇO PORT STATE
 21 / tcp fechado ftp
 22 / tcp aberto ssh
 23 / tcp telnet fechado
 25 / tcp fechado smtp
 80 / tcp http aberto
 110 / tcp fechado pop3
 139 / tcp fechado netbios-ssn
 443 / tcp https fechado
 445 / tcp fechado microsoft-ds
 3389 / tcp fechado ms-term-serv
 Endereço MAC: BC: AE: C5: C3: 16 : 93 ( Desconhecido )

 Nmap feito: 1 endereço IP ( 1 host acima ) verificado em 0,51 segundos

# 16: A maneira mais rápida de digitalizar todos os seus dispositivos / computadores para portas abertas sempre

  Nmap -T5 192.168.1.0/24

# 17: Como faço para detectar o sistema operacional remoto?

Você pode identificar um host remoto aplicativos e sistema operacional usando a opção-O :

  Nmap -O 192.168.1.1
 Nmap -O --osscan-guess 192.168.1.1
 Nmap -v -O --osscan-guess 192.168.1.1

Saídas de amostra:

 Iniciando o Nmap 5.00 (http://nmap.org) em 2012-11-27 01:29 IST
 NSE: carregado 0 scripts para digitalização.
 Iniciando ARP Ping Scan em 01:29
 Digitalização 192.168.1.1 [1 porta]
 Completado ARP Ping Scan em 01:29, 0.01s decorrido (1 total hosts)
 Iniciando resolução DNS paralela de 1 host.  Às 01:29
 Resolução de DNS paralelo concluída de 1 host.  Às 01:29, decorreram 0,22 segundos
 Iniciando SYN Stealth Scan em 01:29
 Digitalização 192.168.1.1 [1000 portas]
 Descoberto porta aberta 80 / tcp em 192.168.1.1
 Descoberto porta aberta 22 / tcp em 192.168.1.1
 Concluído SYN Stealth Scan em 01:29, 0.16s decorrido (1000 total de portas)
 Iniciando a detecção do sistema operacional (try # 1) contra 192.168.1.1
 Tentando novamente a detecção do SO (try # 2) contra 192.168.1.1
 Tentando novamente a detecção do sistema operacional (tente # 3) contra 192.168.1.1
 Tentando novamente a detecção do SO (tente # 4) contra 192.168.1.1
 Tentando novamente a detecção do sistema operacional (try # 5) contra 192.168.1.1
 O host 192.168.1.1 está em alta (0,00049s de latência).
 Portos interessantes em 192.168.1.1:
 Não mostrado: 998 portos fechados
 SERVIÇO PORT STATE
 22 / tcp aberto ssh
 80 / tcp http aberto
 Endereço MAC: BC: AE: C5: C3: 16: 93 (Desconhecido)
 Tipo de dispositivo: WAP | uso geral | roteador | impressora | roteador de banda larga
 (94%), MikroTik RouterOS 3.X (92%), Lexmark embutido (90%), Enterasys embutido (89%), %), D-Link Linux 2.4.X (89%), Netgear Linux 2.4.X (89%) 
  Agressiva OS suposições: OpenWrt Branco Russo 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 - 7.09 (94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94% ), Linux 2.4.21 - 2.4.31 (provavelmente incorporado) (92%), Linux 2.6.15 - 2.6.23 (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%) 
  Nenhuma correspondência de SO exata para host (Se você souber o que o SO está sendo executado, consulte http://nmap.org/submit/).
 Impressão digital TCP / IP:
 SO: SCAN (V = 5,00% D = 11/27% OT = 22% CT = 1% CU = 30609% PV = Y% DS = 1% G = Y% M = BCAEC5% TM = 50B3CA
 SO: 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
 SO: 6 = 45E8) ECN (R = Y% DF = Y% T = 40% W = 4600% O = M2300NNSNW2% CC = N% Q =
 (R = N) T4 (R = Y% DF = Y% T = 40% W = 0% S = A% A = Z% F = R% O =% R
 SO: D = 0% Q =) T5 (R = Y% DF = Y% T = 40% W = 0% S = Z% A = S +% F = AR% (R = Y% DF = Y% T = 40% W =
 SO: 0% S = A% A = Z% F = R% O =% RD = 0% Q =) T7 (R = N) U1 (R = Y% DF = N% T = UN = 0% RIPL = G% RID
 SO: = G% RIPCK = G% RUCK = G% RUD = G) IE (R = Y% DFI = N% T = 40% CD = S)
 Uptime guess: 12.990 dias (desde Wed Nov 14 01:44:40 2012)
 Distância de rede: 1 hop
 TCP Sequence Previsão: Dificuldade = 200 (Boa Sorte!)
 Geração de seqüência de ID IP: Todos os zeros
 Ler arquivos de dados de: / usr / share / nmap
 Detecção do SO executada.  Relate quaisquer resultados incorretos em http://nmap.org/submit/.
 Nmap feito: 1 endereço IP (1 host up) digitalizado em 12,38 segundos
            Pacotes brutos enviados: 1126 (53.832KB) |  Rcvd: 1066 (46,100KB)

Consulte também: Impressão digital de um servidor web e de uma ferramenta de linha de comando do servidor dns para obter mais informações.

# 18: Como posso detectar números de versão de serviços remotos (servidor / daemon)?

  Nmap -sV 192.168.1.1

Saídas de amostra:

  Iniciando o Nmap 5.00 (http://nmap.org) em 2012-11-27 01:34 IST
 Portos interessantes em 192.168.1.1:
 Não mostrado: 998 portos fechados
 PORT STATE SERVICE VERSION
 22 / tcp aberto ssh Dropbear sshd 0,52 (protocolo 2.0)
 80 / tcp abrir http?
 1 serviço não reconhecido apesar de retornar dados.

# 19: Digitalizar um host usando TCP ACK (PA) e TCP Syn (PS) ping

Se o firewall estiver bloqueando pings ICMP padrão, experimente os seguintes métodos de descoberta de host:

  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: Digitalizar um host usando ping de protocolo IP

  Nmap -PO 192.168.1.1

# 21: Digitalizar um host usando UDP ping

Esta varredura ignora firewalls e filtros que apenas tela TCP:

  Nmap -PU 192.168.1.1
 Nmap -PU 2000.2001 192.168.1.1

# 22: Descubra as portas TCP mais usadas usando TCP SYN Scan

  ### Pesquisa furtiva ###
 Nmap -sS 192.168.1.1

 ### Descobrir as portas TCP mais utilizadas usando TCP conectar scan (aviso: não stealth scan)
 ### OS Fingerprinting ###
 Nmap -sT 192.168.1.1

 ### Descubra as portas TCP mais usadas usando a varredura TCP ACK
 Nmap -sA 192.168.1.1

 ### Descubra as portas TCP mais usadas usando o TCP Window scan
 Nmap -sW 192.168.1.1

 ### Descubra as portas TCP mais usadas usando TCP Maimon scan
 Nmap -sM 192.168.1.1

# 23: Digitalizar um host para serviços UDP (UDP scan)

A maioria de serviços populares no Internet funcionam sobre o protocolo de TCP. DNS, SNMP e DHCP são três dos serviços UDP mais comuns. Use a seguinte sintaxe para descobrir os serviços UDP:

  Nmap -sU nas03
 Nmap -sU 192.168.1.1

Saídas de amostra:

  Iniciando o Nmap 5.00 ( http://nmap.org ) em 2012 - 11 - 27 00: 52 IST
 Estatísticas: 0 : 05: 29 decorrido;  0 hosts concluídos ( 1 acima ) , 1 submetidos a UDP Scan
 UDP Scan Timing: Cerca de 32,49 % feito;  ETC: 01:09 ( restante 0 : 11 : 26 )
 Portas interessantes em nas03 ( 192.168.1.12 ) :
 Não mostrado: 995 portas fechadas
 SERVIÇO PORT STATE
 111 / udp aberto | rpcbind filtrado
 123 / udp open | filter ntp
 161 / udp open | filtrada snmp
 2049 / udp aberto | filtrado nfs
 5353 / udp open | filter zeroconf
 Endereço MAC: 00: 11 : 32 : 11 : 15 : FC ( Synology Incorporated )

 Nmap feito: 1 endereço IP ( 1 host up ) digitalizado em 1099,55 segundos

# 24: Procura por protocolo IP

Esse tipo de verificação permite que você determine quais protocolos IP (TCP, ICMP, IGMP, etc.) são suportados por máquinas de destino:

  Nmap -sO 192.168.1.1

# 25: Analisar um firewall para detectar falhas de segurança

Os tipos de varredura a seguir exploram uma lacuna sutil no TCP e bom para testar a segurança de ataques comuns:

  ## TCP Null Scan para enganar um firewall para gerar uma resposta ##
 ## Não define quaisquer bits (cabeçalho de sinalizador TCP é 0) ##
 Nmap -sN 192.168.1.254

 ## TCP Fin scan para verificar firewall ##
 ## Define apenas o bit TCP FIN ##
 Nmap -sF 192.168.1.254

 ## TCP Xmas scan para verificar firewall ##
 ## Define as bandeiras FIN, PSH e URG, iluminando o pacote como uma árvore de Natal ##
 Nmap -sX 192.168.1.254

Veja como bloquear pacotes de Xmas, syn-floods e outros ataques conman com iptables.

# 26: Digitalizar um firewall para fragmentos de pacotes

A opção -f faz com que a verificação solicitada (incluindo varreduras de ping) use pequenos pacotes IP fragmentados. A idéia é dividir o cabeçalho TCP
Vários pacotes para tornar mais difícil para os filtros de pacotes, sistemas de detecção de intrusão e outros aborrecimentos para detectar o que você está fazendo.

 Nmap -f 192.168.1.1
 Nmap -f fw2.nixcraft.net.in
 Nmap -f 15 fw2.nixcraft.net.in

 ## Defina seu próprio tamanho de deslocamento com a opção --mtu ##
 Nmap --mtu 32 192.168.1.1

# 27: Cobrir uma varredura com chamarizes

A opção -D aparece para o host remoto que o (s) host (s) que você especifica como chamarizes estão digitalizando a rede de destino também . Assim, seu IDS pode relatar 5-10 varreduras de portas a partir de endereços IP exclusivos, mas eles não saberão qual IP estava digitalizando e quais eram iscas inocentes:

  Nmap -n -Ddecoy-ip1, decoy-ip2, seu-próprio-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: Digitalizar um firewall para o endereço MAC spoofing

  ### Spoof seu endereço MAC ###
 Nmap --spoof-mac MAC-ADDRESS-HERE 192.168.1.1

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


 ### Use um endereço MAC aleatório ###
 ### O número 0, significa que nmap escolhe um endereço MAC completamente aleatório ###
 Nmap -v -sT -PN --spoof-mac 0 192.168.1.1

# 29: Como salvar a saída em um arquivo de texto?

A sintaxe é:

  Nmap 192.168.1.1> output.txt
 Nmap -oN / caminho / para / nome de arquivo 192.168.1.1
 Nmap -oN output.txt 192.168.1.1

# 30: Não é um fã de ferramentas de linha de comando?

Experimente o zenmap o front-end oficial do mapeador de rede :

O Zenmap é a GUI oficial do scanner de segurança Nmap. É uma aplicação livre e de código aberto multi-plataforma (Linux, Windows, Mac OS X, BSD, etc.) que visa tornar o Nmap fácil para os principiantes usarem enquanto fornece recursos avançados para usuários experientes do Nmap. As verificações usadas com freqüência podem ser salvas como perfis para facilitar a execução repetida. Um criador de comandos permite a criação interativa de linhas de comando do Nmap. Os resultados de digitalização podem ser salvos e visualizados posteriormente. Os resultados de varredura salvos podem ser comparados entre si para ver como eles diferem. Os resultados dos exames recentes são armazenados em um banco de dados pesquisável.

Você pode instalar o zenmap usando o seguinte comando apt-get :
$ sudo apt-get install zenmap
Saídas de amostra:

  [Sudo] senha para vivek: 
 Ler listas de pacotes ... Concluído
 Árvore de dependência de construção       
 Ler informações de estado ... Concluído
 Os seguintes pacotes NOVOS serão instalados:
   Zenmap
 0 atualizado, 1 recém-instalado, 0 para remover e 11 não atualizado.
 Necessita de obter 616 kB de arquivos.
 Após essa operação, 1,827 kB de espaço em disco adicional serão usados.
 Get: 1 http://debian.osuosl.org/debian/ squeeze / main zenmap amd64 5.00-3 [616 kB]
 Obtido 616 kB em 3s (199 kB / s)                       
 Selecionando zenmap de pacote desativado anteriormente.
 (Reading database ... 281105 arquivos e diretórios atualmente instalados.)
 Desembalando o zenmap (de ... / zenmap_5.00-3_amd64.deb) ...
 Processando acionadores para desktop-file-utils ...
 Processando gatilhos para gnome-menus ...
 Processando gatilhos para man-db ...
 Configurando o zenmap (5.00-3) ...
 Processando acionadores para python-central ...

Digite o seguinte comando para iniciar zenmap:
$ sudo zenmap
Saídas de amostra

Fig.02: zenmap in action

Fig.02: zenmap em ação

Anúncios