Este tutorial explica o que são as bandeiras do NMAP e o que eles fazem com exemplos reais de cenário.
NMAP é provavelmente a ferramenta de rede e segurança mais importante no mercado. Entre suas características, existem varreduras de portas, varredura de vulnerabilidades, descoberta de hosts, recursos de pegada e ainda mais funcionalidades trazidas pelo mecanismo de script nmap (NSE).
Depois de ler este tutorial, você poderá se tornar um usuário avançado do NMAP, não apenas usando sinalizadores, mas também aprendendo dicas de sintaxe e o mecanismo de script nmap com funções adicionais.
Todos os exemplos mostrados neste artigo incluem capturas de tela, facilitando para todos os usuários entender como aplicá -los.
A sintaxe do NMAP
Ao executar uma varredura usando o NMAP, primeiro precisamos ligar para o programa, depois precisamos introduzir sinalizadores (tipo de varredura) e, finalmente, o (s) alvo (s) a ser digitalizado.
Um exemplo básico disso seria uma simples varredura de porta direcionada portas específicas, como mostrado abaixo, onde a porta 80 do host Linuxhint.com é digitalizado para aprender seu estado.
NMAP -P 80 Linuxhint.com
O -sinalização ou parâmetro p (porta) mostrado no exemplo acima é usado para definir uma ou mais portas. Você pode adicionar mais portas separando -as usando vírgulas, isso será explicado mais adiante neste artigo.
Compreendendo a saída do NMAP: estados da porta
Antes de continuar com a explicação nas bandeiras do NMAP, é importante que os leitores entendam as saídas do NMAP. Em relação a isso, existem 6 estados portuários que podem ser relatados pelo NMAP:
Agora você conhece a sintaxe do NMAP e a saída básica, o que significa que podemos prosseguir com o aprendizado de sinalizadores NMAP.
NMAP sinalizadores para digitalizar portas
O recurso NMAP mais amplamente usado é a verificação da porta. Para usar o NMAP corretamente, é necessário saber como esse sinalizador pode ser implementado para atender às necessidades do usuário.
Conforme mostrado na primeira seção deste tutorial (a seção de sintaxe), para especificar uma porta, você só precisa digitar o -sinalizador (portas) seguido pela porta que você deseja ser digitalizada, como mostrado abaixo.
NMAP -P 443 Linuxhint.com
No exemplo acima, o NMAP é instruído a verificar o estado da porta 443 do Linuxhint.com host.
Você também pode especificar mais de uma porta implementando uma vírgula. No exemplo seguinte, o NMAP é instruído a verificar as portas 80 (HTTP), 443 (https), 21 (FTP) e 22 (SSH).
NMAP -P 80.443,21,22 Linuxhint.com
Como você pode ver, todas as portas especificadas foram analisadas. As portas 80 e 443 estão abertas enquanto as portas 21 e 22 são filtradas por um firewall.
Obviamente, com o NMAP, você também pode definir alvos usando endereços IP, sub -redes, etc.
NMAP -P 23,80 162.0.232.43
Você também pode especificar um intervalo de portas implementando um hífen, como mostrado no exemplo a seguir, no qual todas as portas dos 79 a 90 são digitalizadas.
Observação: Se o intervalo for muito grande, a saída pode pular portas fechadas/filtradas e mostrar apenas portas abertas.
NMAP -P 79-90 Linuxhint.com
É importante esclarecer ao usar o -P Bandeira Você também pode especificar o serviço pelo nome, não apenas pelo número da porta. No exemplo abaixo, as portas https e ssh são digitalizadas.
nmap -p http, ssh linuxhint.com
Quando você não especifica portas, por padrão NMAP digitaliza as 1000 portas mais usadas. Se você deseja digitalizar um alvo e encontrar apenas portas abertas entre essas 1000 portas, você pode usar o -Bandeira aberta.
nmap --pen linuxhint.com
Como você pode ver, o NMAP encontrou as portas 80.443, 8080 e 8443 estão abertas.
NMAP sinalizadores para SO e detecção de versão de software
Outro recurso importante do NMAP é a capacidade de detectar versões de SO e software de nosso alvo. NMAP é uma ótima ferramenta para pegadas. Podemos usar sinalizadores diferentes e combiná -los para obter melhores resultados.
A primeira bandeira explicada nesta seção é o -O (OS) sinalizador usado para detectar o sistema operacional alvo.
Observação: Você precisa de privilégios de raiz para usar o -O sinalizador Para detecção de sistema operacional. Use o sudo prefixo.
sudo nmap -o donweb.com
As condições de relatórios do NMAP não eram ideais para detectar o sistema operacional do alvo. No entanto, tem 86% de certeza de que está usando um sistema Linux com kernel 2.6.18 ou 2.6.22.
Para detectar versões de serviço, você pode usar o -sinalizador SV (versão de serviço) como mostrado abaixo.
NMAP -SV ArgexChanger.com
Na captura de tela acima, o NMAP detectou puro-ftpd para o serviço FTP, exim 4.94.2 e DOVECOT para serviço de email, ISC Bind 9.8.2RC1 para DNS e LitesPeed como servidor web.
O -sinalizador SV suporta diferentes níveis de intensidade, de 0 a 9, onde 0 é uma intensidade de luz e 9 a mais agressiva. O nível padrão ao usar o -sinalizador SV, Se não for especificado, é 7.
Abaixo, você pode ver um exemplo de varredura com o nível de intensidade mais baixo. Como você verá, nenhuma versão é detectada.
NMAP -SV -Intensidade 0 Linuxhint.com
Agora, você pode ver a saída de um -Sv digitalize com intensidade máxima contra o mesmo alvo.
Agora o resultado é diferente e, embora as versões não tenham sido detectadas, sabemos o motivo. Linuxhint.com é protegido pelo Cloudflare. Com esta saída que aprendemos, podemos obter as versões usando outras ferramentas como CloudFail ou Shodan.
Sinalizadores NMAP para definir alvos
Outras bandeiras básicas do NMAP e técnicas de sintaxe são úteis para definir alvos para digitalizar. Esta seção mostra como executá -los.
Observação: Além disso, para sinalizadores, esta seção também abrange algumas técnicas de sintaxe.
Em exemplos anteriores, apenas examinamos um alvo. Você também pode segmentar muitos dispositivos.
O exemplo a seguir mostra como segmentar um intervalo de IP implementando um hífen. A varredura terá como alvo todos os endereços IP entre 162.0.232.2 e 162.0.232.20. Obviamente, a captura de tela não pode incluir todos os resultados que vejo no console.
NMAP 162.0.232.2-20
Você pode especificar faixas em mais de um octeto. O exemplo abaixo especifica os intervalos no último a octetos, implementando um hífen em ambos.
NMAP 162.0.232-239.2-10
Se você quiser escanear um octeto inteiro, você também pode usar um curinga (*). Você também pode usar curingas em mais de um octeto e pode combinar intervalos de IP com curingas, como mostrado no exemplo seguinte.
NMAP 162.0.232-234.*
O -Ir Flag Instrui o NMAP para encontrar hosts aleatoriamente, essa bandeira depende de um argumento e instruções numéricas, exige que o usuário defina quantos hosts ou alvos NMAP devem gerar.
No exemplo seguinte, eu instruo o NMAP a gerar 200 metas aleatórias para digitalizar a porta NetBios.
NMAP -P 139 -IR 200
Você também pode usar o NMAP para carregar arquivos contendo quantos hosts ou endereços IP quiser. Os hosts podem ser listados com novas linhas, como mostrado na captura de tela abaixo, ou separadas por vírgula, espaço ou guia.
Para aplicar o exemplo abaixo para criar um arquivo contendo hosts e endereços IP, você pode adicionar muitos como quiser. No meu caso, nomeei o arquivo hostslist.
A bandeira para carregar a lista de hosts/ips é -il. Abaixo, você pode ver um exemplo usando a lista criada na captura de tela acima.
nmap -il hostslist
O -exclua a bandeira é útil excluir endereços IP ou hosts de varreduras quando digitalizamos intervalos IP ou arquivos de destino. No exemplo seguinte, usarei a lista de host novamente para digitalizar portas ssh, ftp e sftp, mas eu instruo o nmap a excluir Linuxhint.com da lista. Como você vê em contraste com o resultado mostrado no -IL Flag Exemplo Linuxhint.com não foi digitalizado.
nmap -p ssh, ftp, sftp -il hostslist --exclus.com
Você também pode usar o -exclua a bandeira Quando as portas de varredura varia como mostrado no exemplo abaixo, no qual o IP 162.0.233.34 é excluído, não digitalizado.
NMAP -P SSH, FTP, SFTP 162.0.232-236.34 -EXCLUSE 162.0.233.34
Outras bandeiras nmap comuns
Esta é a última seção deste tutorial e explica sinalizadores não categorizados adicionais.
-v: A bandeira -v (verbosidade) imprimirá informações no processo de digitalização. Por padrão, o NMAP não mostra o processo, este parâmetro instruirá o NMAP a mostrar o que está acontecendo durante a digitalização.
-e: Esta bandeira nos permite especificar uma interface de rede (e.g. ETH0, WLAN0, ENP2S0, etc), útil se estivermos conectados através de nossos cartões com fio e sem fio. No meu caso, meu cartão sem fio é WLP3S0, para instruir o NMAP para usar essa interface para digitalizar portas 22 e 80 no Linuxhint.
nmap -e wlp3s0 -p 22,80 linuxhint.com
-f: O -sinalizador f (pacotes de fragmentos) também é usado para tentar manter o processo de varredura sem ser detectado, fragmentando os pacotes, dificultando a detecção de firewalls ou IDs para detectar a varredura. Esta opção não é compatível com todos os recursos do NMAP. É importante esclarecer para usar esse recurso que você precisa de privilégios de raiz, use o sudo prefixo.
sudo nmap -p 80, ssh, 21,23,25 -f linuxhint.com
-Fonte -port / -g: Flags -Source -Port e -g são equivalentes e instruem o NMAP a enviar pacotes através de uma porta específica. Esta opção é usada para tentar trapacear o tráfego da lista de permissões de firewalls de portas específicas. O exemplo a seguir escaneará o alvo da porta 20 para as portas 80, 22, 21,23 e 25 enviando pacotes fragmentados para Linuxhint.
sudo nmap -g 20 -p 80, ssh, 21,23,25 -f linuxhint.com
-Pn:. No entanto, é útil para a descoberta do host.
NMAP -PN 234.31.1.1-23
Introdução ao mecanismo de script nmap (NSE):
O mecanismo de script nmap (NSE) é um dos recursos NMAP mais úteis para tarefas automatizadas. Ele também contém scripts incríveis para encontrar vulnerabilidades em alvos. Os usuários podem escrever seus próprios scripts ou usar um banco de dados com scripts existentes.
A sintaxe a usar NSE é o seguinte:
NMAP - -Scriptt --