Guía Completa de Nmap para Escaneo de Redes
Guía Completa de Nmap para Escaneo de Redes
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.
UDP Scan
Para descubrir los puertos UDP. FLAG -sU
Nmap grafico
Existe la posibilidad de usar nmap con interfaz de usuario llamada ZenMap
Compartir
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:
Características
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.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden
dejarla en los comentarios.
Compartir
Vie, 20/04/2018 - 14:22
Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.
Etiquetas
Nmap
Compartir
Vie, 20/04/2018 - 13:41
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
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
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:
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:
Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a
Telegram.
Compartir
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.
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.
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.
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.
** Cómo root **
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.
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.
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.
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
Compartir
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.
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)
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.
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
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.
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.
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)
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:
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.
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
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)
- * 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:
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.
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.
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.