“Cierren los puertos que se entran los barcos….”
TCP Connect
Esta técnica es la mas común, consiste en utilizar la llamada connect () a un nivel raw de TCP para intentar establecer una conexión con cada uno de los puertos del host a escanear.
Si la Conexión se establece quiere decir que el puerto esta abierto, en el caso de recibir un RST quiere decir que el puerto se encuentra cerrado, si no se recibe ninguna respuesta se deduce que el puerto esta silencioso.
El escaneo de puertos utilizando esta técnica es rápido ya que se puede utilizar varios socket’s de forma paralela para realizar un barrido de puertos. La principal desventaja de este tipo de escaneo es que es ilógico que se realicen muchas conexiones en pocos segundos, además al realizar la conexión completamente quedaría registrado en el equipo remoto.
LHOST RHOST
Puerto Abierto
-------------------------------- [SYN] -------------------> [O]
<---------------------------- [SYN/ACK] ---------------- [O]
Puerto Cerrado
--------------------------------[SYN]------------------->[x]
<----------------------------[SYN/ACK]----------------[x]
Puerto Silencioso
-------------------------------- [SYN] -------------------> [?]
Utilizando nuestro Nmap podemos realizar el escaneo TCP Connect mediante el siguiente comando:
Nmap –vv –P0 –sT ip_host_remoto
Como se observa en la figura anterior, se ve como el LHOST .86 manda la bandera SYN y el RHOST .11 devuelve un [SYN/ACK] y el LHOST .86 Responde con un [ACK] este asegura que el puerto esta Open |:¬)