domingo, 21 de junio de 2015

Nmap con vulscan

¿Qué es vulscan?

Vulscan es un script para Nmap que permite convertirlo funcionalmente en un escáner de vulnerabilidades.

¿Cómo se instala?

El primer requisito es que deberemos tener instalado Nmap como expliqué en un artículo anterior. Tras esto realizamos lo siguiente teniendo privilegios de root:
  1. cd /usr/share/nmap/scripts/
  2. wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz
  3. gunzip nmap_nse_vulscan-2.0.tar.gz
  4. tar -xvf nmap_nse_vulscan-2.0.tar
  5. cp -r vulscan/* /usr/share/nmap/scripts/
  6. rm -rf vulscan
  7. rm -f nmap_nse_vulscan-2.0.tar

¿Que son las bases de datos de vulnerabilidades?

Para que Vulscan pueda funcionar correctamente necesitamos las bases de datos, que contienen un listado con todas las vulnerabilidades a testar. En el paso anterior, dentro del paquete nmap_nse_vulscan-2.0.tar.gz tenemos unos archivos .csv que son dichas bases de datos (cve.csv, exploitdb.csv, openvas.csv, osvdb.csv, scipvuldb.csv, securityfocus.csv, vulscan.nse, securitytracker.csv y xforce.csv)

¿Cómo se usa?

Para usarlo tenemos que ejecutarlo como si fuese un script al uso cuyo nombre es vulscan.nse. Por ejemplo:
root@metempsicosis:/usr/share/nmap/scripts# nmap -sV --script=vulscan.nse www.agapornizate.es

O también podemos lanzarlo especificando solo 1 base de datos:
root@metempsicosis:/usr/share/nmap/scripts# nmap -sV -oX salida.xml --script-args vulscandb=securitytracker.csv --script=/usr/share/nmap/scripts/vulscan/vulscan.nse www.agapornizate.es

Opinión

Tras probarlo ahora en 2015 puedo ver que es del todo ineficaz. El motivo es que las bases de datos que tiene están completamente desactualizadas (corresponden a 2013) y es muy tedioso actualizarlas y mantenerlas nosotros mismos. Sé que podemos encontrar en internet bases de datos más actualizadas pero no le veo una gran ventaja con respecto al uso de Nmap con los script de categoría vuln (--script=vuln) que además tiene detrás una comunidad muy potente que mantiene y actualiza estos scripts y si la desventaja ya comentada.

viernes, 19 de junio de 2015

Nmap con script (NSE)

Hasta ahora hemos visto como utilizar Nmap para escanear puertos, descubrir equipos y algunos casos de uso pero esto es solo una pequeña parte de toda la potencia de Nmap. Nmap permite la creación y ejecución de tareas automáticas por medio de scripts, ampliando las funcionalidades originales y pudiéndose utilizar como detectores de vulnerabilidades, para realizar ataques por fuerza bruta o denegación de servicio,...etc. Estos script corresponden a una nueva funcionalidad denominada Nmap Scripting Engine (NSE) y están basados en el lenguaje interpretado Lua.
La comunidad de Nmap tiene disponible una cantidad importante de script que podremos utilizar para distintos fines. Nmap los va incluyendo de manera regular tanto en su SVN como su respectiva documentación.
En general los scripts están agrupados por categorías funcionales. Estas categorías las define cada desarrollador cuando diseña el script y las más comunes son:
  • safe: Scripts muy poco intrusivos que se encargan de descubrir la red.
  • discovery: Scripts que se encargan de descubrir equipos, no garantiza que estos sean silenciosos.
  • vuln: Scripts que comprueban vulnerabilidades ya descubiertas.
  • intrusive: Scripts altamente intrusivos y por lo tanto fáciles de detectar. Pueden saturar la red o los objetivos.
  • external: Scripts que necesitan recursos de red o bases de datos de terceros.
  • brute: Scripts que obtienen de información por fuerza bruta.
  • dos: Scripts que utilizan ataques DoS para sus fines.
  • auth: Scripts que comprueban las autenticaciones en busca de fallas de seguridad.
  • fuzzer: Scripts que mandan paquetes con errores para detectar vulnerabilidades.
  • malware: Scripts que intentan explotar fallos de seguridad por malware instalado en el objetivo.
  • exploit: Estos scripts tienen como objetivo explotar activamente alguna vulnerabilidad.
Para comprobar que categoría tiene un script basta con que lo abramos y chequeemos el apartado de categories. Por ejemplo para ssl-heartbleed.nse en el apartado categories tenemos lo siguiente:

categories = { "vuln", "safe" }

Esto significa que el script ssl-heartbleed pertenece a las categorías vuln y safe y por esto se lanzará en el caso de seleccionar un lanzamiento de todos los script con la categoría vuln.
Como ejemplo podríamos lanzar solo el script ssl-heartbleed.nse o todos los relativos a la categoría vuln de la siguiente manera:

root@metempsicosis:~# nmap -sV -p 443,22,38080,48080 --script=ssl-heartbleed --script-args vulns.showall www.agapornizate.es



root@metempsicosis:~# nmap -sV -p 443,22,38080,48080 --script=vuln --script-args vulns.showall www.agapornizate.es


Como podemos comprobar, al lanzar Nmap con --script=vuln además del script ssl-heartbleed se lanzan el resto de script pertenecientes a la categoría vuln.
Además podemos actualizar los scripts de Nmap de manera automática para que se incluyan los que no tengamos de las siguientes maneras:
  • Con el comando nmap --script-updatedb
  • Realizando un script que recorra todos los archivos del directorio https://svn.nmap.org/nmap/cripts/ y se los descargue con wget.
Como nota adicional, puede haber script que utilicen nuevas versiones de Lua o la librería tsl para Lua. Si esto es así no necesitaremos actualizar todo Nmap, bastará con actualizar nse_main.lua e instalar tls.lua. A continuación pongo ejemplos de cómo actualizar cada una de las partes de Nmap.
1.-Para actualizar nse_main.lua:
  • Entramos en /usr/share/nmap
    • root@metempsicosis:~# cd /usr/share/nmap
  • Realizamos un backup del archivo original nse_main.lua:
    • root@metempsicosis:~# cp nse_main.lua nse_main.lua.orig
  • Descargamos el último nse_main.lua disponible
    • root@metempsicosis:~# wget https://svn.nmap.org/nmap/nse_main.lua
2.-Para una nueva librería como por ejemplo tls.lua:
  • Entramos en el directorio /usr/share/nmap/nselib
    • root@metempsicosis:~# cd /usr/share/nmap/nselib
  • Descargamos la librería:
    • root@metempsicosis:~# wget https://svn.nmap.org/nmap/nselib/tls.lua
3.-Para descargar o actualizar un script como por ejemplo ssl-heartbleed.nse:
  • Entramos en el directorio /usr/share/nmap/scripts:
    • root@metempsicosis:~# cd /usr/share/nmap/scripts
  • Descargamos el script: 
    • root@metempsicosis:~# wget https://svn.nmap.org/nmap/cripts/ssl-heartbleed.nse

martes, 16 de junio de 2015

Conceptos de vSphere

Para empezar a trabajar con vSphere tenemos que tener claros todos los términos y nomenclaturas de la arquitectura de esta tecnología. Lo voy a explicar de una manera esquemática sin entrar en definiciones/aclaraciones “sesudas” sobre cada cosa para que de una manera rápida tengamos los conceptos claros.

Virtualización

VSphere es una plataforma de virtualización que nos permite tanto la escalabilidad horizontal como vertical además de tener un conjunto de herramientas muy potentes que nos permitirán tener controlados todos nuestros servidores virtualizados. Hay multitud de ventajas en la virtualización de sistemas pero las más destacables son:
  • Aísla la BIOS, el sistema operativo, y las aplicaciones del hardware físico.
  • Permite que muchas máquinas virtuales compartan el mismo hardware físico.
  • Estandariza las distintas generaciones hardware de los diferentes fabricantes.
De la misma manera las tres propiedades más importantes de la virtualización son:
  • Nos permite ejecutar varios sistemas operativos en la misma máquina física maximizando de esta manera los recursos del servidor.
  • Nos permite guardar el estado completo de una máquina virtual en ficheros independientes del hardware.
  • Nos permite aislar posibles fallos y temas de seguridad a nivel del hardware.

Infraestructura vSphere

Servidor vCenter

Las funciones y características principales de un servidor vCenter son:
  • Centraliza la gestión de los servidores ESX/ESXi.
  • Puede ser un servicio de Windows o un Virtual appliance.
  • Se encarga de conectar la base de datos del virtual center, las licencias y el Active Directory.
  • Necesita de una base de datos SqlServer u Oracle para funcionar.
vCenter nos permite tener organizada jerárquicamente toda nuestra infraestructura virtual. Un ejemplo de la estructura que tiene esta organización sería:

Nombre del vCenter: vCenter-Spain
Carpeta: Spain
DataCenter: Madrid
Cluster: Producción
Host: Esxi01
Resource Pool: Gestión de riesgo
    Virtual Machine(VM): Aplicación Riesgo 01
    Virtual Machine(VM): Aplicación Riesgo 02
vApp: Bases de datos producción
    Virtual Machine(VM): Postgres01
    Virtual Machine(VM): Postgres02



Servidor ESX/ESXi

Es donde se ejecutan y de donde toman los recursos las máquinas virtuales (red, memoria, almacenamiento, cpu,…etc ). Pueden ser gestionados desde el vCenter o directamente con el cliente VI.


Update Manager

Es la gestión de actualizaciones de nuestra plataforma virtual. Permite el despliegue de actualizaciones en los ESX/ESXi y en las VMs/Virtual Appliances (permite el despliegue de actualizaciones de aplicaciones de terceros). Toda esta gestión de actualizaciones provista por el Update Manager se manejan mediante baselines.


Componentes de la gestión remota

Vmware permite la gestión remota de una infraestructura vSphere mediante vSphere CLI, vSphere PowerCLI y vSphere Management Assistant (vMA)



Definición de la red

  • Standard Virtual Switch (vSwitch):  Se define por cada host, conecta a puertos de red físicos y es normal que se definan 3 port groups:
    • Para las máquinas virtuales.
    • Para la gestión de los ESX/ESXi.
    •  Para el VMotion.

  • Distributed Virtual Switch (VDS): Se utilizan para racionalizar el aprovisionamiento, la administración y la supervisión de las redes virtuales en todo el centro de datos.


Definición del almacenamiento

A la hora de dotar de almacenamiento a las máquinas virtuales vSphere nos permite utilizar almacenamientos mediante:

  • MultiPath, MPP: NMP (Native Multipath Plugin): Usado por ejemplo para cabinas con fibra
  • VMFS File: Sistema propio de Vmware que puede estar montado sobre discos duros locales (SCSI o Raid), NAS, ISCSI y Fibre Channel.

En Vmware el “disco duro” de una máquina virtual es realmente un fichero .vmdk que contiene toda la información del equipo (carpetas, archivos,…etc). De esta manera si tenemos definida una máquina virtual de 8GB de espacio en disco y tenemos el disco al 100% de capacidad tendremos un .vmdk de 8GB. Dicho esto, podemos configurar como va a ser la reserva de espacio en vSphere de acuerdo a lo siguiente:
  • Almacenamiento Thick: Genera un .vmdk estático con un tamaño total igual al del espacio que le hayamos asignado a la máquina virtual. Por ejemplo si decidimos generar una máquina virtual con un disco duro de 8GB, generará un fichero vmdk de 8GB independientemente de que tengamos por ejemplo 4GB de disco vacío.
  • Almacenamiento Thin: Genera un .vmdk dinámico con un tamaño similar a lo que tengamos lleno en el disco y creciendo según lo vamos llenando de archivos. Por ejemplo si generamos una máquina virtual con un disco duro de 8GB pero tiene lleno solo 4GB el .vdkm que tendremos tendrá un tamaño de unos 4GB. Si después instalamos un software que ocupa 1GB, el tamaño ocupado en el disco pasaría a ser de 5GB y por lo tanto el .vmdk pasaría a ocupar 5GB. Por supuesto nunca pasaremos del tamaño máximo que le hayamos configurado (en el ejemplo que he puesto no podría crecer por encima de los 8GB).

vApp

Es una agrupación lógica de máquinas virtuales, permitiendo administrarlas como una única entidad y pudiendo especificar el orden de encendido.


Tecnología VMotion

Permite mover máquinas virtuales entre servidores ESX/ESXi sin ninguna caída de servicio.


Tecnología Storage VMotion

Permite mover los discos de una máquina virtual entre distintos almacenamientos sin caída del servicio. Un ejemplo de su utilidad sería el cambiar nuestra cabina antigua por una más nueva, ya que solo tendremos que configurarla para que los ESX/ESXi vean las 2 y moverlos. Para ello los ESX/ESXi tienen que tener acceso a los datastores, tienen que estar configurados para vMotion y los discos de las máquinas virtuales tienen que ser de tipo Thick.


VMware DRS

Permite mover máquinas virtuales entre servidores ESX/ESXi para balancear las cargas, optimizando de esta manera los recursos. Por supuesto se pueden definir reglas para controlar estos movimientos automáticos, indicando por ejemplo máquinas que no pueden estar juntas en el mismo ESX/ESXi,…etc.




VMware HA Cluster

Ante un fallo de un servidor ESX/ESXi permite que las máquinas virtuales que en él corren se arranquen automáticamente en otro servidor ESX/ESXi del cluster.


VM Snapshots

Permite capturar el estado de una máquina en un instante. A partir de este momento podremos en cualquier momento volver al estado de la máquina en el que realizamos el Snapshot o eliminar el Snapshot si los cambios realizados cumplen lo que esperábamos y quedarnos con el estado actual. Es muy útil a la hora de hacer pruebas, realizar actualizaciones de software,…etc.



Para una información más detallada podemos consultar la base de datos del conocimiento de vmware.

viernes, 5 de junio de 2015

Casos prácticos Nmap

Descubrimientos de equipos en una subred

Este procedimiento revela como recabar información útil del estado de las máquinas conectadas a una misma subred con Nmap, conociendo si son o no alcanzables remotamente, así como la información que es posible obtener de ellas mediante consultas a un servidor de DNS. Para ello realizaremos lo siguiente:
  • Obtención de nombres de máquina de los objetivos
    • List Scan -sL
                    nmap -sL -v www.agapornizate.es/24
  • Determinación del estado de las máquinas
    • Ping Sweep -sn (sin opciones realiza -PA80, -PS443, -PE, -PP)
                    nmap -sn -v  www.agapornizate.es/24
    • Ping TCP ACK -PA (puerto 80 por defecto)
                    nmap -sn -PA -v  www.agapornizate.es/24
    • Ping TCP SYN -PS (puerto 80 por defecto)
                    nmap -sn -PS -v  www.agapornizate.es/24
    • Ping ICMP Echo -PE
                    nmap -sn -PE -v  www.agapornizate.es/24

 Análisis de puertos

Este procedimiento nos permitirá descubrir aquellos puertos que son accesibles en una máquina. No es recomendable lanzar este tipo de análisis en un conjunto grande de equipos, debiendo reducir antes el conjunto de objetivos. De la misma manera debemos tener en cuenta que es posible que una máquina no se haya mostrado como activa en el análisis anterior por diversos motivos (que esté correctamente aislada de la red, que se controlen los tipos de comunicaciones,...etc).
    • Enumeración de todos los puertos TCP abiertos y cerrados en una máquina local:
                    nmap -sS -p- -v localhost
    • Enumeración de los puertos TCP abiertos y cerrados en una maquina perteneciente a la misma subred local
                    nmap -sS -p- -r -v 10.0.10.5
    • Enumeración de los puertos TCP abiertos y cerrados en una maquina externa
                    nmap -sS --top-ports 1300 -v www.agapornizate.es
    • Descubrimiento de reglas del firewall
                   nmap -sS -p- -r -v www.agapornizate.es

Detección de servicios y sistema operativo

Este procedimiento nos permitirá descubrir tanto el sistema operativo que tienen los objetivos como que servicio está escuchando en cada puerto.
    • Identificación de versiones de servicios (-F para analizar solo los 100 puertos más comunes):
                    nmap -sS -sV -F -v www.agapornizate.es
    • Identificación precisa de servidores en una red:
                    nmap -sS -sV -p 22,25,80 -v www.agapornizate.es
    • Determinación precisa del estado de los puertos UDP:
                    nmap -sU -sV -p 53,68,80 -v 10.0.10.1
    • Inventario de plataformas instaladas en una red:
                    nmap -sS -sV -O -v -F 10.0.10.1/25

Técnicas de evasión de cortafuegos y IDS/IPS

A principios de los 90, se empezó a generalizar el uso de herramientas cortafuegos con el expreso propósito de reducir la conectividad. De este modo las redes se empezaron a aislar de internet con Proxies, NAT y la implantación de filtros de paquetes. En estos casos la preocupación es ser extremadamente silenciosos para pasar inadvertidos por un IDS/IPS. Cabe decir que cuando escaneamos en redes con una presencia de herramientas IDS/IPS tendremos que tener paciencia y habilidad, teniendo en cuenta que podremos obtener falsos positivos que tendremos que analizar para corregir la acción.
    • Escaneo de puertos de manera sigilosa:
nmap -sS -Pn -p 22,80 -f --data-length 99 --randomize-host -g 22 -T 1 -v www.agapornizate.es/30
    • Evasión mediante falsos positivos. Este ejemplo realiza un escaneo contra un solo objetivo, pero realizado aparentemente desde varias máquinas. El uso de señuelos generará muchos falsos positivos y oculta el verdadero origen del análisis.
nmap -sS -p 135-139,445,3389 -Pn -D 172.16.28.100,172.16.28.101,ME,172.16.28.102 -v www.agapornizate.es
    • Evasión mediante ocultación del origen. Se realiza un escaneo mediante la técnica Idle Scan valiéndose de un "Zombie".
nmap -sI 192.168.1.1 -p 23-25 -P0 -v 192.168.1.2

Técnicas de optimización de análisis

A la hora de realizar una acción tenemos que tener en cuenta la latencia de un equipo con el fin de ser más eficaces. Para saber la latencia tenemos que averiguar la RTT (Round Trip Time) del tráfico entre máquinas. Para esto podemos realizarlo con el comando ping o con el comando hpimg3 (es recomendable usar este último porque muchas máquinas tienen capado en tráfico ICMP echo request. Un ejemplo de uso es hping3 -S -p 80 www.agapornizate.es, es imprescindible conocer un equipo alcanzable con un servicio disponible).
Como curiosidad, si la latencia de una red local es superior a 20 ms de rtt medio y por supuesto no hay problemas de red saturada,...etc, podremos intuir que tenemos un firewall filtrando paquetes.
Como norma general, deberemos utilizar el doble de max-rtt-timeout respecto al rtt medio calculado, y una cantidad ligeramente superior al rtt medio para initial-rtt-timeout. Si la red no está saturada, max-retries lo configuraremos a 2 intentos pero si el objetivo está a muchos saltos de la red inicial o nos encontramos con tramos con saturación es conveniente incrementar el valor por ejemplo a 4.
Un ejemplo de aplicación en una red con una latencia media de 300ms, sería:
nmap -T4 -initial-rtt-timeout 350ms -max-rtt-timeout 600ms -max-retries 4 -min-parallelism 1 10.0.10.1/24
Nmap tiene plantillas predefinidas que ajustan estos valores a casos generales, estas son paranoid|sneaky|polite|normal|aggressive|insane



martes, 2 de junio de 2015

Técnicas basadas en el escaneo de puertos con Nmap

En anteriores artículos vimos como instalar Nmap con soporte para SSL y como se realizaba un Ping Scanning. Ahora vamos a ver un conjunto de técnicas basadas en el escaneo de puertos que nos permitirán descubrir equipos y puertos de manera eficaz:

1. TCP SYN Scan (-sS)

Técnica utilizada en redes rápidas y sin firewalls ya que no finaliza las conexiones que abre y tiene una gran fiabilidad por no depender de las diferentes implementaciones de la pila TCP/IP. El estado de los puertos que nos devuelve puede ser: abierto (recibimos un paquete SYNACK como respuesta), cerrados (recibimos un paquete RST como respuesta) o filtrados (si no recibimos nada o recibimos un ICMP Inalcanzable). Es muy recomendable utilizarlo con la opción -sV para identificar el tipo de servicios descubiertos.
Un ejemplo de uso sería:
root@metempsicosis:~# nmap -Pn -sS -p 21,80 -sV www.agapornizate.es




2. TCP Connect scan (-sT)

Es una técnica poco efectiva porque Nmap no toma el control de los paquetes enviados y es lenta porque cierra todas las conexiones que abre, en vez de utilizar un half-open reset. Además es ruidosa por lo que un IDS/IPS nos detectará. Es una técnica que se utiliza en equipos donde no tenemos permisos para lanzar un -sS.
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -Pn -sT -p 21,80,8080-8082 -sV www.agapornizate.es



3. UDP SCAN (-sU)

No todos los servicios populares corren sobre TCP. Por ejemplo son servicios UDP los protocolos DNS (puerto 53), SNMP (puertos 161 y 162) y DHCP (puerto 67 y 68). El escaneo UDP es más complejo y lento que el TCP pero los servicios UDP pueden ser igualmente explotados por hackers. Esta técnica puede ser complementada con otras técnicas TCP (-sS) para realizar un barrido más completo de puertos. Los estados de los puertos que nos devuelve son abierto, cerrado (recibimos un ICMP Puerto inalcanzable), filtrado (recibimos cualquier otro paquete ICMP Inalcanzable), abierto/filtrado (sin ninguna respuesta).
Hay que tener en cuenta que las máquinas Linux/Solaris tienen una tasa máxima de respuestas ICMP Puerto Inalcanzable, aunque Nmap en general la detecta bien y adapta su velocidad a ella sin hacer nada.
De la misma manera tendremos problemas a la hora de identificar el estado abierto/filtrado que no asegura que el puerto esté abierto o cerrado (deberemos utilizar la opción -sUV para determinar la versión de lo que escucha).
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -Pn -sU -p 66-77  -sUV www.agapornizate.es



4. IDLE SCAN (-sI) 

Esta técnica explota una "vulnerabilidad" de algunas implementaciones de la pila TCP/IP, consistente en la posibilidad de predecir el identificador de fragmento de los paquetes IP (IP ID), con ello permite extraer información mediante el análisis de las secuencias predecibles del identificador (IPID).
Es una técnica sigilosa porque permite escanear un objetivo sin enviarle un solo paquete, utilizando la propia IP de origen. Para ello necesitamos un tercer equipo "zombie" cuya IP tomaremos para que aparezca como fuente de las sondas desde el punto de vista de la máquina objetivo. Tendremos 2 estados posibles para los puertos: abierto (si hay respuesta) o cerrado/filtrado (si no obtenemos respuesta o es un paquete RST). El "zombie" de confianza no puede ser una máquina al azar ya que necesitaremos que la implementación del la pila TCP/IP genere una secuencia de identificadores IP predecibles. Para localizarlo lanzaremos nmap -P0 -sN -n -v -p 80 --scanflags SYN,ACK subred, y utilizaremos aquel en el que el puerto no esté filtrado.
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -Pn -p 445 -v -sI 10.0.100.254 10.0.100.34
Donde 10.0.100.254 sería el "zombie" y el 10.0.100.34 el destino.



5. TCP ACK SCAN (-sA)

Esta técnica solo determina si los puertos del objetivo están filtrados o no con el fin de averiguar el conjunto de reglas que aplica un firewall sobre una máquina objetivo, determinando igualmente cuando estas reglas son con estado y a que puertos afectan. Esto se realiza mandando una sonda TCP con el flag ACK activo por lo que el puerto no filtrado responderá con un RST y el filtrado responderá con un ICMP Inalcanzable o sin respuesta.
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -Pn -sA -p 443-445,3389 -v www.agapornizate.es



6. TCP Null, FIN, Xmas scans (-sN, -sF, -sX)

Esta técnica aprovecha una indefinición 14 en el estándar RFC 793 para provocar una respuesta del objetivo a los paquetes TCP con distintos flag activados, determinando si un puerto está abierto o cerrado. Los equipos compatibles con RFC responderán con un RST a cualquier paquete que no contenga un flag SYN, RST o ACK para puertos cerrados y no emite respuesta para puertos abiertos.
La técnica Null Scan (-sN) envía una sonda sin ningún flag activado, la técnica FIN Scan (-sF) activa el flag FIN y Xmas Scan (-sX) activa los flags FIN, PSH y URG. Los puertos se clasifican en: abiertos/filtrados (sin respuesta), cerrados (recibimos un paquete RST) o filtrados (recibimos un paquete ICMP Inalcanzable). Los resultados de esta técnica solo es fiable en sistemas Unix porque siguen al 100% el RFC 793. El resultado de las 3 opciones es similar.
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -sN -p 21-25,443,80 -v www.agapornizate.es



7. SCTP INIT Scan (-sY)

Esta técnica es equivalente para el protocolo SCTP a la técnica TCP SYN Scan ya que lanza sondas de inicio de conexión y luego no las cierra. Una respuesta a estas sondas de tipo INIT-ACK indica que el puerto está abierto mientras que un fragmento de tipo ABORT es que el puerto está cerrado además si no hay respuesta o es ICMP Inalcanzable es que el puerto está filtrado.
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -Pn -sY -p21-25,443,80 -v www.agapornizate.es



8. IP protocol scan (-sO)

Envía sondas IP iterando sobre el campo tipo de protocolo IP en lugar de hacerlo sobre el número de puerto TCP o UDP. Los protocolos se clasifican en: abiertos (respuesta de protocolo indicado), cerrados (respuesta ICMP protocolo inalcanzable), filtrados (cualquier otro tipo ICMP inalcanzable) o abierto/filtrado (no recibimos respuesta).
Un ejemplo de uso sería:
rencinar@metempsicosis:~$ nmap -Pn -v -sO -p1,2,6,17,41 www.agapornizate.es