O programa
nmap tem por objetivo permitir aos administradores de rede, e aos curiosos em geral, determinar quais servidores estão funcionando e que serviços
eles estão oferecendo num determinado momento.
O comando nmap suporta um grande numero de técnicas de exploração, tais como: UDP, TCP connect, TCP SYN, ftp proxy, reverse-ident, ICMP, FIN, ACK weep e Null scan,
além de determinar o SO.
Para uma referência de comandos digite:
# nmap -h
A seguir demonstro as opções mais importantes do comando nmap.
TCP connect/90 scan, esta é a forma mais básica de exploração. Também é a forma padrão utilizada pelo comando quando não digitados parâmetros. Esta técnica é de fácil
detecção pelo IPtables e pelos serviços em si.
TCP SYS scan: esta técnica é também conhecida como “half-open scanning”, porque não é aberta uma conexão TCP completa. É enviado um pacote SYN, como se estivesse
sendo aberta uma conexão TCP normal. Uma resposta do tipo SYN/ACK indica que a porta está escutando. Um RST indica que aporta não está escutando. Também é detectável
pelo IPTables.
Stealth FIN: existem casos em que os pacotes SYN são filtrados pelo firewall ou filtro de pacotes, podendo esses pacotes serem detectados por programas como Synlogger,
este
parâmetro avançado consegue atravessar esta barreira sem problemas. A idéia é que as portas fechadas respondam ao pacote de teste com um RST, enquanto que as portas
abertas o ignoram.
No entanto nem todos os sistemas operacionais se comportam da mesma maneira. Neste tipo de varredura mais avançada, isso tem que se levar em conta ao se analisar os
resultados.
Este parâmetro não é detectado pelo IPTables, neste caso é usado o porsentry para sua detecção.
Ping scanning: usado para encontrar os hosts numa rede. Deve ser usado junto com a máscara de rede. Ex: nmap -sP 10.0.0.0/24
Exploração UDP: este método é usado para determinar quais portas UDP estão abertas num host. A técnica usada é enviar um pacote de tamanho zero (0) byte para cada
porta da máquina alvo, caso seja recebida uma mensagem ICMP “port unreachable”, a porta está fechada, caso contrário assume-se que a porta está aberta.
Esta é uma exploração de difícil detecção pela máquina alvo, além de ser bastante demorada.
Exploração ACK: este método avançado é normalmente usado para mapear as regras de um firewall. Em particular ele pode ajudar a determinar se o firewall é completo ou se
é apenas um filtro de pacotes que bloqueia a passagem de pacotes SYN.
Exploração RPC: este método trabalha em combinação com vários outros métodos de exploração de portas do nmap.Ele encontra todas as portas TCP/UDP abertas e inunda
(floods) a porta com comandos nulos SUnRPC, em uma tentativa de determinar se são portas RPC, e se assim for, que o programa e número de versão que o servidor usa.
esta exploração pode ser detectada com o uso do portmmapper.
Esta opção ativa uma detecção remota do sistema operacional via TCP/IP, em outras palavras, usa várias técnicas para detectar informações do “network stack” dos
computadores que estão sendo explorados.
Modo “verbose” este modo é altamente recomendável já que fornece muito mais informações sobre a exploração em execução.
Esta opção especifica quais portas serão exploradas. Por exemplo, “-p 23″ significa que somente a porta 23 será explorada, “-p 20-30,139,6000-”, explora as portas 20
até a 30, a porta 139 e todas as portas acima de 6000.
- -D [decoy1 [,decoy2[,ME],…]
Faz a exploração com vários IPs de origem, acarretando uma dificuldade maior na detecção do verdadeiro IP de onde está à varredura está vindo.