Archivo Linux USERS (2001) — Análisis de red con Nmap

Archivo histórico · Linux USERS · 2001 Autoría del documento original: Arturo Alberto Busleiman. Transcripción del documento de trabajo recuperado Nmap/nmap-1.doc. Fecha de modificación conservada: 2001-03-13. Recuperado para consulta privada el 11 de noviembre de 2026. El texto conserva la redacción y el contexto técnico de su época. Las capturas originales se reproducen junto a…


Image1.bmp NmapFE usado para analizar puertos específicos y saber que usuario ejecuta cada servicio.
Image1.bmp NmapFE usado para analizar puertos específicos y saber que usuario ejecuta cada servicio.
Image2.bmp NmapFE analizando puertos de /etc/services previo chequeo de que el host este funcionando
Image2.bmp NmapFE analizando puertos de /etc/services previo chequeo de que el host este funcionando
Image3.bmp NmapFE buscando que hosts de una clase C estan funcionando y resolvera las IP a nombres.
Image3.bmp NmapFE buscando que hosts de una clase C estan funcionando y resolvera las IP a nombres.
Image4.bmp El menu File (Archivo) de NmapFE. Podemos abrir y grabar logs de análisis.
Image4.bmp El menu File (Archivo) de NmapFE. Podemos abrir y grabar logs de análisis.
Image5.bmp Analizando el puerto 23 de toda una clase `C' con NmapFE
Image5.bmp Analizando el puerto 23 de toda una clase `C’ con NmapFE
Image6.bmp Si mezclamos opciones incompatibles, Nmap nos avisa, incluso desde NmapFE.
Image6.bmp Si mezclamos opciones incompatibles, Nmap nos avisa, incluso desde NmapFE.
Image7.bmp Luego de ejecutar “nmap -v localhost” obtenemos esto.
Image7.bmp Luego de ejecutar “nmap -v localhost” obtenemos esto.
Image8.bmp Parece que Nmap no pudo reconocer el OS remoto - “nmap -sS -O localhost”
Image8.bmp Parece que Nmap no pudo reconocer el OS remoto – “nmap -sS -O localhost”
Image9.bmp Un Xmas Scan especificando puertos en un rango de hosts
Image9.bmp Un Xmas Scan especificando puertos en un rango de hosts
Image10.bmp En vez de en orden, escaneamos el rango al azar.
Image10.bmp En vez de en orden, escaneamos el rango al azar.

Análisis de red con Nmap

Scanner de seguridad y herramienta de exploración de red

La alegría de algunos (o muchos) lectores puede adivinarse al encontrar entre las páginas del primer número de Linux USERS una nota a esta excelente y bien desarrollada herramienta, y tambien puedo adivinar cuanto les va a agradar saber que el mismo Fyodor (autor de Nmap) nos brindará algunos comentarios, especialmente para nosotros, que por su limitado tiempo no llegaran a publicarse en este número.

¿Qué es el Nmap?

