0% encontró este documento útil (0 votos)
50 vistas43 páginas

Guía Completa de Nmap para Escaneo de Redes

Nmap es una herramienta de código abierto para explorar redes y sistemas. Permite descubrir servicios, sistemas operativos, puertos abiertos y más. Se puede usar tanto para auditoría de seguridad como para hacking.

Cargado por

ediover
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
50 vistas43 páginas

Guía Completa de Nmap para Escaneo de Redes

Nmap es una herramienta de código abierto para explorar redes y sistemas. Permite descubrir servicios, sistemas operativos, puertos abiertos y más. Se puede usar tanto para auditoría de seguridad como para hacking.

Cargado por

ediover
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Nmap

Nmap

Contenido
[ocultar]

 1 NMAP
 2 Escaneo TCP Connect Scan
 3 TCP SYN Scan
 4 TCP FIN Scan
 5 TCP Xmas Tree Scan
 6 TCP Null Scan
 7 UDP Scan
 8 Como utilizar nmap
 9 Por qué usar nmap
 10 Nmap grafico
 11 Para mas informacion

NMAP
Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos escrito
originalmente por Gordon Lyon (más conocido por su alias Fyodor Vaskovich) y cuyo
desarrollo se encuentra hoy a cargo de una comunidad. Fue creado originalmente para
Linux aunque actualmente es multiplataforma. Se usa para evaluar la seguridad de
sistemas informáticos, así como para descubrir servicios o servidores en una red
informática, para ello Nmap envía unos paquetes definidos a otros equipos y analiza sus
respuestas.
Este software posee varias funciones para sondear redes de computadores, incluyendo
detección de equipos, servicios y sistemas operativos. Estas funciones son extensibles
mediante el uso de scripts para proveer servicios de detección avanzados, detección de
vulnerabilidades y otras aplicaciones.

Escaneo TCP Connect Scan


Es un proceso de exploración de puertos abierta, y necesita el intercambio de tres vías
para poder realizar de forma completa la exploración de puertos.
Para saber si está un puerto abierto se envia la flag syn(conexion). Si está abierto te
devuelve un syn/ack y si no un rst. La conexión se realiza completa y después se termina
con un rst.
ack = aceptación rst = reset
FLAG -sT

TCP SYN Scan


Es una técnica de exploración de puertos que envía de un host a otro únicamente
paquetes de inicio de conexión de tipo SYN, por cada uno de los puertos que se quieren
analizar, para poder determinar si estos están abiertos o no.
Si está abierto te devuelve un syn/ack y si no un rst. La conexión se corta tras recibir el
syn/ack con un rst para ser menos ruidosa que el tcp connect scan. FLAG -sS

TCP FIN Scan


Se lanza el flag FIN, si te devuelve un rst/ack está el puerto cerrado, si no posiblemente
esté abierto. Este tipo de exploración de puertos es silencioso, no suele ser registrada por
el IDS(Sistema de detección de intrusos). FLAG -sF

TCP Xmas Tree Scan


Mismo sistema que tcp fin scan, pero lanzando las flags FIN, URG y PUSH. FLAG -sX

TCP Null Scan


Este tipo de exploración pone a cero todos los indicadores de la cabecera TCP, recibe un
rst si el puerto no está activo, si no no recibirá nada. FLAG -sN

UDP Scan
Para descubrir los puertos UDP. FLAG -sU

Como utilizar nmap


La mejor forma para conseguir la mayor información posible es: nmap -sS -O -sV <ip>
-O para saber la versión del sistema.
-sV para saber los servicios y sus versiones asignadas a un puerto.

Por qué usar nmap


Aprendiendo a usar nmap podemos observar que puertos tiene nuestro ordenador abierto
y que procesos están asignados a él. Si vamos poco a poco y googleamos todos los
servicios es muy posible que encontremos algun servicio malicioso controlando nuestro
ordenador. Despues es tan simple como buscar dicho programa en tu ordenador y
desinstalarlo.

Nmap grafico
Existe la posibilidad de usar nmap con interfaz de usuario llamada ZenMap

Para mas informacion


Dejo por aqui el enlace a la pagina de nmap donde podeis ver mas en profundidad la
herramienta y unos ejemplos la herramienta y unos ejemplos Tambien dejo un video en
español sobre como usar la herramienta, en concreto ZenMap.
Conociendo la herramienta de escaneo Nmap.

Compartir

Jue, 19/04/2018 - 17:23

Nmap (Network Mapper, mapeador de redes) es una sofisticada utilidad para la


exploración y auditoría de seguridad de redes TCP/IP. Ha sido diseñado para escanear de
forma rápida, sigilosa y eficaz tanto equipos individuales como redes de gran tamaño. Es
una herramienta gratuita, de código abierto bajo licencia GPL, bien documentada,
multiplataforma, disponible para consola, y que ofrece también una interfaz gráfica para
facilitar su uso. Está escrita por un hacker conocido como Fyodor, y se beneficia de las
aportaciones de una nutrida comunidad de colaboradores.

Nmap es una popular herramienta de seguridad utilizada tanto por administradores de red
y analistas de seguridad, como por atacantes. Esto es debido a la gran cantidad de
información que es capaz de descubrir de una red utilizando una gran variedad de
técnicas que la hacen notablemente efectiva y sigilosa. Para ello, Nmap explora equipos
remotos mediante secuencias de paquetes TCP/IP tanto convencionales como no
convencionales, es decir, paquetes en bruto convenientemente modificados que
provocarán o no una respuesta en el objetivo de la cual poder extraer información. Entre
esta información se encuentra, por ejemplo: el estado de los puertos y servicios, el
sistema operativo, la presencia de cortafuegos, encaminador u otros elementos de red,
así como del direccionamiento IP de la subred. El tipo de respuestas recibidas ayudan a
determinar la identidad de la pila TCP/IP implementada en el sistema operativo remoto.

La información extraída con Nmap puede ser utilizada para múltiples usos. Los más
habituales son los siguientes:

* Descubrimiento de subredes. * Análisis de penetración de redes y equipos.


* Evaluación de la implantación de cortafuegos y de la eficacia de herramientas de
detección y prevención de intrusiones.
* Descubrimiento del estado de puertos de comunicaciones. * Descubrimiento de los
servicios disponibles en un servidor, así como de sus
versiones.
* Descubrimiento del tipo y versión del sistema operativo instalado en el
equipo remoto. * Obtención de información adicional acerca de servicios y equipos, a
través
de la ejecución de scripts convenientemente elaborados.

Características

 Descubrimiento de servidores: Identifica computadoras en una red, por ejemplo


listando aquellas que responden ping.
 Identifica puertos abiertos en una computadora objetivo.
 Determina qué servicios está ejecutando la misma.
 Determinar qué sistema operativo y versión utiliza dicha computadora, (esta
técnica es también conocida como fingerprinting).
 Obtiene algunas características del hardware de red de la máquina objeto de la
prueba.

