Imagen


Para continuar los textos que llevo haciendo desde hace tiempo me he animado a escribir ahora sobre técnicas de detección de host y puertos del mismo.
Muy útil y utilizado por herramientas como lo es nmap y son forma de poder bypassear de cierto modo reglas de firewalls.
También analizaremos los pros y contras de cada uno para poder tener la idea de que podemos utilizar y en que situaciones.

Pondré los tipos de escaneos que veremos y las técnicas que se utilizan para cada tipo:
  • Open

    -TCP connect()
  • Half/Open

    -TCP SYN Scan
  • Silence

    -TCP FIN Scan

    -ACK Scan

    -Null Scan

    -Xmas Scan
  • Others

    -UDP Scan

Bueno existen otras mas exóticas y demás combinaciones, pero son las mas conocidas y después de esto puede de construir segmentos para intentar combinaciones y ver los resultado pero bueno, esto nos abre bastante el panorama para entender como funciona y las técnicas que se utilizan para bypassear firewalls, IDS, etc...

Si alguien tiene alguna duda sobre los términos como RST, FIN, ACK y deñas que se mencionan pueden consultar mis textos anteriores de Deep Into Networks & Protocols y sin mas vamos a empezar...

TCP connect():

Esta es de la mas común en cualquier tipo de software y port scanners que andan online.

Consiste en usar el método connect() que brinda TCP para establecer una conexión con algún
host y esto se repite con cada uno de los puertos que se le indiquen o de la lista que se utilice para scannear.

Si se estable conexión por el puerto se interpreta como ABIERTO (revisar los textos anteriores para ver
como se establece una conexión).
SYN / SYN+ACK / ACK

Si se recibe un RST (se rechaza la conexión) es que el puerto esta CERRADO.

SYN / RST
Y si no se obtiene respuesta se interpreta como que el puerto esta en WASTE o en (silencio/dormido).

SYN --- Sin respuesta

[*]PROS:

Esta técnica es simple y rápida, suele utilizarse varios sockets para hacerlo al mismo tiempo y acelerar
el proceso y es sumamente
simple de implementar.

[*]CONTRAS:

Es muy ruidosa, genera mucho ruido en la red y es fácil de detectar puesto que se realiza la conexión completa y además
se dejan logs con esto y suponiendo que se utilizan muchos sockets pues muchas conexiones en un minuto y clara alerta que saltaría.

TCP SYN (Half Open Scan)

También se le conoce como Half/open (medio abierto). Esta a comparación de TCP connect() es que TCP SYN no estable la conexión completa
de hay el nombre Half Open.
Esta consiste en enviar un SYN para "iniciar la conexión" y espera recibir respuesta.

Si se recibe un SYN+ACK se interpreta que el puerto esta abierto y se responde con un RST.
SYN / SYN+ACK / RST

Si se recibe un RST se interpreta que el puerto esta cerrado.
SYN / RST

Si se no se recibe respuesta quiere decir que el puerto esta en WASTE (silencio/dormido).
SYN --- Sin respuesta

[*]PROS:
Se evitar la conexión completa y por ende evitamos dejar logs tan obvios como en TCP connect() y podemos burlar algunas reglas
en firewalls simples. Hace menos ruido que otras técnicas y ofrece resultados fiables.

[*]CONTRAS:
Es fácil de detectar por IDS y Firewalls mas avanzados y mejor reglados. Es un poco lenta y se necesitan máximos privilegios
por las llamadas al sistema que realiza y el tipo de socket que utiliza (TCP Raw).

TCP FIN(Stealth Scan)

Se le conoce también como Stealth Scan es de los mas conocidos de las técnicas ninjas de escaneo xD silenciosas.
Este escaneo esta muy bien fundamentado puesto que consiste en enviar un segmento FIN y el estándar de TCP/IP
menciona que al recibir un FIN para terminar una conexión se responde como un RST.

Se envía un FIN y si se responde con un RST el puerto esta CERRADO.
FIN / RST

Se envía un FIN y si no se obtiene respuesta se interpreta como que el puerto esta ABIERTO o WASTE.
FIN --- Sin respuesta

[*]PROS:
Es una técnica bastante rápida y no se establece ninguna conexión. No deja logs y generalmente pasa limpio por los firewalls y IDS

[*]CONTRAS:
Tenemos falsos positivos MUCHOS puesto que no se obtiene una respuesta concreta si esta WASTE u OPEN. Buenas reglas en Firewalls y IDS
lo detectaran (muy dificil). Problemas con Windows por los estándares ¬¬

ACK Scan

Este estilo de escaneo se destino principalmente para eliminar los falsos positivos en técnicas como FIN o SYN que nos brinda un "mapa"
pero hasta cierto punto este "mapa" lo podemos afinar mas con un ACK scan.
Consiste en enviar un segmento ACK con números aleatorios (# de secuencia y # de confirmación).

Si el puerto esta ABIERTO nos responde con un RST.
ACK / RST

Si el puerto esta esta CERRADO nos responde con un RST
ACK / RST

SI el puerto esta WASTE no obtenemos respuesta.
ACK --- sin respuesta

[*]PROS:
Nos ayuda con falsos positivos, para aclarar el estado de algunos puertos. También la técnica se utiliza para remplazar la metódica
técnica del ping (ICMP echo).

[*]CONTRAS:
Necesitamos realizar un escaneo previo o posterior para aclarar el escenario. Difícil de detectar por firewalls e IDS

Null Scan

Muy parecido al FIN scan y consiste en enviar segmentos TCP con todos los flags activos o desactivados y esperar respuesta.

Si el puerto esta CERRADO nos responde con un RST.
Package / RST

Si el puerto esta ABIERTO o WASTE no recibimos respuesta
Package --- sin respuesta

[*]PROS:
Puede sustituir algunas técnicas de escaneo como lo es FIN y también evita fácilmente a los firewalls e IDS. También nos permite
eliminar falsos positivos y aumentar nuestro directorio de técnicas alternativas.

[*]CONTRAS:
No siempre es útil y suele ser un poco lento.


XMAS Scan

Esta técnica se basa en enviar un segmento TCP con los flags PUSH URG FIN activos (1) .Existen variaciones que activan PSH URG FIN ACK
SYN y jugan con estos flags.
Se envía el segmento con los flags activos...

Si el puerto esta CERRADO se recibe RST
TCP package / RST

Si el puerto esta ABIERTO o WASTE no se recibe respuesta
TCP package --- Sin respuesta

[*]PROS:
Nos ayuda a aclarar el panorama dependiendo la circunstancia. Es dificil de detectar y de igual forma evitar dejar logs.

[*]CONTRAS:
Solo se utiliza en circunstancia especificas y no siempre es util. De igual forma un buen firewall e IDS nos puede parar en seco.

UDP Scan

Obviamente esta orientado al protocolo UDP y consiste en mandar un segmento UDP vacío al puerto.

Si el puerto esta ABIERTO o WASTE no se recibe respuesta.
UDP(0) --- sin respuesta

Si el puerto esta CERRADO se recibe un ICMP type 3.
UDP(0) / ICMP(3)

Y bueno hasta aquí lo dejamos. Estas son las técnicas mas utilizadas por las herramientas que solemos utilizar y en el próximo paper
vamos a ver mas técnicas exóticas y complejas.
Sin mas me despido de parte de [Enlace externo eliminado para invitados] y de http://indetectables.net un abrazo y un saludo a todos.
1337 & culture!
Responder

Volver a “General”