A la hora de hacer un Pentesting, dentro de la parte de footprinting, en recolección de datos activos, el escaneo toma una importancia vital. Llevar a cabo escaneos sobre los objetivos nos permite saber qué puertos están abiertos, que servicio está escuchando en ese puerto y qué tecnología está detrás responsable del servicio.
Un puerto abierto es una vía de explotación para el auditor por lo que hay que saber los tipos de escáneres disponibles en la red y cómo configurar las herramientas para poder obtener la información sin ser detectados por los dispositivos de seguridad permimetral tales como Firewalls e IDS (Intrusion detection system), que serán los encargados de detectar comportamientos anómalos en la red con el fin de bloquearnos las comunicaciones.
Existe varios tipos de escaneos que se detallan a continuación:
Half Scan
Se trata de un escaneo bastante fiable que permite determinar si el puerto está abierto o no. En todas las conexiones de tipo 3 way handshake. El emisor envía un paquete “SYN” al receptor, el cuál responde con un “SYN+ ACK” y el emisor contesta con “ACK” y comienza la transferencia de datos.
Módulo en Metasploit: auxiliary/scanner/portscan/tcp
En el escaneo half scan se altera el proceso lógico del 3 way handshake, en el cuál se substituye el último “ACK” por un “RST +ACK” para concluir el proceso y no crear una conexión.
ACK Scan
Este escaneo no está dirigido a saber si un puerto está abierto o no, si no a saber si el objetivo se encuentra detrás de un firewall. En este escaneo, el emisor envía un ACK para que el receptor conteste con un RST, independientemente que el puerto esté abierto o no. Si no se recibe respuesta es que hay un firewall entre medias de la comunicación.
Módulo en Metasploit: auxiliary/scanner/portscan/ack
Null Scan
En este escaneo el “atacante” envía un paquete sin bits activos. Si el puerto está abierto no se recibe nada y si esta cerrado se envía un RST+ACK. Se usa para saber qué puertos están cerrados.
Xmas Scan
En este escaneo si tiene los bits de control activos. Windows por defecto no responde a este tipo de escaneos. Si el puerto está cerrado se respondía con un RST=ACK.
Módulo en Metasploit: auxiliary/scanner/portscan/xmas
Fin Scan
Consiste en crear paquetes con el bit the FIN activo. Si el puerto está abierto no hay respuesta y si está cerrado recibe un RST=ACK. Sirve para la detección de puertos.
Connect Scan
Consiste en completar la conexión entre víctima y atacante, es decir, completar el 3 way handshake, se recibe el banner del servicio que corre detrás, con lo que el atacante envía un ACK y luego un RST=ACK para cerrar la conexión.
Idel Scan
En este Scan intervienen más implicados a parte del emisor y receptor (un zombie). En este ataque es necesario que el zombie no tenga mucho tráfico, ya que demos estudiar la secuencia de paquetes de las comunicaciones. Suele ser un buen zombie una impresora con poco tráfico.
Necesitamos que el emisor sea capaz de saber el algoritmo usado por la máquina zombie para marcar los paquetes. Se consigue averiguándolo enviando paquetes SYN+ACK para obtener un RST y poder comprobar los IDs.
Una vez identificado el zombie el atacante enviará paquetes SYN a la víctima haciendo IP Soofing, es decir, enviar los paquetes a la víctima usando la IP del zombie. Esto qué supone? pues que las respuestas siempre vana llegar a la máquina zombie en lugar de al emisor ya que ha suplantado la identidad.
Una vez que la víctima conteste a la petición SYN, lo hará enviando un SYN+ACK si el puerto está abierto o un RST+ACK si está cerrado. En cuanto el zombie reciba un SYN+ACK el zombie enviará un RST y si recibe un RST+ACK, se descarta.
Ahora el atacante pregunta al zombie por el ID de los paquetes con lo que se obtienen dos escenarios:
Que su ID haya aumentado en uno, lo cual el puerto de la víctima está abierto o si no se ha incrementado es que el puerto está cerrado.