nmap: port scanning e detecção de serviços em um pentest
Nmap · NPSL
O nmap dispensa apresentações e ganha uma mesmo assim, porque a maioria usa talvez cinco por cento dele. Ele descobre hosts, enumera portas, identifica serviços e versões, e roda uma engine de scripting que faz de tudo, do parsing de banner a verificações de vulnerabilidade.
Instalação
# Debian / Ubuntu / Kali
sudo apt install nmap
# macOS
brew install nmap
# RHEL / Fedora
sudo dnf install nmap Comandos principais
# rápido, top portas, versões de serviço
nmap -sV --top-ports 1000 -T4 -oA scan example.com
# faixa TCP completa
nmap -p- -sV -T4 -oA fullscan 10.0.0.0/24
# SYN scan — precisa de root, mais silencioso e rápido
sudo nmap -sS -p- -T4 -oA syn 10.0.0.0/24
# UDP, o lento que acha o que todo mundo perde
sudo nmap -sU --top-ports 100 -oA udp 10.0.0.0/24
# scripts padrão mais detecção de versão
nmap -sC -sV -oA default example.com
# específicos de TLS
nmap --script ssl-enum-ciphers -p 443 example.com O -oA grava os três formatos de uma vez — normal, greppable e XML. Sempre use: o XML é o que os importadores leem, e você não consegue regerá-lo depois sem reescanear.
Saída
O XML (scan.xml) é o legível por máquina:
<port protocol="tcp" portid="22">
<state state="open" reason="syn-ack"/>
<service name="ssh" product="OpenSSH" version="6.6.1p1" method="probe"/>
</port> Onde ele entra no Tandera
O nmap roda na fase de active_scan apenas do recon_web_full — nunca no recon_web_lite, que tem teto NonIntrusive. Ele roda depois que o cdncheck classificou o espaço de endereços, então a lista de alvos exclui faixas de CDN e de provedor compartilhado.
O CLI tandera também importa XML do nmap diretamente:
nmap -sV -oX - example.com | tandera import --auto-dedupe Usando em um pentest
-T4 nem sempre é seguro. Contra alvos industriais ou embarcados frágeis ele causa quedas. -T2 em qualquer coisa sobre a qual você foi avisado, e combine o timing com o cliente por escrito.
Detecção de versão é onde estão os findings. Uma porta aberta não é um finding. OpenSSH 6.6.1p1 é — é uma versão com problemas conhecidos que você pode citar. Sem -sV você tem um inventário, não resultados.
UDP é onde vivem os serviços esquecidos. É lento o bastante para a maioria dos testadores pular, que é exatamente por que SNMP com community string padrão ainda é encontrável em 2026.
Guarde o XML. É sua evidência de que o scan aconteceu, quando, e o que viu. Clientes contestam findings; XML com timestamp resolve.