Aplicaciones típicas
Ha llegado a ser una de las herramientas imprescindibles para todo administrador de
sistema, y es usado para pruebas de penetración y tareas de seguridad informática en
general. Como muchas herramientas usadas en el campo de la seguridad informática, es
también una herramienta muy utilizada para hacking. Los administradores de sistema
pueden utilizarlo para verificar la presencia de posibles aplicaciones no autorizadas
ejecutándose en el servidor, así como los crackers pueden usarlo para descubrir objetivos
potenciales. Nmap permite hacer el inventario y el mantenimiento del inventario de
computadores de una red. Se puede usar entonces para auditar la seguridad de una red,
mediante la identificación de todo nuevo servidor que se conecte. Nmap es a menudo
confundido con herramientas para verificación de vulnerabilidades como Nessus. Nmap
es difícilmente detectable, ha sido creado para evadir los Sistema de detección de
intrusos (IDS) e interfiere lo menos posible con las operaciones normales de las redes y
de las computadoras que son analizadas.

Entornos de trabajo
Nmap puede funcionar en sistemas operativos basados en Unix (GNU/Linux, Solaris, BSD
y Mac OS X), y también en otros Sistemas Operativos como Microsoft Windows y
AmigaOS.

Interfaces gráficas
La interfaz usuario oficial es nmapfe, escrita originalmente por Zach Smith, y Nmap lo
integra desde la versión 2.2. Existen otras interfaces basadas en navegadores Web.
Algunos ejemplos son LOCALSCAN, nmap-web, y Nmap-CGI. NmapW es una interfaz
sobre Microsoft Windows escrita por Syhunt. NmapWin es otra interfaz para Windows. Sin
embargo, no ha sido actualizada desde la versión 1.4.0 lanzada en junio de 2003. Una
plataforma completa Nmap con capacidades para funcionar sobre distintos OS se
encuentra en UMIT. Su autor es Adriano Monteiro Marques. Zenmap es la interfaz oficial
para sistemas operativos GNU/Linux, Windows, Mac OS X, etc.

Historia
Nmap apareció en septiembre de 1997, en un artículo de la revista Phrack Magazine. El
código fuente venía incluido. Otros desarrollos incluyeron mejores algoritmos para
determinar qué servicios estaban funcionando, reescritura de código de C a C++, se
agregaron tipos de scan adicionales y nuevos protocolos como IPv6. Nmap 3.5 apareció
en febrero de 2004, y la versión 4.0 en enero de 2006, con cientos de mejoras. Los
cambios de cada versión se pueden encontrar en el listado de cambios de Nmap.

Controversia
De manera análoga a la mayoría de herramientas utilizadas en seguridad informática,
Nmap puede usarse para bien o para mal.

 Puede usarse solo o para preparar otro ataque, con otra herramienta de
intrusión.12
 Pero los mismos administradores de sistemas lo utilizan para buscar fallas en sus
propias redes, o bien para detectar computadoras que no cumplen con los
requisitos mínimos de seguridad de la organización (nótese que Nmap por sí solo
sólo dará una indicación básica de la vulnerabilidad de una computadora, y que
normalmente es usado en conjunto con otras herramientas y tests).
Nmap es a menudo confundido con herramientas de investigación de vulnerabilidad como
Nessus, las cuales van más lejos en su exploración de sus objetivos.

Cultura Popular

 Nmap ha sido también usado en el film The Matrix reloaded por el personaje
Trinity para penetrar en el sistema de la central eléctrica, mediante la explotación
de vulnerabilidades en el servidor SSH y en el Control de redundancia cíclica,
(descubiertas en el 2001). La interfaz gráfica de Nmap en la película suscitó el
interés de las discusiones en Internet, y fue comentado como una aparición
bastante realista de las herramientas de hacking. En esas discusiones, algunos
piensan que el personaje Trinity utilizó el ataque Control de redundancia
cíclica (descubierto en 2001) para obtener el acceso, luego de que Nmap revelara
la existencia de un servicio SSH.

 Nmap y NmapFE fueron también usados en The Listening, una película de 2006
sobre un ex funcionario de la NSA estadounidense, que deserta y organiza una
estación de contra-espionaje en los Alpes italianos.

 Partes del código fuente de Nmap pueden verse en la película Battle Royale.

 Imágenes extraídas de películas y otras alusiones a Nmap pueden verse en la


página [Link] del sitio web oficial de Nmap.

Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.

Hacking con Nmap: Zenmap - La interfaz gráfica de Nmap.

Compartir


Vie, 20/04/2018 - 14:22

Nmap es una herramienta de línea de comandos, aunque, a medida que ha ido


popularizándose, han aparecido numerosas interfaces gráficas que hacían que la
interacción con el usuario fuera más sencilla.
Anteriormente, el interfaz gráfico "oficial" de Nmap se llamaba NmapFE, pero en el año
2006 se inició un proceso para cambiar esa interfaz por otra desarrollada con tecnologías
más actuales, libres, con nuevas opciones y multiplataforma. La interfaz seleccionada fue
UMIT, un proyecto basado en Python y GTK, que se incluyó por defecto en el fichero
distribuible a partir de la versión 4.22SOC1.
Posteriormente, el equipo de desarrollo de Nmap tomó el código de UMIT, renombrándolo
a Zenmap, para seguir desarrollando por su parte la interfaz, al mismo tiempo que se
desarrollaba Nmap. El hecho de que esta interfaz esté programada en Python y GTK la
hace fácilmente transportable entre distintas plataformas, por lo que se ha convertido en
la interfaz más utilizada, cayendo muchos de los proyectos existentes anteriormente en
desuso. Para esta Guía se ha elegido Zenmap, por ser la interfaz oficial incluida por
defecto en todas las versiones distribuirles de Nmap.
En la pantalla principal de la aplicación se puede ver, en la parte superior, un cuadro de
texto llamado Target donde insertar los objetivos a analizar, seguida de un desplegable
llamado Profile donde seleccionar el perfil que queremos aplicar al análisis. Justo debajo,
el cuadro de texto Command nos permite personalizar los parámetros con que se
ejecutará el análisis.
En la parte inferior derecha se encuentran un conjunto de pestañas, donde se muestra la
información relevante. En la primera de ellas, llamada Nmap Output, se puede ver la
salida de Nmap, a medida que este la va produciendo.
En la segunda pestaña, llamada Ports/Hosts, se puede ver un extracto de los puertos o
equipos a los que afecta la selección hecha en el listado de la parte izquierda de la
ventana, donde podemos ver un listado de equipos (Hosts) o servicios (Services), según
el botón que pulsemos.
En la siguiente pestaña, llamada Topology, podemos ver un gráfico con el esquema de la
red analizada, según ha detectado Nmap.

La penúltima pestaña permite visualizar detalles del equipo seleccionado en el


listado de la parte izquierda, mientras que la última pestaña sirve de recopilación de los
análisis lanzados en la sesión actual de la aplicación, y permite añadir análisis externos
desde fichero o eliminar análisis que no sean necesarios.

