Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

viernes, 5 de enero de 2018

SecHackLabs: Tecnologías presentes en "Hacking con Nmap" y terminología.


La mayoría de las tecnologías aplicadas a la seguridad en sistemas de información pueden ser utilizadas tanto para la protección de éstos como para propósitos menos honestos, incluso ilegales. La presente serie "Hacking con Nmap" afronta el reto de mostrar a usuarios bien intencionados un conjunto de aplicaciones reales de algunas de estas tecnologías, pero no se abstrae de los usos controvertidos que pudiera ocasionar, advirtiéndolo en los casos que así pudiera ser.

Las tecnologías más importantes a las que se hace referencia en esta serie son las siguientes:

Escáner de Puertos: un escáner de puertos es una herramienta de seguridad destinada principalmente a la búsqueda de puertos abiertos en una máquina remota. Habitualmente es utilizado tanto por administradores, como ayuda en la
tarea de análisis de la seguridad de sus redes, como por usuarios malintencionados, para intentar comprometer las redes y acceder a recursos y servicios no autorizados. Nmap es un ejemplo escáner de puertos avanzado y junto con esta funcionalidad permite otras muchas, como podrá verse a lo largo de esta serie.

Un puerto constituye cada uno de los huecos en que se puede alojar un servicio que desee ofrecer sus servicios al exterior. En un mismo equipo existen 65535 (64Ki) puertos TCP y otros tantos UDP. Dependiendo de su estado, se puede conocer si existe o no un servicio alojado en él.

Capturador de tráfico de red/Analizador de protocolos: un capturador de tráfico de red es una herramienta de seguridad capaz de interceptar y registrar el tráfico que pasa a través de una red de datos. Es habitual que sean utilizadas en combinación con un analizador de protocolos, capaz de decodificar y analizar si el contenido de las capturas cumple con alguna especificación o estándar particular. 

Las aplicaciones más comunes de estas herramientas son: análisis de problemas de red, detección de intentos de intrusión, obtención de información para realizar una intrusión, monitorización del uso de la red, extracción de estadísticas de red, depuración de aplicaciones de comunicaciones, e incluso la obtención de información sensible no protegida. WinPcap y tcpdump son ejemplos de capturadores de tráfico, mientras que WireShark, que utiliza las anteriores para capturar tráfico, es el analizador de protocolos más utilizado.

Cortafuegos: un cortafuegos es un sistema informático, simple o compuesto, residente en una máquina, o como elemento de interconexión de redes, que actúa de punto de conexión segura entre otros sistemas informáticos. Un cortafuegos se sitúa, a modo de frontera, entre dos o más redes con la finalidad de hacer cumplir unas determinadas directivas de seguridad sobre la comunicación entre ellas, constituyéndose como el mecanismo básico para la prevención y detección de amenazas de seguridad. iptables es un ejemplo de cortafuegos.

IDS/IPS (Sistema de detección/prevención de intrusiones): un sistema de detección de intrusiones (IDS) es una herramienta que analiza el tráfico de red y, en base a unas reglas predefinidas, identifica comportamientos maliciosos e intentos de explotación no autorizada de recursos. Si además de identificar, el dispositivo tiene la capacidad de bloquear el tráfico que constituye el ataque, se trata entonces de un sistema de prevención de intrusiones (IPS). Snort es un ejemplo de este tipo de herramienta. Generalmente estos sistemas son independientes, pero actualmente están evolucionando e introduciéndose como parte de las propias aplicaciones a proteger, en lo que se viene a llamar cortafuegos de nivel de aplicación.

TERMINOLOGÍA

A lo largo de esta serie se utilizan repetidamente una serie de términos que hacen referencia a conceptos técnicos, naturales al software de administración de redes, y en concreto a Nmap. En virtud del rigor que se desea imprimir a la serie "Hacking con Nmap", se definen a continuación los siguientes términos:

Comando: instrucción tipada en Nmap que contiene los argumentos necesarios para acotar las características de cada uno de los escaneos ejecutados con esta herramienta. El formato de un comando en Nmap responde a la siguiente sintaxis.

nmap -<Técnicas> -<Opciones> --<Modificadores> <Objetivos>
Obsérvese la distinta utilización normalizada del guión "-" para cada uno de los argumentos del comando en Nmap. Las versiones de Nmap (Cómo Zenmap) con interfaz gráfica de usuario permiten la composición de estos comandos de forma amigable, facilitando la labor del usuario menos acostumbrado a trabajar en línea de comandos.

Técnica: cada una de las funcionalidades, entendiendo funcionalidades como distintos tipos de escaneo, existentes en Nmap. Una técnica es susceptible de ser configurada según los criterios del usuario mediante un conjunto de Opciones y Modificadores disponibles en la propia herramienta. En Nmap se definen las siguientes Técnicas:

* Técnicas de Descubrimiento de Equipos: determinación del estado de una o un conjunto de máquinas.

* Técnicas de Escaneo de Puertos: determinación del estado de uno o un conjunto de puertos.

Cada una de estas técnicas puede distinguirse por su especificidad o sofisticación tecnológica, para lo que la calificación de básica o avanzada será aplicada a lo largo de esta serie.

* Opción: una Opción es cualquier argumento pasado a Nmap que no sea reconocida como una Técnica o un Objetivo.

* Modificador Nmap: los Modificadores permiten alterar tanto el comportamiento como las salidas de las Técnicas sobre las que actúan, dotándolas de mayor potencia y flexibilidad. Al igual que sucede con las Técnicas y por los mismos motivos, los Modificadores pueden ser calificados como básicos o avanzados. En última instancia, un Modificador puede verse como una Opción adicional, con el objeto de aumentar la granularidad y el espectro de funcionalidades que Nmap ofrece. Toda funcionalidad de Nmap es una Opción, o un conjunto de Opciones, cuando intervienen Modificadores. 

