
O Nmap é uma poderosa ferramenta de varredura de rede para auditorias de segurança e testes de penetração. É uma das ferramentas essenciais usadas pelos administradores de rede para solucionar problemas de conectividade de rede e varredura de portas .
O Nmap também pode detectar o endereço Mac, tipo de SO , versão do serviço e muito mais.
Este artigo explica os conceitos básicos de como usar o nmapcomando para executar várias tarefas de rede.
Instalando o Nmap
O Nmap é um programa multiplataforma que pode ser instalado em todos os principais sistemas operacionais. Ele foi lançado inicialmente como uma ferramenta apenas para Linux e, posteriormente, foi portado para outros sistemas, como BSD, Windows e macOS.
Se você preferir uma GUI à linha de comando, o Nmap também possui uma interface gráfica de usuário chamada Zenmap .
Os pacotes binários oficiais estão disponíveis para download na página de download do Nmap .
O procedimento de instalação é simples e varia de acordo com o seu sistema operacional.
Instalando o Nmap no Ubuntu e no Debian
O Nmap está disponível nos repositórios padrão do Ubuntu e Debian. Para instalá-lo, execute:
sudo apt updatesudo apt install nmapcópia decópia de
Instalando o Nmap no CentOS e no Fedora
No CentOS e outros derivados do Red Hat, execute:
sudo dnf install nmapcópia de
Instalando o Nmap no macOS
Os usuários do macOS podem instalar o Nmap baixando o pacote de instalação “.dmg” do site do Nmap ou via Homebrew:
brew install nmapcópia de
Instalando o Nmap no Windows
A versão Windows do Nmap tem algumas limitações e geralmente é um pouco mais lenta que a versão UNIX.
A opção mais fácil de instalar o Nmap no Windows é baixar e executar o arquivo exe de auto-instalação.
Você pode executar o Nmap no Windows a partir da linha de comando ou iniciando o programa Zenmap. Para obter mais informações sobre como usar o Nmap no Windows, verifique as instruções de uso pós-instalação .
Usando o Nmap
O Nmap é normalmente usado para auditar a segurança da rede, mapeamento de rede, identificar portas abertas e pesquisar dispositivos online.
A sintaxe simplificada do nmapcomando é a seguinte:
nmap [Options] [Target...]
cópia de
O exemplo mais básico de uso do Nmap é escanear um único alvo como um usuário padrão sem especificar nenhuma opção:
nmap scanme.nmap.org
Quando chamado como um usuário não root que não possui privilégios de pacote bruto, nmapexecuta a varredura de conexão TCP. O ( -sT) é ativado por padrão no modo sem privilégios.
A saída será semelhante a esta, incluindo informações básicas sobre a varredura e uma lista de portas TCP abertas e filtradas.
Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET
Nmap scan report for cast.lan (192.168.10.121)
Host is up (0.048s latency).
Not shown: 981 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
587/tcp open submission
993/tcp open imaps
995/tcp open pop3s
1025/tcp open NFS-or-IIS
1080/tcp open socks
8080/tcp open http-proxy
8081/tcp open blackice-icecap
Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds
cópia de
A opção de verificação mais popular é a verificação TCP SYN ( -sS), que é mais rápida que a opção de conexão e funciona em todas as pilhas TCP compatíveis.
-sSé ativado por padrão quando nmapé invocado como um usuário com privilégios administrativos:
sudo nmap 192.168.10.121cópia de
Para uma saída mais detalhada, use aumentar a verbosidade com -vou -vv:
sudo nmap -vv 192.168.10.121cópia de
Para executar uma varredura UDP, invoque o comando com a -sUopção ( ) como usuário root:
sudo nmap -sU 192.168.10.121cópia de
Para obter uma lista completa de métodos de varredura de portas, visite a página de documentação do Nmap .
O Nmap também suporta endereços IPv6. Para especificar um host IPv6, use a -6opção:
sudo nmap -6 fd12:3456:789a:1::1cópia de
Especificando hosts de destino
O Nmap trata todos os argumentos que não são opções como hosts de destino.Os argumentos são considerados opções se começarem com um traço simples ou duplo (
-,
--).
A opção mais simples é passar um ou mais endereços de destino ou nomes de domínio:
nmap 192.168.10.121 host.to.scancópia de
Você pode usar a notação CIDR para especificar um intervalo de rede:
nmap 192.168.10.0/24cópia de
Para especificar um intervalo de octetos, use o caractere traço. Por exemplo, para digitalizar 192.168.10.1, 192.168.11.1e 192.168.12.1:
nmap 192.168.10-12.1cópia de
Outro caractere que você pode usar para especificar os destinos é a vírgula. O comando a seguir tem como alvo os mesmos hosts que o acima:
nmap 192.168.10,11,12.1cópia de
Você pode combinar todas as formas:
nmap 10.8-10.10,11,12.0/28 192.168.1-2.100,101cópia de
Para certificar-se de que você especificou os hosts corretos antes da verificação, use a opção list scan ( -sL), que lista apenas os destinos sem executar uma verificação:
nmap -sL 10.8-10.10,11,12.0/28 192.168.1-2.100,101cópia de
Se você quiser excluir alvos incluídos no intervalo especificado, use a --excludeopção:
nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12cópia de
Especificando e Escaneando Portas
Por padrão, o Nmap executa uma varredura rápida para as 1000 portas mais populares. Essas portas não são as primeiras 1.000 portas consecutivas, mas as 1.000 portas mais usadas, variando de 1 a 65389.
Para verificar todas as portas de 1 a 65535, use a -p-opção:
nmap -p- 192.168.10.121cópia de
Cada porta pode estar em um dos seguintes estados:
- open – O programa em execução na porta responde à solicitação.
- fechado – Nenhum programa é executado na porta e o host responde às solicitações.
- filtrado – O host não responde à solicitação.
Por exemplo, para varrer apenas a porta 443, você usaria o seguinte comando:
nmap -p 443 192.168.10.121cópia de
Para especificar mais de uma porta, separe as portas de destino com uma vírgula:
nmap -p 80,443 192.168.10.121cópia de
Os intervalos de portas podem ser especificados com o símbolo de traço. Por exemplo, para varrer todas as portas UDP de 1 a 1024, você executaria:
sudo nmap -sU -p 1-1024 192.168.10.121cópia de
Todos combinados:
nmap -p 1-1024,8080,9000 192.168.10.121cópia de
As portas também podem ser especificadas usando o nome da porta. Por exemplo, para procurar a porta 22, ssh, você pode usar:
nmap -p ssh 192.168.10.121cópia de
Varredura de ping
Para executar uma verificação de ping ou descoberta de host, invoque o nmapcomando com a -snopção:
sudo nmap -sn 192.168.10.0/24cópia de
A -snopção diz ao Nmap apenas para descobrir hosts online e não para fazer uma varredura de porta. Isso é útil quando você deseja determinar rapidamente quais hosts especificados estão em execução.
Desativando a resolução de nomes DNS
O comportamento padrão do Nmap é executar a resolução de DNS reverso para cada host descoberto, o que aumenta o tempo de varredura.
Ao verificar grandes redes, é uma boa ideia desabilitar a resolução de DNS reverso e acelerar as verificações. Para fazer isso, invoque o comando com a -nopção:
sudo nmap -n 192.168.10.0/16cópia de
SO, serviço e detecção de versão
O Nmap pode detectar o sistema operacional do host remoto usando a impressão digital da pilha TCP/IP. Para executar a detecção do SO, invoque o comando com a -Oopção:
sudo nmap -O scanme.nmap.orgcópia de
Se o Nmap puder detectar o sistema operacional host, ele imprimirá algo como abaixo:
...
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.4
Network Distance: 18 hops
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds
cópia de
Normalmente, os serviços do sistema escutam em portas padrão que são bem conhecidas e reservadas para eles. Por exemplo, se a porta 22 que corresponde ao serviço SSH estiver aberta, você assumirá que um servidor SSH é executado no host. No entanto, você não pode ter certeza absoluta porque as pessoas podem executar serviços nas portas que quiserem.
Com detecção de serviço e versão, o Nmap mostrará qual programa escuta na porta e a versão do programa.
Para verificar o serviço e a versão, use a -sVopção:
sudo nmap -sV scanme.nmap.orgcópia de
...
PORT STATE SERVICE VERSION
19/tcp filtered chargen
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
...
cópia de
Você também pode verificar SO, Versões e executar traceroute em um comando usando a -Aopção:
sudo nmap -A 192.168.10.121cópia de
Saída do Nmap
Por padrão, o Nmap imprime as informações na saída padrão (stdout).
Se você digitalizar uma rede grande ou precisar das informações para uso posterior, poderá salvar a saída em um arquivo.
O Nmap fornece vários tipos de saída. Para salvar a saída no formato normal, use a -oNopção seguida do nome do arquivo:
sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txtcópia de
A opção mais popular é salvar a saída no formato XML. Para isso, use a -oXopção:
sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xmlcópia de
Outro formato útil é a saída grepable, que pode ser analisada com as ferramentas padrão do Unix como grep , awk e cut . A saída grepable é especificada com a -oGopção:
sudo nmap -sU -p 1-1024 192.168.10.121 -oG outputcópia de
Mecanismo de script Nmap
Um dos recursos mais poderosos do Nmap é seu mecanismo de script. O Nmap vem com centenas de scripts , e você também pode escrever seus próprios scripts na linguagem Lua.
Você pode usar scripts para detectar malware e backdoors, realizar ataques de força bruta e muito mais.
Por exemplo, para verificar se um determinado host está comprometido, você pode usar:
nmap -sV --script http-malware-host scanme.nmap.orgcópia de
Conclusão
O Nmap é uma ferramenta de código aberto usada principalmente por administradores de rede para descobrir portas de host e varredura.
Observe que, em alguns países, não é legal escanear redes sem autorização.
Se você tiver alguma dúvida ou observação, por favor, deixe um comentário abaixo.
Doe.
