O que é NMap

NMap é um sistema de varreduras de portas muito utilizado para a segurança da informação. Está contido diversas ferramentas e utilidades para saber se sistemas e hospedagens são passíveis de receber alguns ataques.


Parametros de opções para o NMap

Especificações do alvo

Pode ser hostnames, endereços IPv4, redes, etc… Exemplos: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254

-iL <InputFilename> Um arquivo com uma lista de hosts/redes -iR <num Hosts> Seleciona alvos aleatórios --exclude <host1<,host2><,host3>,...> Exclui hosts/redes --excludefile <excluirArquivo> Exclui uma lista de um arquivo

Varredura de Hosts

-sL List scan - Uma lista simples de alvos para realizar a varredura -sn Ping scan - Desativa o port scan -Pn
-PS/PA/PU/PY<portList> Varredura de TCP SYN/ACL, UDP ou SCTP para as portas -PE/PP/PM Print ICMP, tempo, requisição de netmask (?) -PO<listaProtocolos> Protocolo de ping para IP -n/-R Nunca fazer resoluções DNS --dns-server <serv1[,serv2],...> Especifica servidores DNS --system-dns Utiliza os especificadores de DNS do sistema --traceroute

SCAN Techniques

-sS/sT/sA/sW/sM Varredura TCP SYN/Connect()/ACK/Window/Maimon -sU Varredura UDP -sN/sF/sX Varredura UDP NULL/FIN/ e Xmas --scanflags <flags> Varredura de TCP costumizada -sI <zombie host[:probe port]> Varredura


Varredura de um IP

Para realizar a varredura de um IP e mostrar todas as portas abertas no sistema, simplesmente usa-se:

nmap [IP/URL]

FLAGS

Pode utilizar-se de flags, como a -sV (show Versions) para mostrar as versões dos sistemas conectados com as portas abertas no sistema. Assim, facilitando a detecção de vulnerabilidades em um sistema


Varredura com Scripts

Para realizar uma varredura completa de um servidor, utilizando-se de scripts para tal ato, é possível utilizar o comando:

nmap --script [SCRIPT1],[SCRIPT2],...,[SCRIPTn] -sV [IP]

1. Os scripts são parametros recebido como arquivos dentro de um diretório

  1. O IP também pode suportar hospedagens em domínio (www.hostname.com)
  2. Os scripts do nmap utilizam-se da extensão *.nse
  3. Aparentemente, os scripts apresentam grande chance de falso-positivos. É sempre bom confirmar a vulnerabilidade com outros scripts e outros softwares.

Para isso, é provavel que você esteja procurando sobre os scripts de varredura disponíveis como NMapVulners juntamente com o VulScan , então, rodando esse comando em uma host de IP genérico 192.168.0.1, ficaria da seguinte forma:

nmap --script nmap-vulners/,vulscan/vulscan.nse -sV 192.168.0.1

1. Não tenho certeza se irá funcionar dessa forma, é necessário realizar testes para saber qual a maneira correta de se realizar a varredura de portas com sequeência de uma varredura de vulnerabilidades


Varredura de várias portas

Para realizar a varredura de diversas portas simultaneamente pode-se usar o comando:

nmap -sV -p[PORTA01]-[PORTA02] [IP]

Atenção:

  1. Nesse comando, -p tem realmente suas portas “juntas”
  2. Acredito, mas não tenho certeza, que o IP também suporte URL
  3. É recomendado utilizar a varredura das portas entre 1 até 65535, sendo -p1-65535

Utilizando uma varredura de multiplas portas e diagnosticando quais portas estão abertas em um sistema, é possível abusar de vulnerabilidades presentes em uma entrada específica do software, o que pode comprometer todo o sistema. Como desmontrado no vídeo de Loi Liang Yang , é possível utilizar do Metasploit para realizar um Reverse Shell e abusar desse controle para obter acesso a outros serviços do sistema de software.


Varredura de conexões em uma rede local

Para utilizar o NMap para realizar uma varredura de conexões em uma rede local, é primeiro necessário utilizar o comando:

ip addr

Com isso, é necessário procurar o endereço IPv4 do inet, que tem o formato parecido com 192.168.0.1/24. Após isso, já é possível realizar uma varredura de dispositivos da rede em que você está conectado. Para isso, é necessário utilizar o comando:

nmap -sn 192.168.0.1/24 (IP do inet)

Com isso, é possível listar todos os IPv4s que estão conectados na sua rede local. Para realizar uma consulta a um IPv4 conectado na rede, pode-se utilizar