Objetivo: es aquella máquina o conjunto de máquinas (subred) sobre la que Nmap llevará a cabo un análisis, utilizando para ello una o más Técnicas. Los Objetivos se especifican mediante una URL, dirección IP, bloque de direcciones en el formato CIDR o intervalo de direcciones separado por un guión (ver nota). Cualquier argumento pasado en línea de comandos que no sea reconocido como una Técnica, Opción o Modificador, será tratado como un Objetivo. 

CIDR, del término inglés Classless Inter-Domain Routing, es una notación en la que se define un conjunto de equipos utilizando la IP más baja de las que forman el grupo, seguido del número de bits comunes que tienen el conjunto de direcciones del rango. Por ejemplo: 192.168.1.0/24 agrupa los equipos cuya dirección tiene los primeros 24 bits iguales, es decir, desde el equipo 192.168.1.0 hasta el equipo 192.168.1.255. Más información en http://es.wikipedia.org/wiki/Classless_Inter-Domain_Routing.

Nota: Este formato para fijar objetivos permite, para cada número de los que conforman una dirección IP, introducir un intervalo separado por un guión. Por ejemplo, el intervalo 172.16.0.1-20 analizará las direcciones IP desde la 172.16.0.1 hasta la 172.16.0.20, mientras que el intervalo 172.16.0-2.20-25 analizará las IP 172.16.0.20 hasta la 25, así como las 172.16.1.20 hasta la 25 y las 172.16.2.20 hasta la 25. 

Sonda: cada uno de los paquetes de prueba enviados por Nmap a los Objetivos como parte de un escaneo. En general son paquetes especialmente construidos que para obtener su propósito, provocar o no una respuesta en el destino, explotan alguna particularidad de la implementación de la pila TCP/IP del Objetivo.

Estado de una máquina: Las Técnicas de descubrimiento de equipos están encaminadas a averiguar el estado de una o varias máquinas, es decir, a realizar un proceso de determinación de cuales de los equipos indicados como Objetivos están activos, que equivale a decir “en línea”, o remotamente alcanzables. La obtención de esta información es de gran ayuda para la realización de escaneos de puertos a gran escala, puesto que los equipos no activos no serán considerados a tal efecto, reduciendo considerablemente el tiempo del proceso.

Estado de un puerto: Aunque Nmap distingue más Estados, en general desde el punto de vista de una máquina remota, los puertos de comunicaciones tienen dos Estados: alcanzable e inalcanzable. Un puerto es “alcanzable” si no existe ninguna causa externa (p.ej. filtros intermedios) que evite el contacto entre los extremos. De este modo el origen tendrá información de si dicho puerto está a la escucha o está cerrado. Será “inalcanzable” en cualquier otro caso. Los puertos UDP abiertos, al no negociar una conexión de manera implícita, pueden dar la apariencia de que son inalcanzables. 

Estado Nmap de un puerto: La salida de Nmap es, dependiendo de las Opciones elegidas, una lista de equipos escaneados a los que se acompaña de información adicional como el Estado de sus puertos. Nmap define seis Estados distintos para recoger los distintos grados de incertidumbre en la determinación de si un puerto está abierto o cerrado, es decir, a la escucha o no de nuevas conexiones o paquetes. A diferencia del punto anterior, estos Estados no son propiedades intrínsecas de los puertos, sino que definen cómo son vistos desde el exterior. La razón de que Nmap sea considerado un escáner de puertos avanzado es, entre otros motivos, debido a esta granularidad en el Estado de dichos puertos. Los Estados son los siguientes:

* Abierto: existe una aplicación en la máquina objetivo que está a la escucha de nuevas conexiones o paquetes TCP o UDP. Muestra un servicio disponible para ser usado en la red.

* Cerrado: es un puerto alcanzable, pero no existe una aplicación a la escucha en él.
* Filtrado: Nmap no ha recibido respuestas a las sondas enviadas hacia un puerto. Suele significar que una herramienta intermedia (generalmente cortafuegos, sondas IDS/IPS, otros elementos de la red, o cualquier otro tipo de filtro) está bloqueando dicho puerto, respondiendo con poca o ninguna información (en ocasiones con un ICMP de tipo “destino inalcanzable”). Esta circunstancia ralentiza notablemente el escaneo para descartar que se trata de un problema de congestión de la red.

* No filtrado: Solo aparece tras un análisis de tipo ACK. Es un puerto alcanzable, pero no es posible determinar si está abierto o cerrado. 

* Abierto | filtrado: En este caso, Nmap no ha sido capaz de determinar si el puerto está abierto o filtrado debido a falta de respuestas, bien porque ésta o la Sonda están siendo eliminadas por algún tipo de filtro de paquetes. Se puede obtener en las técnicas UDP, TCP Null, Fin y Xmas, TCP Maimon e IP Protocol Scan (Más adelante de explicará).

* Cerrado | filtrado: Solo se obtiene tras un escaneo de tipo Idle. En este caso Nmap no ha sido capaz de determinar si el puerto está cerrado o filtrado.

Señuelo: es un equipo activo cuya  dirección es utilizada como origen de las Sondas con el fin de enmascarar la propia IP en el escaneo, dificultando la traza del origen verdadero. El Objetivo verá que recibe paquetes de varios orígenes, por lo que probablemente responda o investigue a todos ellos, haciendo del uso de señuelos una técnica moralmente controvertida.

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.

0 comentarios:

Publicar un comentario