Todos los posts
Escaneando con Nmap: obteniendo información
Security Nmap — Parte 2
EN ES

Escaneando con Nmap: obteniendo información

Estrategia práctica de escaneo con Nmap: fingerprinting de servicios, OS detection, timing y flags avanzados.

5 min read por b4rt

Serie: Nmap

  1. 1. Técnicas de escaneo de puertos con Nmap
  2. 2. Escaneando con Nmap: obteniendo información

Obteniendo información con Nmap

La secuencia de comandos que vamos a utilizar es más una recomendación que un estándar. La estrategia es la siguiente:

  1. Hacer un escaneo por defecto, que utilizará el top 1000 de los puertos de Nmap.
  2. Hacer el escaneo de los 65535 puertos.
  3. Una vez tengamos mapeados los puertos abiertos, listarlos y utilizar otros argumentos como -sV, -O, -sC.
  4. Con las versiones, el sistema operativo y las características de cada puerto y servicio, utilizar los scripts de Nmap.

Paso 1 — Escaneo por defecto

El primer paso es realizar un escaneo por defecto de la lista de los puertos más frecuentes de Nmap:

nmap -Pn 192.168.1.28 -vv --reason

Flags utilizados:

FlagDescripción
-PnCuando sabemos que el host está activo, para que Nmap no vuelva a comprobar eso
-vvNivel de verbosidad 2 en la salida del comando
--reasonMuestra información sobre por qué el puerto se encuentra en ese estado

En el resultado del escaneo rápido podemos observar:

  • El escaneo -sS fue el utilizado (no se completó el saludo de 3 vías).
  • Con --reason vemos la justificación del estado de cada puerto.
  • Se detectaron 3 puertos abiertos y uno filtrado.

Paso 2 — Escaneo completo de los 65535 puertos

El siguiente paso es realizar el escaneo a todos los puertos:

nmap 192.168.1.28 -T4 -p 1-65535 -vv --reason

Flags adicionales:

FlagDescripción
-T4Control de timing. Por defecto se usa T3. Mayor número = más agresivo y menos preciso
-p 1-65535Rango de puertos a escanear
--openMuestra solo los puertos abiertos, útil para reducir tiempo en escaneos grandes

En el resultado podemos ver que, a parte de los 3 puertos anteriores, se detectó uno nuevo (48500), abierto pero sin nombre de servicio identificado.


Paso 3 — Fingerprinting de servicios y OS detection

Una vez identificados los puertos abiertos, los analizamos con -sV y -O para obtener versiones y sistema operativo:

nmap 192.168.1.28 -p 21,22,80,48500 -sV -O -vv --reason

Flags:

FlagDescripción
-pPuertos separados por comas
-sVNmap hace fingerprint a los puertos para obtener versiones y nombres de servicios
-OIntenta identificar el sistema operativo y la versión

Observaciones del resultado:

  • El fingerprint identificó que en el puerto 48500 corría PostgreSQL.
  • Se identificó que era un sistema Linux.
  • El servicio OpenSSH ayudó a determinar que era concretamente un Debian.

Control de timing avanzado

Debemos tener en cuenta el tiempo al realizar el escaneo y combinar los parámetros correctamente. Dos flags muy útiles:

FlagDescripción
--host-timeoutTiempo máximo que le daremos a Nmap para obtener información del host. Menor tiempo = escaneo menos exacto
--max-retriesCuántas veces Nmap preguntará por un puerto determinado

Algunos ejemplos:

# Escaneo con timeout de 60 minutos y 10 reintentos
nmap 192.168.1.28 --host-timeout 60m --max-retries 10 -vv --reason

# Escaneo completo de puertos con 2 horas de timeout
nmap 192.168.1.28 -p 1-65535 --host-timeout 120m --max-retries 5 -vvv --reason

Templates de timing de Nmap

Utilizar bien los tiempos es vital, pues por apresurarnos Nmap podría no trabajar correctamente. Además, no siempre queremos usar -T5 — es un escaneo fácilmente detectable y, al ser muy rápido, tiende a fallar si la red no es la adecuada. El autor de Nmap recomienda usar -T4.

TemplateNombreDescripción
-T0ParanoidMuy lento, diseñado para evadir IDS
-T1SneakyLento, para evadir detección
-T2PoliteMás lento que el normal para reducir carga en la red
-T3NormalComportamiento por defecto
-T4AggressiveMás rápido, asume una red rápida y fiable
-T5InsaneExtremadamente rápido, puede perder información

En el siguiente post veremos cómo utilizar los Scripts de Nmap (NSE) para realizar análisis más avanzados, pues como explicaba al inicio, Nmap no solo sirve para obtener información…

Etiquetas: #nmap #hacking #seguridad #puertos #tcp #pentest #linux #fingerprint

Comentarios

Stay in the loop

New posts about Linux, debugging, and systems programming. No noise, no spam — just signal.