Finalmente, cabe destacar la opción que permite añadir perfiles al desplegable de la


pantalla principal. Esta opción se encuentra en el menú Profile > New Profile or
Command, y nos permite, mediante una ventana con pestañas, seleccionar las opciones a
aplicar al análisis.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.

Etiquetas
 Nmap

Instalación de Nmap a partir del código fuente o paquetes precompilados.

Compartir


Vie, 20/04/2018 - 13:41

Nmap es una herramienta multiplataforma disponible en una gran variedad de diferentes


sistemas, en especial sistemas basados en UNIX. El manual de instalación de
Nmap ofrece guías de instalación para los siguientes sistemas operativos:

1. Distribuciones Linux, tanto basadas en paquetes (RPM o deb), como a partir de código
fuente.
2. Sistemas Windows actuales: XP SP1 y posteriores, Vista, 7 y Windows Server 2003 y
2008. Existe una guía de instalación para equipos con Windows 2000.
3. Sistemas Oracle/Sun Solaris.
4. Sistemas Apple Mac OS X.
5. Sistemas BSD: FreeBSD, OpenBSD y NetBSD.
6. Sistemas Amiga.
7. Sistemas IBM AIX.

Esta Guía se centra en los aspectos de instalación para distribuciones Linux basadas en
paquetes RPM (tales como Red Hat, Fedora, Suse y Mandrake), paquetes deb (como
Debian y Ubuntu), distribuciones basadas en ArchLinux, así como para instalaciones a
partir de la compilación del código fuente. También se ofrecen detalles para la instalación
en sistemas Windows.
NMAP PARA LINUX

* INSTALACIÓN A PARTIR DE CÓDIGO FUENTE

La forma tradicional y más potente de instalación de Nmap es a partir de la compilación


del código fuente. Esto permite asegurar que el usuario obtendrá la última versión
disponible, al mismo tiempo que habilita al instalador a adaptarse a la estructura concreta
directorios y librerías del sistema donde se ejecutará la herramienta.
Un ejemplo que justifica la elección de esta forma de instalación sobre las alternativas
basadas en paquetes binarios es cuando se desea que Nmap haga uso de las librerías
criptográficas OpenSSL para la detección de versiones, ya que los paquetes binarios
publicados en la web oficial no incluyen dicha funcionalidad.
La directiva que controla la ubicación de las librerías de OpenSSL es --with-
openssl=<ruta>. Se puede encontrar un listado de las directivas permitidas
en: [Link]
Con el script de compilación e instalación actual no es necesario activar expresamente el
uso de OpenSSL durante el proceso de compilación, ya que el propio script busca las
librerías en las ubicaciones más comunes. Sólo será necesario definir el uso de OpenSSL
si las librerías están en un directorio no estándar.

La instalación a partir de las fuentes es un proceso que en general no presenta


dificultades, siempre que se disponga de privilegios de administrador.

A continuación se detallan los pasos a seguir:

1) Descargar la última versión de Nmap in formato .tar.bz2 o .tgz desde la página oficial
de descargas de NMap.
2) Descomprimir el archivo descargado:
* tar.bz2: tar xvjf [Link].bz2 * tgz: tar xvzf [Link]
3) Cambiar al directorio recién creado: cd nmap-$version
4) Ejecutar el script configurador: ./configure
* Para conocer las directivas de configuración: ./configure --help
5) Construir Nmap: make
6) Escalar a súper-usuario: su o sudo
7) Instalar Nmap, documentación y archivos asociados: make install

Siguiendo estos pasos, y si no ha surgido ningún problema, Nmap quedará instalado en


/usr/local/bin/nmap. Se puede ejecutar la orden sin parámetros para comprobar que está
correctamente instalado.
INSTALACIÓN BAJO LINUX A PARTIR DE PAQUETES (RPM Y DEB)

La instalación de Nmap a partir de paquetes (binarios y de fuentes) es habitualmente la


opción más rápida y sencilla, ya que existen paquetes de Nmap en la mayoría de
distribuciones actuales. Sin embargo, existen dos inconvenientes.
Por un lado, los paquetes generados por las distribuciones, al margen de las versiones
oficiales de Nmap, suelen ser más antiguos, y a veces se tarda bastante tiempo en poner
a disposición del usuario paquetes actualizados, por lo que el nivel de obsolescencia de
estos paquetes dependerá de la política de actualizaciones seguida por cada distribución.
En el caso de ArchLinux siempre se mantiene la última versión en los repositorios.
Como contrapartida, los paquetes proporcionados por las distribuciones si que incluyen
generalmente soporte para OpenSSL por defecto, mientras que los paquetes
proporcionados por Nmap carecen de este soporte.
Los desarrolladores de Nmap han puesto a disposición de la comunidad paquetes RPM
que pueden ser utilizados en cualquiera de las distribuciones que permiten el uso de este
sistema de empaquetado. Estos paquetes se pueden descargar en el siguiente
enlace: [Link]
La instalación completa de Nmap se compone de dos paquetes binarios: el primero, que
incluye el ejecutable y los archivos de datos necesarios y el segundo, que es opcional e
incluye la interfaz gráfica, llamada Zenmap. Además, también se puede descargar un
paquete con las fuentes. En este caso se obtiene un paquete con las fuentes,
especialmente preparadas para ser posteriormente compiladas en la distribución elegida.
Para instalar los paquetes binarios, se debe abrir una consola con privilegios de
administrador en la ruta donde se han alojado los ficheros descargados, y ejecutar los
siguientes comandos:
# rpm -vhU nmap-<VERSION>.<ARQUITECTURA>.rpm
# rpm -vhU zenmap-<VERSION>.[Link]

Para utilizar los paquetes que proporcionan las distribuciones más comunes, es suficiente
con instalarlos a través de las herramientas de gestión que proporcionan las propias
distribuciones. Las ordenes para las distribuciones más comunes son:

ArchLinux: pacman -S nmap (Open)Suse: yast2 -i nmap zenmap


Debian/Ubuntu: apt-get install nmap zenmap
Fedora/RedHat: yum install nmap zenmap

NMAP PARA WINDOWS

En versiones anteriores, la versión Windows de Nmap venía sin interfaz gráfica, y carecía
de asistente de instalación y librerías de acceso a la tarjeta de red y captura de paquetes.
Afortunadamente, la versión autoinstalable actual incluye, además del propio Nmap, el
resto de aplicaciones de su suite (Ndiff, Ncat y Nping), la interfaz gráfica Zenmap, las
librerías de captura de paquetes WinPcap, y un parche para aumentar el rendimiento de
la aplicación, ya que Windows adolece de ciertas deficiencias en su API que lo hacen por
defecto más lento.

Para descargar esta versión, se debe acceder al siguiente enlace y seleccionar el paquete
que se desee descargar (versión estable o de
test): [Link]
Una vez descargado, es suficiente con ejecutar el instalador, que nos guiará a través de
todos los pasos necesarios en la instalación. A continuación se muestra una captura de
los componentes incluidos en el instalador para Windows:

