← Blog

Nmap — Port Knocking y Escaneo Secuencial

Port knocking con nmap: escaneo secuencial de puertos con -r, -Pn, timeouts y max-retries 0 para encadenar secuencias de acceso sin tocar herramientas TCP dedicadas.

1. Operational Scope & Technical Objective

nmap es el escáner de puertos de referencia; más allá del -sV -sS clásico, sus flags de control de tiempo lo convierten en un motor para técnicas como el port knocking. El port knocking abre un servicio solo si se tocan varios puertos en una secuencia exacta; replicar esa secuencia con nmap exige escaneo secuencial (-r), sin reintentos (--max-retries 0) y con -Pn (no probar host discovery, que alteraría la secuencia). El objetivo: validar si el firewall abre un puerto tras la secuencia correcta, sin instalar herramientas extra.

2. High-Impact Syntax & Command Cheatsheet

# Port knocking sobre 3 puertos con nmap (secuencia 22 -> 23 -> 24)
for x in $(echo 22 23 24);do nmap -PN --host-timeout 201 --max-retries 0 -r -p$x 192.168.0.106;done
#   -PN (-Pn)            -> no hace host discovery; el knock es solo TCP handshake al puerto
#   --host-timeout 201   -> tiempo máx. por host; evita colgarse si el puerto filtra (drop)
#   --max-retries 0      -> cero reintentos: la secuencia debe ser exacta, un retry duplicaría el "knock"
#   -r                   -> puertos en orden secuencial, no aleatorio (crítico para la secuencia)
#   -p$x                 -> un puerto por iteración, en el orden de la lista
# Efecto: tras tocar 22, 23 y 24 en orden, si hay un daemon de knocking el puerto objetivo se abre.

# Knocking con conexiones TCP completas (nmap por defecto usa SYN; algunos daemons piden connect())
for x in 22 23 24; do nmap -Pn -sT --max-retries 0 -r -p$x 192.168.0.106; done
#   -sT -> connect() scan; reproduce mejor el handshake real de un cliente normal

3. Real-World Offensive/Defensive Scenarios

Descubrir y validar secuencias de port knocking. Si la recon sugiere un firewall con SPA/knocking (o hay un script en el objetivo que lo implementa), nmap permite probar secuencias candidatas de forma controlada: --max-retries 0 -r garantiza que el patrón de paquetes es exactamente el intentado. Tras el knock, un nmap -p <servicio> confirma si el puerto pasó de filtrado a abierto.

Evasión de detección por rate. --host-timeout y --max-retries también sirven para escaneos discretos: sin reintentos y con timeout ajustado, nmap genera menos paquetes y menos ruido, útil contra IDS que alertan por ráfagas de SYN repetidos.

Defensa. El port knocking por sí solo no es autenticación: las secuencias se pueden capturar (un sniffer pasivo ve el patrón) o forzar. La alternativa robusta es Single Packet Authorization (SPA, p. ej. fwknop) con criptografía; y sobre todo, no depender del knocking para proteger servicios críticos: cerrar el puerto en el firewall sin knocks y exigir auth real (VPN/mTLS) en el servicio. Monitoriza los logs de firewall por secuencias de puertos altos tocados en ráfaga: es la firma de un atacante probando knockings.