Según la página del manual de nmap, Nmap “está diseñado para permitirle a los administradores de sistema e individuales curiosos `escanear’ (N.del.A: analizar) grandes redes para determinar que hosts se encuentran funcionando y que servicios (ftp, http, ssh, telnet, MySQL) estan ofreciendo. […]”

¿De donde proviene el hecho de que Nmap sea el `portscanner’ más utilizado por toda la comunidad Internet, tanto de Windows como Linux y Unix en general? La respuesta es muy simple: soporta muchas técnicas de análisis, a saber:

  • TCP connect() – Este es el método utilizado por defecto

  • UDP

  • TCP SYN (medio abierto)

  • ftp proxy (ataque de rebote)

  • ident-reverso

  • ICMP (barrido de ping – ECHO_REQUEST)

  • FIN

  • Barrido ACK

  • Xmas Tree (literalmente `arbol de navidad’)

  • Barrido SYN

  • Protocolo IP

  • Null Scan (Escaneo/Análisis Nulo)

Algunas de estas técnicas necesitan los privilegios del usuario root, estas se encuentran marcadas con un `*’, por lo cual Nmap debería ser usado siempre con privilegios de root. El funcionamiento de estas técnicas se puede encontrar muy bien explicado en infinidad de sitios de Internet, pero la documentación y el sitio de Nmap deben siempre ser chequeados antes que ningún otro lugar.

🔎  Archivo Linux USERS (2001) — Utilidades para textos

Nmap tiene un gran número de funciones adicionales que son de gran utilidad para el administrador de red o auditor de seguridad o Hackers, a saber:

  • Deteccion del Sistema Operativo del host siendo escaneado por huellas TCP/IP

  • Análisis Stealth (digamos, indetectable 🙂

  • Cálculo de esperas y retransmisión dinámicas

  • Análisis en paralelo

  • Deteccion de hosts no funcionando a través de pings paralelos

  • Análisis por `decoys’ (hosts intermedios)

  • Detección de puertos siendo filtrados (por el host final o uno intermedio)

  • Análisis RPC directo (no por mapeador de puertos)

  • Analisis de fragmentación

  • Flexible especificación de objetivo[s] y puerto[s]

NOTA: La palabra `Análisis’ es la que estoy utilizando para reemplazar/traducir el término en Ingles `scan’, ya que en Spanglish sería `escanear’ y no es de mi agrado utilizarla para un artículo, pero es la que deberían utilizar al hablar por IRC o donde/como fuere.

Cuando ejecutamos Nmap vamos a obtener una lista de puertos abiertos interesantes en el rango de hosts que hallamos especificado en la línea de comandos y, según las opciones adicionales utilizadas, Nmap nos informará las siguientes características del host: Sistema Operativo que utiliza, secuenciabilidad TCP, nombres de usuarios ejecutando los programas de cada puerto, el nombre DNS y algunas otras cosas.

Estas opciones las podemos combinar, por supuesto, pero habrá combinaciónes (según Fyodor) “psicóticas o no soportadas” que Nmap intenta atrapar para poder advertirle al usuario.

Una funcionalidad agregada muy recientemente a la distribución principal de Nmap es la de obtener y reportar el número de versión de los programas siendo ejecutados en los puertos abiertos, por ejemplo, la version de Bind (53), la de Apache (80), FTP (21), sendmail (25). Esta funcionalidad era antes un patch llamado Nmap+V creado por Jay Freeman (saurik) que por su gran utilidad fue incluido en la distribución principal. Es verdaderamente útil y le acelera muchísimo el proceso a un administrador al momento de buscar nuevas versiones y parches de seguridad/mantenimiento, ya que no tiene que revisar uno por uno y a mano cada programa para obtener su versión. Por supuesto, habrá casos en los que no se puede obtener la versión a través del análisis, y tambien el programa puede estar configurado para reportar un número de versión falso, para despistar a los Crackers. (no confundir con Hackers).

🔎  Archivo Linux USERS (2001) — La Programación bajo Linux

Especificando objetivos

Si no es una opción, es una especificación de host objetivo. Simple. Aunque es mejor dejar esto para el final de la línea de comandos, ya que el parser de Nmap pareciera no andar bien en este aspecto y si ponemos una opcion detrás de una especificación de host, el Nmap se confundirá y tomará esa opción como otro host más, y al no poder encontrar su dirección IP (obviamente), la ejecución se verá abortada.

Bien, el caso mas común es especificar un host o dirección IP únicos, pero se puede analizar toda una subred de direcciones IP, agregando una máscara según la Clase o toda la Internet (máscara = `0′). Una clase `C’ se analizaría utilizando /24 y una `B’ con /16.

Las clases son conocidas así:

  • Clase A: x.*.*.*

  • Clase B: x.y.*.*

  • Clase C: x.y.z.*

Entonces si decidimos analizar una clase `B’, Nmap recorrería desde x.y.0.0 hasta x.y.255.255.

Tambien podemos especificar rangos o listas para cada octeto de una direccion IP, o sea:

200.47.[20-128].* Esta especificación analizaria desde 200.47.20.0 hasta 200.47.128.255 o podríamos utilizar una lista combinada con un rango: 200.47.[20,21,22,23].[1-254] – Esta especificación analizaría desde 200.47.20.1 hasta 200.47.23.254

Esta notación tambien se puede utilizar al especificar que puertos deseamos chequear en cada host.

NmapFE: Nmap desde X

Alternativa a la línea de comandos

La gente no acostumbrada a la línea de comandos va a encontrar en NmapFE un aliado excelente, que incluso nos muestra la lista de puertos en diferentes colores, para su mejor visualización. NmapFE utiliza la muy difundida librería GTK para sus controles gráficos. En su interfaz se combinan todas las funciones y opciones de Nmap, e incluso las opciones que no podamos utilizar (si no somos root) no se mostrarán en pantalla, por lo que nos ahorrará tiempo si nos olvidamos quien somos e intentamos utilizar otros métodos de análisis, por ejemplo el SYN o Xmas. El NmapFE debe ser llamado desde X con el comando `nmapfe’. Algunas distribuciones de Linux hace tiempo ya que incorporaron Nmap entre sus paquetes por defecto, por lo que probablemente contemos ya con un vínculo en algún lugar del menu o escritorio (dependiendo del Window Manager que utilicemos). Aunque generalmente la versión incluída es vieja, pero a no preocuparse, porque en el sitio de Nmap encontrarán versiones pre-compiladas listas para instalar en formato RPM o tar.gz Por supuesto, el código fuente completo también lo encontrarán allí.

🔎  Archivo Linux USERS (2001) — Utilidades para textos

En las imágenes colocadas en este artículo podrán ver a Nmap y a NmapFE haciendo los mismos análisis, y podran comparar la forma de uso de ambos. Yo prefiero utilizar la línea de comandos ya que algunas funciones nuevas a veces no aparecen en NmapFE hasta dentro de un tiempo después.

Donde bajar Nmap

El código fuente en formato tar.gz y RPM los pueden bajar de:

http://www.insecure.org/nmap/#download

Al autor lo pueden contactar en esta dirección de E-Mail:

“Fyodor” <[email protected]>

Y al autor del parche nmap+V en:

“Jay Freeman (saurik)” <[email protected]>

Al momento de escribir esta nota, la última version de desarrollo (no-estable) se podía bajar de aquí:

http://www.insecure.org/nmap/dist/nmap-2.54BETA22-1.i386.rpm

http://www.insecure.org/nmap/dist/nmap-frontend-0.2.54BETA22-1.i386.rpm

No se recomienda a usuarios generales el usar las versiones de desarrollo. Esperen. La version 2.6 o 2.55 esta al por caer. Adios.