Además de este paquete autoinstalable, en la dirección anterior se puede descargar


también una versión sin instalador que incluye únicamente los ficheros necesarios para
ejecutar Nmap desde consola. En este caso, para que Nmap funcione correctamente será
necesario, además de descomprimir el contenido del paquete en una carpeta de nuestra
elección, realizar los siguientes pasos:
* Ejecutar el fichero winpcap-<version>.exe incluido, para instalar las librerías de acceso a
red y captura de paquetes, en caso que no se disponga ya de las librerías instaladas.
* Ejecutar el fichero nmap_performance.reg, para evitar los problemas con la API de
Windows mencionados anteriormente.
* Si utilizamos frecuentemente Nmap, añadirlo al path del sistema para poder ejecutarlo
desde cualquier ubicación. (Ver: [Link]
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.

Descubrimiento de equipos con Nmap desde línea de comandos. - #1

Compartir

Vie, 20/04/2018 - 12:31

En esta sección se muestran los métodos y técnicas de análisis que tiene Nmap, su
descripción y funcionamiento, y ejemplos de uso y los paquetes intercambiados. Tras
esto, se muestran algunos detalles a tener en cuenta a la hora de planificar y realizar un
análisis rápido y efectivo a una red, y el modo en que estos detalles se pueden definir en
Nmap.

Harémos énfasis en la duración de esta sección a lo largo de esta serie de post, ya que
será en esta sección donde ser verá todas las posibles opciones que podemos añadir a
NMap, así mismo se detallará cada una de ellas y se dará ejemplos junto a
demostraciones gráficas y análisis de paquetes con el uso de Wireshark.

La sintaxis de Nmap es la siguiente:

nmap [Tipo(s) de análisis] [Opciones] [Objetivos]

Los tipos de análisis y las opciones generalmente comienzan con un guión ("-") a
diferencia de los objetivos del análisis. Estos objetivos se pueden definir como direcciones
IP, intervalos de direcciones, rangos CIDR o nombres de dominio (estos últimos también
aceptan notación CIDR). De este modo, son válidos los objetivos [Link],
172.16.128-130.0-255, [Link]/16 y [Link]/28.

TÉCNICAS DESCUBRIMIENTO DE EQUIPOS.

En esta fase, la primera que realiza Nmap, se examina el conjunto de equipos que se ha
pasado a Nmap para evaluar aquellos que están activos, y por tanto van a pasar a ser
analizados. Existen varios métodos, descritos a continuación, que permiten realizar esta
función.

1. NO PING (-Pn)
Esta opción evita completamente que Nmap realice la fase de Descubrimiento de
Equipos. Es útil si se desea que todos los objetivos especificados sean considerados
como activos, y de este modo se realice un escaneo de puertos en todos ellos, sin
excepción.
El uso de esta opción puede tener una notable incidencia negativa en el rendimiento de
un escaneo a gran escala, puesto que un escaneo de puertos contra una máquina
inalcanzable consumirá mucho más tiempo, debido que vencerán todos los
temporizadores de las respuestas esperadas a cada sonda enviada. Por otra parte, esta
opción puede ser de utilidad si en la red analizada se bloquea, al menos en parte, el
tráfico ICMP, que es el utilizado por defecto en la fase de descubrimiento de equipos. En
versiones anteriores de Nmap, esta opción se activaba con los modificadores -P0 o -PN.

2. LIST SCAN (-sL)


Esta opción únicamente lista los objetivos dados como argumentos, sin enviar paquete
alguno a éstos. Por defecto, Nmap realiza una resolución DNS inversa de los equipos a
analizar, así que si se selecciona este método, los paquetes relacionados con esta
resolución serán los únicos que se enviarán. Esta es una opción especialmente sigilosa
(no intrusiva) con la cual obtener información potencialmente valiosa, y que puede servir
también para comprobar que no se va a analizar ningún activo fuera de nuestro alcance.
La siguiente figura muestra el resultado textual de la invocación del comando.
3. NO PORT SCAN (-sn)
También conocida como Ping Scan o Ping Sweep. Esta opción, cuando se indica de
forma explícita, instruye a Nmap para que no realice un análisis de los puertos tras
completar una fase estándar de descubrimiento de los equipos activos dentro del listado
de equipos a analizar, a excepción de los análisis de scripts (--script) o de rutas (--
traceroute), si se indican de forma explicita. Si no se indica ninguna opción de
descubrimiento de equipos, Nmap realiza por defecto las comprobaciones que se indican
a continuación para tratar de descubrir los equipos que están activos y los que no, antes
de iniciar la siguiente fase de análisis de puertos, para que esta sea más rápida.

Esta técnica es sensiblemente intrusiva ya que envía varias sondas a los objetivos, a
diferencia del List Scan donde no se envía ninguna sonda a los objetivos, y suele
utilizarse con el mismo fin. Permite realizar un reconocimiento ligero de la red objetivo de
forma notablemente sigilosa. Esta técnica es igualmente útil para administradores que
deseen de manera sencilla contabilizar el número de máquinas activas en su red, o
monitorizar la disponibilidad de sus servidores.

Si se ejecuta sin privilegios de administración, Nmap utiliza las llamadas al sistema


connect para conectarse a los puertos 80 y 443 de los objetivos. En cambio, si el usuario
tiene permisos administrativos se envía por defecto un paquete TCP ACK al puerto 80 (-
PA), un TCP SYN (-PS) al 443 además de un paquete ICMP Echo Request y un ICMP
Timestamp Request, salvo cuando el usuario especifica otros parámetros, en cuyo caso
este sirve únicamente para indicar que no se debe continuar con la fase de análisis de
puertos. Si el objetivo es local a la propia subred, se utilizará únicamente paquetes ARP (-
PR).
En versiones anteriores de Nmap, esta técnica se activaba con el modificador -sP. En la
siguiente figura se muestra como Nmap descubre dos objetivos de forma totalmente
distinta. El primero, al encontrarse en la misma subred que el origen es descubierto
mediante una Ping ARP. Al segundo objetivo se le envían dos sondas, un paquete ICMP
Echo Request y un Ping ACK, respondiendo solamente a la primera.
** Sin root **

** Cómo root **

En las figuras anteriores se puede comprobar la diferencia entre ejecutar el mismo


comando en un equipo sobre el que se tienen privilegios de administración y en otro sobre
el que no se tienen permisos. En el segundo caso, se utilizan únicamente llamadas al
sistema, por lo que siempre se realizan conexiones completas, a diferencia de en el
equipo donde si se tienen privilegios.

4. PING ARP (-PR)


Uno de los escenarios en los que con más frecuencia se usa Nmap es para escanear
redes locales Ethernet. Estas redes suelen tener muchos host inactivos, por lo que el
proceso de escaneo basado en paquetes IP (ICMP echo request), que implica una
resolución ARP anterior en cada caso, es notablemente lento, debido a los retardos
introducidos por el sistema operativo en el envío de paquetes y al tamaño limitado de la
cache ARP.

Esta técnica utiliza un algoritmo optimizado para realizar peticiones ARP, superando así
las limitaciones de los sistemas operativos, que no están diseñados para hacer peticiones
masivas. Debido a su especial fiabilidad y rapidez, no es necesario realizar pings IP si se
recibe respuesta ARP para conocer si un equipo es alcanzable.

Esta técnica se utiliza por defecto cuando Nmap detecta que los equipos a analizar
pertenecen a su misma red local, aunque no se especifique de forma explicita. Si se
quiere evitar que se realice esta comprobación, se debe añadir el parámetro -send-ip, que
evita que Nmap tome control del análisis ARP y únicamente envíe paquetes de tipo IP.

Las siguientes figuras muestran cómo el origen envía un ARP Request a la dirección de
broadcast y el objetivo se descubre a sí mismo respondiendo con un ARP Response.
Finalmente obtiene información adicional con una consulta al DNS inverso.

5. PING TCP SYN (-PS<listado de puertos>)


Esta técnica, si no se añade ningún puerto, envía al objetivo un paquete TCP vacío con el
flag SYN activado al puerto 80. Se puede indicar un listado de puertos sobre los que
realizar este análisis, separándolos por comas o introduciendo intervalos separados por
un guión ([Link]. -PS22-25,80,443,8080).

El flag SYN indica al destino el deseo de establecer una conexión TCP por el origen. En
este punto no interesa saber si el puerto analizado está abierto o cerrado, por lo que si
Nmap recibe una respuesta de cualquier tipo del destino (ya sea un paquete RST
indicando que el puerto está cerrado, o un paquete SYN/ACK indicando que se continua
con el inicio de sesión TCP), NMap sabrá que el objetivo es alcanzable. Si por el contrario
expira el temporizador, el destino se marcará como inalcanzable.

Si el usuario no tiene privilegios, se utiliza de forma automática una alternativa que


consiste en enviar una solicitud de conexión TCP a través del sistema operativo (se utiliza
la llamada del sistema connect). Del mismo modo que para un usuario privilegiado, si se
recibe respuesta del objetivo, se sabe que este es alcanzable.

Este comportamiento, el uso de la llamada del sistema connect, también se utilizaba en


versiones anteriores de Nmap para el análisis de redes IPv6, donde se utilizaban las
funcionalidades proporcionadas por el sistema operativo. En la versión 6 se ha añadido la
funcionalidad de generación de paquetes IPv6 en Nmap, por lo que se eliminan las
restricciones de generación de paquetes impuestas por el sistema operativo para realizar
análisis.

La eficacia de esta técnica es limitada, dado que muchos cortafuegos bloquean los
paquetes SYN como medida preventiva para evitar el establecimiento de una conexión.
En este caso la efectividad puede aumentar si se usa la técnica de Ping TCP ACK,
descrita a continuación.

A continuación le añadiremos 3 puertos a la opción -PS de NMap y veremos cómo envia


paquete a los 3, pero a la primera respuesta, finaliza el escaneo ya que el host es
alcanzable.

6. PING TCP ACK (-PA<listado de puertos>)


El funcionamiento de esta técnica es idéntica a la de Ping TCP SYN, con la excepción de
que ésta envía un paquete TCP al puerto 80 con el flag ACK activado. También se
pueden añadir más puertos, indicando a continuación el listado de puertos sobre los que
realizar este análisis, con el mismo formato que en casos anteriores.
Cuando un equipo recibe este tipo de paquetes sin existir previamente una conexión
establecida, en principio deben responder con un paquete RST revelando de este modo
su presencia. Esta técnica complementa la anterior al aumentar las posibilidades de
traspasar filtros intermedios, como herramientas cortafuegos sin estado, debido a que
muchos administradores configuran solamente reglas para interceptar paquetes entrantes
SYN y no ACK. Los cortafuegos con estado suelen interceptar con éxito los paquetes
inesperados, como el enviado con esta técnica, debido a que no se corresponde con
ninguna sesión registrada previamente por un paquete SYN entrante. Una solución eficaz
es combinar esta técnica con la anterior para que ambas sondas, SYN y ACK, sean
enviadas.

En la siguiente figura se puede comprobar cómo esta técnica envía un TCP ACK al puerto
80 del objetivo como si tratara de asentir la recepción de un hipotético paquete enviado
durante una conexión establecida. El objetivo niega que haya habido conexión alguna
enviando un paquete RST, revelando con ello su presencia.

Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.

Etiquetas

Descubrimiento de equipos con Nmap desde línea de comandos - #2.

Compartir


Vie, 20/04/2018 - 12:19

Continuando esta serie, aquí estamos con la segunda parte del tema Métodos y técnicas
de análisis con Nmap desde línea de comandos, la primera parte está aquí. Cómo
anteriormente dijimos esta sección será un poco extensa ya que detallaremos cómo
funciona cada una de las posibles opciones de nmap y que realiza cada una de ellas así
cómo ventajas y desventajas.

· PING UDP (-PU<lista de puertos>)

El enfoque de esta técnica es opuesto a las anteriores, por el hecho de que se envía
paquetes a puertos que se considera estarán cerrados en el objetivo (por defecto se
utiliza el puerto 57145). Esto es así porque, al ser el protocolo UDP sin conexión, un
paquete enviado a un puerto abierto puede no recibir respuesta, aunque haya algún
servicio escuchando en el puerto al que se ha enviado la sonda. Por el contrario, si se
utiliza un puerto cerrado, el objetivo debería devolver un paquete ICMP del tipo Puerto
Inalcanzable, dejando constancia de su existencia.

Tanto la falta de respuesta como la recepción de otro tipo de ICMPs será indicativo de
destino inalcanzable. La principal ventaja de este tipo de escaneo es su capacidad de
traspasar herramientas cortafuegos que sólo filtren paquetes TCP.

Las siguientes figuras muestran cómo esta técnica envía un paquete UDP al puerto
57145, que se considera con altas posibilidades de estar cerrado. En efecto lo está y
responde con un paquete RST descubriendo con ello al objetivo.
· PINGS ICMP (-PE, -PP, -PM)

La forma más extendida de realizar un descubrimiento de equipos es mediante la utilidad


ping del sistema operativo, la cual envía paquetes ICMP Echo Request al destino y
espera una respuesta ICMP Echo Reply. Nmap es capaz de imitar esta técnica mediante
la opción -PE (Ping ICMP Echo). Dado que la mayoría de los filtros bloquean este tipo de
paquetes, Nmap implementa dos técnicas más basadas en paquetes ICMP, que consisten
en enviar paquetes de tipo ICMP Timestamp (-PP) y ICMP Addressmask (-PM), que
deberían estar activos en todos los equipos que implementen el estándar RFC792 (la
mayoría de los dispositivos existentes actualmente). Estas técnicas persiguen conseguir
el descubrimiento de equipos en caso que únicamente se encuentren filtrados los
paquetes ICMP Echo, y no se hayan tenido en cuenta otros tipos de paquetes ICMP en
las reglas de bloqueo.
Allí se ha mostrado la operatoria de esta técnica: se envían seguidos los tres tipos de
paquetes ICMP request al objetivo, recibiendo casualmente respuestas a las tres
peticiones, anunciando con ello que la máquina es alcanzable.

· PING SCTP (-PY<listado de puertos>)

El protocolo SCTP pertenece a la capa de transporte, como TCP y UDP, inicialmente


definido por el grupo SIGTRAN de IETF en el año 2000 para transportar señalización
telefónica SS7 sobre IP, con la idea de dotar el protocolo IP de algunas de las
características de confiabilidad de SS7, aunque su versatilidad le ha permitido expandirse
en otras áreas.
Proporciona, como TCP, confiabilidad, control de flujo y secuenciación, aunque permite
además el envío de mensajes fuera de orden, y es un protocolo orientado al mensaje.
Otras características importantes son: capacidad de que los extremos de la conexión
dispongan de más de una dirección IP (multihoming); capacidad para monitorizar y
seleccionar caminos según las necesidades de la red; mecanismos de validación para
evitar ataques y de notificación para evitar pérdidas o duplicados; así como multistream, o
fragmentos independientes, que eliminan el Head-of-line blocking de TCP. Utiliza un
handshake en cuatro fases (INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK).

Este tipo de análisis envía sondas SCTP INIT al puerto 80 (se pueden definir otros
puertos, pasándolos como parámetro), indicando que se quiere realizar una conexión
SCTP con el objetivo. Si el equipo está levantado, responderá o bien con un paquete
INIT-ACK (puerto abierto) o bien con un paquete ABORT (puerto cerrado). En cualquier
otro caso se considerará el equipo como inactivo.

· IP PROTOCOL PING (-PO<listado protocolos>)

Una de las técnicas más novedosas para el descubrimiento de equipos consiste en el


envío de paquetes con un protocolo concreto especificado en sus cabeceras. Por defecto,
se envían sondas con los protocolos 1 (ICMP), 2 (IGMP) y 4 (Encapsulado IP), aunque se
puede, del mismo modo que en otros casos, introducir un listado de protocolos a utilizar.
Para los protocolos ICMP, IGMP, TCP (protocolo 6) y UDP (protocolo 17), se envían
paquetes con las cabeceras propias del protocolo, mientras que para el resto de
protocolos, se envía un paquete IP sin contenido tras la cabecera IP. Este método espera
respuestas utilizando el mismo protocolo, o paquetes ICMP del tipo Protocolo
Inalcanzable, que indiquen que el equipo objetivo está vivo.

Se puede ver, como se indicaba anteriormente, que algunos de los paquetes enviados no
están correctamente formados, ya que Nmap únicamente rellena las cabeceras de los
mismos, sin introducir datos válidos en ellos.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.

Etiquetas
 Nmap

Hacking con Nmap - Técnicas basadas en el escaneo de puertos #1.


Compartir

Vie, 20/04/2018 - 11:55

Anteriormente (Ver aquí y ver aquí) estudiamos cómo descubrir y ver el estado de los
equipos que deseamos escanear dentro de una red usando diversas técnicas y órdenes
desde la línea de comandos. Hoy veremos cómo poceder luego de tener identificada
nuestra máquina o host al que deseamos realizar un escaneo usando técnicas que se
basan en el escaneo especifico de puertos.

· TCP SYN Scan (-sS)

Esta técnica también es conocida como SYN Stealth o Half-Open Scan. Es la técnica más
popular y la utilizada por defecto, permitiendo el escaneo de miles de puertos por segundo
en redes rápidas sin presencia de herramientas cortafuegos. Esta opción es relativamente
sigilosa y rápida, ya que no finaliza las conexiones que abre, así como fiable al no
depender, como otras técnicas avanzadas, de las particularidades de las diferentes
implementaciones de la pila TCP/IP presentes en plataformas específicas. Permite por
tanto una diferenciación clara entre el estado abierto, cerrado o filtrado de un puerto.

Este análisis es el utilizado por defecto, por lo que si lanzamos Nmap sin parámetros, y
tenemos los permisos de administración necesarios para poder ejecutarlo, este será el
análisis realizado.

Una adición muy útil es agregar la revisión de versiones para cada puerto abierto
encontrado, combinándola con la opción -sV, para tratar de identificar el tipo y la versión
de los servicios descubiertos.
Tras realizar un análisis con esta técnica, los puertos pueden encontrarse en tres estados:
abiertos (si se ha recibido un paquete SYN/ACK como respuesta a la sonda enviada),
cerrados (si se ha recibido un paquete RST como respuesta) o filtrados (si no se ha
recibido nada o se recibe algún paquete de tipo ICMP Inalcanzable).

En la siguiente figura se muestra cómo esta técnica no negocia una conexión de forma
completa. Por ejemplo, para el puerto abierto de ftp del objetivo, no se finaliza
completamente el proceso habitual tree-way handshake (sólo SYN y SYN-ACK).
· TCP CONNECT SCAN (-sT)

Esta técnica se utiliza por defecto cuando no es posible la utilización de SYN Scan (-sS),
cuando el usuario no tiene suficientes privilegios. Para su funcionamiento, usa las
llamadas de alto nivel del sistema operativo para crear los paquetes (concretamente la
llamada connect()) y para obtener la información de los intentos de conexión, al igual que
cualquier otra aplicación.

Esta técnica es menos eficiente que SYN Scan porque Nmap no toma el control de los
paquetes enviados, como hace en la mayoría de las otras técnicas, y en segundo lugar
porque termina todas las conexiones, en lugar de hacer un half-open reset. Por este
motivo, es menos sigilosa, siendo probable que un IDS/IPS registre los intentos de
conexión.

Del mismo modo que en la técnica SYN Scan, según esta técnica los puertos pueden
estar en tres estados: abierto, cerrado y filtrado. Las siguientes figuras muestran cómo
esta técnica negocia una conexión de forma completa con aquellos puertos que han
respondido. Por ejemplo, para el puerto abierto de SSH del objetivo, se muestra el
proceso de establecimiento de conexión tree-way handshake (SYN, SYN-ACK, ACK).
· UDP SCAN (-sU)

No todos los servicios populares corren sobre TCP. Los ejemplos más comunes de
servicios UDP son los protocolos DNS (puerto 53), SNMP (puertos 161 y 162) y DHCP
(puertos 67 y 68). En ocasiones estos puertos son ignorados en los análisis y auditorías
debido a que el escaneo UDP es en general más complejo y lento. Esto es un error,
debido a que los servicios UDP pueden ser explotados por atacantes del mismo modo
que los servicios TCP. Esta técnica puede ayudar al inventario de estos puertos,
pudiéndose combinar al mismo tiempo con otras técnicas de escaneo TCP, como SYN
scan (-sS).
Con esta técnica es posible obtener puertos en cuatro estados distintos: abierto (significa
que se ha obtenido una respuesta del puerto analizado), cerrado (si se obtiene una
respuesta de tipo ICMP Puerto Inalcanzable), filtrado (si se obtiene cualquier otro tipo de
paquete ICMP inalcanzable) y abierto/filtrado, que indica que no se ha recibido ningún tipo
de respuesta desde el puerto analizado, a pesar de haber lanzado varias retransmisiones.

Como se ha indicado anteriormente, el análisis del protocolo UDP es más complejo. El


primer problema que encontramos es que es normal que los puertos UDP no respondan a
paquetes que les llegan, ya que el protocolo no está orientado a conexión, y los
programadores suelen utilizar en este caso estructuras personalizadas para comunicarse
con los puertos UDP, que Nmap desconoce en muchos casos, no pudiendo generar
paquetes que permitan obtener una respuesta.

Otro problema consiste en que hay máquinas (entre ellas algunas máquinas Linux y
Solaris) que tienen definida una tasa máxima de respuestas ICMP Puerto Inalcanzable a
generar (e.g. no generar más de 1 paquete de este tipo por segundo). Para evitar que el
objetivo deseche paquetes que no pueda procesar, Nmap es capaz de detectar la tasa
máxima de envío de este tipo de paquetes y adaptar su velocidad para que los resultados
del análisis sean exactos. Esto puede hacer que sea necesario invertir demasiado tiempo
en esta técnica si se realiza un análisis de todos los puertos disponibles.

Otro problema es el estado abierto/filtrado, que no asegura que un puerto esté abierto o
cerrado. La única forma de identificar con relativa seguridad si está abierto o no un puerto
UDP es utilizando -sUV para determinar la versión de lo que en el escucha. Al identificar
un puerto con el estado abierto/filtrado, la opción -sV envía diferentes tipos de solicitudes
UDP conocidas en busca de obtener una respuesta que permita identificar lo que en él
escucha. Si ninguna de las solicitudes enviadas genera una respuesta se mantendrá el
estado abierto/filtrado del puerto, en caso contrario, se tendrá un buen indicativo del tipo
de aplicación y su versión. Cabe destacar que la utilización de este modificador en los
análisis aumenta considerablemente su tiempo de ejecución, al tener que enviar a cada
puerto analizado sondas adicionales para cada uno de los tipos de servicio reconocidos
por Nmap.

Las siguientes figuras muestran cómo al enviar sondas a 5 puertos UDP, cuatro
responden que no son alcanzables. Nmap considera que el otro que no ha respondido o
bien ha sido filtrados o bien está abierto.
· IDLE SCAN (-sI)

Esta técnica avanzada explota una “vulnerabilidad” de muchas implementaciones de la


pila TCP/IP, consistente en la posibilidad de predecir (simple incremento en peticiones
consecutivas) el identificador de fragmento de los paquetes IP (IP ID). Con ello se permite
extraer información mediante el análisis de las secuencias predecibles del identificador
(IPID) de los paquetes IP. Ni su fundamento ni su funcionamiento son triviales, por lo que
una descripción completa escapa al propósito de esta sección.

Básicamente esta técnica permite escanear un objetivo sin enviarle un solo paquete
utilizando la propia dirección IP origen, por lo que se considera la técnica más avanzada y
sigilosa de todas las presentes en Nmap. Para ello es necesario utilizar un tercer equipo,
denominado zombie, cuya IP tomaremos para que aparezca como fuente de las sondas
desde el punto de vista de la máquina objetivo.

En este caso, se pueden obtener dos estados de puertos distintos: abierto (si se detecta a
través del zombie que ha existido respuesta), o cerrado/filtrado (si no se detecta
respuesta a través del zombie, bien porque el objetivo no responde al zombie, o bien
porque el objetivo responde con un paquete RST, que es ignorado por el zombie).

El uso de esta técnica es altamente controvertido, desde el momento en que ésta usa sin
autorización los recursos de una máquina (zombie), que además se registraría falsamente
por herramientas IDS/IPS como el origen de un proceso de escaneo de puertos. Para su
correcto funcionamiento es necesario que la máquina zombie sea alcanzable y su
implementación TCP/IP genere una secuencia de identificadores IP predecible. Debido a
que esta técnica escanea un objetivo desde el punto de vista de una tercera máquina, es
posible determinar de este modo las relaciones de confianza entre distintas máquinas.
Para ello es posible indicar una lista de equipos zombie que pudieran ser de confianza del
objetivo.

Para tratar de encontrar un zombie que cumpla con los requisitos, se puede escanear una
subred utilizando los parámetros siguientes:

nmap -P0 -sN -n -v -p 80 --scanflags SYN,ACK <subred_objetivo>

Esta comando envía los mismos paquetes (TCP con SYN+ACK) que usa Idle Scan al
inicio del proceso. Cualquier objetivo válido debería responder con un paquete RST y por
tanto deberá aparecer el puerto 80 como no filtrado.

El flujo de mensajes de la siguiente figura se presenta la traza de mensajes observable


desde el origen ([Link]). Inicialmente el origen recoge información del IPID de la
máquina zombie ([Link]).

Inmediatamente después inicia la fase de descubrimiento del objetivo, enviando paquetes


al zombie con la dirección origen falsificada (la del objetivo: [Link]).

Seguidamente con una sonda al zombie determina si el objetivo es o no alcanzable


(analiza el IPID). Ahora comprueba nuevamente el IPID del zombie e inicia el escaneo del
puerto TCP445 del objetivo enviando un paquete SYN con la dirección origen falsificada.

Finalmente busca si se ha incrementado el IPID para determinar el estado del puerto 445,
en este caso abierto.
El siguiente flujo de mensajes muestra la traza de mensajes observable desde el objetivo
([Link]). Como se puede ver, todos los mensajes que recibe el objetivo
aparentemente vienen de la máquina zombie ([Link]). Para el objetivo es como si
el zombie tratara de establecer una conexión por dos veces al puerto TCP445. A la vista
de esta traza es imposible averiguar que es otra máquina la que está causando este flujo
de mensajes.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.

Etiquetas
 Nmap

Hacking con Nmap – Técnicas basadas en el escaneo de puertos #2.

Compartir


Vie, 20/04/2018 - 18:32

En un post anterior, explicamos algunas de las técnicas que utiliza Nmap para sacar
información de un host a través de los puertos que este tenga, ya sean abiertos, cerrados
o a la escucha. En este segundo post les mostraremos otras técnicas basadas en el
escaneo de puertos que nos pueden resultar muy útiles al momento de realizar un análisis
de seguridad a una red. · TCP ACK SCAN (-sA)También conocida como ACK Stealth,
esta técnica se diferencia del resto porque sólo determina si los puertos del objetivo se
encuentran filtrados o no, en lugar de definir si están abiertos o cerrados. Por ello se
utiliza para averiguar el conjunto de reglas que aplica una herramienta cortafuegos sobre
el objetivo, determinando igualmente cuándo estas reglas son con estado y a qué puertos
afectan. Esto se realiza enviando una sonda TCP con el flag ACK activo, por lo que un
puerto no filtrado debería responder con un paquete RST. Según las respuestas recibidas,
un puerto puede estar en estado no filtrado (si se recibe una respuesta RST), o filtrado (si
se recibe un error ICMP inalcanzable o no se recibe ninguna respuesta, incluso tras varias
retransmisiones). La siguiente figura muestra cómo el origen envía ACKs a cuatro puertos
del objetivo, recibiendo sólo paquetes RST (del puerto 443, 444 y 3389). De este modo
Nmap comprueba que al menos estos tres puertos no están siendo filtrados.
· TCP Null, FIN, Xmas scans (-sN, -sF, -sX)

De manera similar a la anterior técnica, éstas se basan en enviar sondas TCP


con distintos flags activados, pero se aprovecha de una indefinición* en el estándar RFC
793 para provocar una respuesta en el objetivo que determine si un puerto está abierto o
cerrado. El fundamento de estas técnicas reside en que los puertos cerrados de equipos
compatibles con esta RFC responderán con un RST a cualquier paquete que no contenga
un flag SYN, RST o ACK, mientras que no emitirán respuesta alguna si el puerto está
abierto.

- * RFC 793, página 65: “Si el estado del puerto destino es CERRADO [...] un
segmento entrante que no contenga un RST causará el envío de un RST como
respuesta.” La siguiente página trata el caso del envío de paquetes a puertos
ABIERTOS sin alguno de los bits SYN, RST o ACK activados, estableciendo que:
“[...] no es probable que se reciba uno, pero si es el caso, se debe desechar el
segmento y volver.”

La técnica Null Scan (-sN) envía una sonda sin ningún flag activado, la técnica FIN Scan
(-sF) activa únicamente el flag FIN y, finalmente, la Xmas Scan (-sX) activa los flags FIN,
PSH y URG. Estas técnicas son eficaces traspasando algunas herramientas cortafuegos
sin estado y encaminadores con filtro de paquetes. Estas cuatro técnicas utilizan
conjuntos de flags determinados, aunque cualquier combinación de flags TCP es posible
si se utiliza el modificador --scanflags. Según las respuestas obtenidas, Nmap clasifica los
puertos en:

abiertos/filtrados (si no se recibe ninguna respuesta), cerrados (si se recibe un paquete


RST) o filtrados (si se recibe algún tipo de error ICMP inalcanzable). Además, son
ligeramente más sigilosas que la técnica básica SYN Scan, aunque actualmente la mayor
parte de las herramientas IDS/IPS sea posible configurarlas ara detectar estos tipos de
escaneo. Sin embargo, los resultados no serán fiables en sistemas Windows, Cisco, BSDI
y OS/400, debido a que no siguen al pie de la letra el RFC 793 y envían paquetes RST
esté el puerto abierto o no. Los resultados en sistemas Unix si que suelen ser fiables y
correctos. Los resultados obtenidos para las cuatro técnicas son prácticamente idénticos.
A modo de ejemplo sólo se representa una de ellas, -sX. En esta figura se puede observar
cómo el origen envía 5 paquetes TCP con los flags FIN, PSH y URG activados a los 5
puertos indicados del objetivo (del 21 al 25). De ninguno recibe un RST, por lo que Nmap
sabe que están abiertos.
· TCP Maimon scan (-sM)

Esta técnica se basa, como las anteriores, en enviar sondas con flags TCP activados (en
este caso los flags FIN y ACK) a los objetivos. Del mismo modo que los escaneos NULL,
FIN y Xmas, los puertos pueden encontrarse en estado abierto/filtrado, cerrado o
filtrado. Este análisis surgió en 1996 de un problema detectado en la mayoría de
sistemas derivados de BSD de la época, que no seguían el estándar RFC 793, y
no devolvían nada si el puerto bajo análisis estaba abierto. El estándar indica que,
ante pruebas como las que ejecuta este tipo de análisis, se debe devolver un
paquete RST independientemente de si el puerto está abierto o cerrado. Aunque en 1996
fue bastante útil, actualmente este comportamiento es muy inusual, por lo que un análisis
de este tipo probablemente mostrará todos los puertos como cerrados y por lo tanto no
daremos explicación ni ejemplos.

· TCP Window scan (-sW)

Esta técnica es exactamente la misma que ACK scan, con la salvedad de que es capaz
de diferenciar entre puertos abiertos y cerrados en lugar de sólo filtrados y no filtrados.
Para ello, se basa en explotar una particularidad de algunas implementaciones de TCP/IP,
las cuales responden a la sonda ACK con un paquete RST con valores del campo
Window distintos, dependiendo de si el puerto está abierto o cerrado. Dependiendo de las
respuestas obtenidas, Nmap clasifica los puertos analizados en: abiertos (si se recibe un
paquete RST con valor de ventana distinto de cero), cerrados (si se recibe un paquete
RST con valor de ventana igual a cero), o filtrados (si se recibe un error de tipo ICMP
inalcanzable o no se recibe ninguna respuesta). Los resultados obtenidos con esta técnica
no son siempre fiables, ya que dependen de detalles muy particulares no implementados
en la totalidad de los sistemas existentes. Así, si todos los puertos aparecen como
cerrados, muy probablemente el sistema no tendrá este comportamiento. Si obtenemos la
mayoría de puertos cerrados, y unos pocos abiertos, es probable que el objetivo tenga
este comportamiento y los resultados sean fiables. En algunos casos también se
ha comprobado el efecto contrario, detectando Nmap la mayoría de puertos abiertos
y unos pocos cerrados. En este caso, esos puertos que se detectan como cerrados
son los que realmente están abiertos. Dada la relativa fiabilidad de esta técnica se ha
decidido no incluir ningún ejemplo esta entrada.

· SCTP INIT Scan (-sY)

El protocolo SCTP es una alternativa relativamente nueva a TCP y UDP, que se


ha descrito brevemente en esta entrada. La técnica SCTP INIT Scan es el equivalente
para el protocolo SCTP de la técnica TCP SYN Scan, ya que lanza sondas de inicio de
conexión a los objetivos. Es poco intrusiva y sigilosa, ya que, al igual que la técnica TCP
SYN Scan, nunca acaba de iniciar las conexiones que solicita. También es bastante
rápida, permitiendo el análisis de miles de puertos por segundo en redes rápidas y que
no estén limitadas por cortafuegos restrictivos. Esta técnica envía una sonda SCTP con
un fragmento de tipo INIT, como en el inicio de una comunicación SCTP normal, y espera
una respuesta. Una respuesta con un fragmento de tipo INIT-ACK indica que el puerto
está abierto, mientras que un fragmento de tipo ABORT en la respuesta indica que el
puerto está cerrado. Si no se recibe respuesta tras varias retransmisiones, o se recibe un
código de error ICMP Inalcanzable, el puerto se considera filtrado.

Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios. Síguenos en Facebook, Twitter, unete a nuestra charla en
Riot, únete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales.

También podría gustarte