Nmap Avancado: Scripts NSE para Recon Interno em Lab Corporativo Simulado
Como tirar proveito real do NSE para enumeracao autorizada em redes internas simuladas, com exemplos de scripts, parsing de saida e integracao com pipelines de pentest.
Nmap nao morreu, e quem pensa o contrario nunca abriu /usr/share/nmap/scripts. O conjunto NSE traz mais de 600 scripts em Lua, cobrindo desde fingerprint de servicos legados como JD Edwards ate enumeracao de Active Directory via LDAP nao autenticado. Em laboratorio corporativo simulado, montado por exemplo com GOAD ou Ludus, o NSE substitui dezenas de ferramentas pontuais e ainda devolve XML estruturado, o que torna o tooling reproduzivel. Antes de qualquer flag exotica, o ponto inegociavel e escopo escrito: sem autorizacao formal, scanear esta tao errado quanto abrir caixa de correio alheia. Aqui assumimos lab proprio, isolado e documentado.
Comece pelo basico bem feito. Um sweep inicial com nmap -sS -p- --min-rate 5000 -oA full_tcp 10.10.0.0/24 te da inventario TCP completo em poucos minutos em /24 com latencia baixa. Depois um segundo passo focado, nmap -sV -sC -p$(cat ports.txt) -oA versioned -iL hosts.txt, executa scripts default (categoria safe e discovery) sobre as portas reais. Esse fluxo de dois estagios evita o pecado classico do -A em /16 inteiro, que entope sondas, gera ruido em SIEM e ainda deixa voce sem dados confiaveis. Se voce ainda nao tem lab montado, vale revisar Pentest Web do Zero: Montando um Lab Seguro com DVWA, Juice Shop e Burp Suite para um exemplo enxuto de cenario reproduzivel.
Onde o NSE brilha de verdade e em enumeracao de servico especifico. Para SMB, scripts como smb-os-discovery, smb2-security-mode, smb-enum-shares e smb-vuln-ms17-010 reconstroem topologia Windows sem precisar de credencial valida em muitos casos. Para LDAP, ldap-search com filtros (objectClass=user) revela conta de servico, descricoes com senha colada (mais comum do que admitem) e politicas de senha frouxas. Em ambiente AD montado tipo GOAD, esse reconhecimento alimenta diretamente o ataque descrito em Active Directory Pentest: Kerberoasting Passo a Passo em Lab GOAD, onde Kerberoasting depende de SPNs identificados ainda na fase de recon.
Saida util e saida parseavel. Use sempre -oA basename, que gera nmap, gnmap e XML simultaneamente. O XML alimenta ferramentas como nmap-parse-output, dnmap, ou um script Python proprio com python-libnmap. Em times maiores, ingerir XML em ElasticSearch e cruzar com regras Sigma transforma recon ofensivo em insumo de blue team, fechando o ciclo discutido em Purple Team na Pratica: Construindo Ciclo de Feedback Red x Blue. Evite jogar saida bruta em prompt de LLM para resumir: alem do risco de vazamento, voce perde campos como reason_ttl que sao ouro para detectar IPS no caminho.
Scripts personalizados sao o pulo do gato. Escrever NSE em Lua e mais simples que parece: um arquivo em ~/.nmap/scripts/ com portrule, action e categories ja roda. Em red team autorizado vale criar checagens para CVEs internos especificos, como configuracoes inseguras de Jenkins ou endpoints de Spring Boot Actuator expostos. Combine com http-enum, http-title e http-shellshock para varrer farms inteiras de aplicacao em segundos. Para o ciclo posterior, quando voce ja tem foothold e quer pivotar para outras VLANs, o material de Pivoting com Chisel e Ligolo-ng: Redes Segmentadas em Lab de Pentest casa bem porque assume reconhecimento ja consolidado.
Cuidado com timing e firewall stateful. -T4 quebra muitos IDS antigos, mas hoje gera alerta facil em XDR moderno. Para lab realista, ajuste --max-retries 2, --host-timeout 30m e --scan-delay 100ms em redes com NIDS Suricata. Use --source-port 53 ou --data-length 24 para testar regras frouxas que confiam em porta de origem, padrao infelizmente ainda comum. Em pentest de longa duracao, segmente alvos por janela de manutencao e registre tudo, inclusive falhas de varredura, porque elas frequentemente apontam ACLs interessantes que valem investigacao manual depois.
Por fim, NSE nao substitui pensamento. Nmap encontra portas e adivinha versoes; o trabalho de correlacionar achados, priorizar exploit path e respeitar limites do escopo continua humano. Takeaway pratico: monte um pipeline de tres camadas, sweep amplo com -sS -p-, enumeracao com -sV --script "safe,discovery" e validacao com NSE especifico por servico, sempre exportando XML para parsing posterior. Em duas horas voce mapeia melhor um /24 corporativo do que muitos scans "automaticos" pagos. E lembre, sem autorizacao escrita, nada disso e pentest, e crime.