Escaneo TCP
TCP es un protocolo con estado porque mantiene el estado de las conexiones. La conexión TCP implica un protocolo de enlace de tres vías del socket del servidor y el socket del lado del cliente. Mientras un socket de servidor está escuchando, el cliente envía un SYN y luego el servidor responde con SYN-ACK. Luego, el cliente envía ACK para completar el protocolo de enlace para la conexión
Para buscar un puerto TCP abierto, un escáner envía un paquete SYN al servidor. Si se devuelve SYN-ACK, el puerto está abierto. Y si el servidor no completa el protocolo de enlace y responde con un RST, el puerto está cerrado.
Escaneo UDP
UDP, por otro lado, es un protocolo sin estado y no mantiene el estado de conexión. Tampoco implica un apretón de manos de tres vías.
Para buscar un puerto UDP, un escáner UDP envía un paquete UDP al puerto. Si ese puerto está cerrado, se genera un paquete ICMP y se envía de vuelta al origen. Si esto no sucede, significa que el puerto está abierto.
El escaneo de puertos UDP a menudo no es confiable porque los firewalls eliminan los paquetes ICMP, lo que genera falsos positivos para los escáneres de puertos.
Escáneres de puertos
Ahora que hemos visto cómo funciona el escaneo de puertos, podemos avanzar a diferentes escáneres de puertos y su funcionalidad.
Nmap
Nmap es el escáner de puertos más versátil y completo disponible hasta ahora. Puede hacer de todo, desde el escaneo de puertos hasta la toma de huellas dactilares, los sistemas operativos y el escaneo de vulnerabilidades. Nmap tiene interfaces CLI y GUI, la GUI se llama Zenmap. Tiene muchas opciones diferentes para realizar escaneos rápidos y efectivos. Aquí se explica cómo instalar Nmap en Linux.
sudo apt-get updatesudo apt-get upgrade -y
sudo apt-get install nmap -y
Ahora usaremos Nmap para escanear un servidor (hackme.org) para puertos abiertos y para enumerar los servicios disponibles en esos puertos, es realmente fácil. Simplemente escriba nmap y la dirección del servidor.
nmap hackme.org
Para buscar puertos UDP, incluya la opción -sU con sudo porque requiere privilegios de root.
sudo nmap -sU hackme.org
Hay muchas otras opciones disponibles en Nmap como:
-p-: escanea todos los puertos 65535-sT: escaneo de conexión TCP
-O: escanea el sistema operativo en ejecución
-v: escaneo detallado
-A: escaneo agresivo, escanea todo
-T [1-5]: para configurar la velocidad de escaneo
-Pn: en caso de que el servidor bloquee el ping
Zenmap
Zenmap es una interfaz GUI de Nmap para click-kiddies para que no tenga que recordar sus comandos. Para instalarlo, escriba
sudo apt-get install -y mapa zen
Para escanear un servidor, simplemente escriba su dirección y seleccione entre las opciones de escaneo disponibles.
Netcat
Netcat es un escritor de puertos TCP y UDP sin procesar que también se puede utilizar como un escáner de puertos. Utiliza el escaneo de conexión, por eso no es tan rápido como Network Mapper. Para instalarlo, escriba
[correo electrónico protegido]: ~ $ sudo apt install netcat-traditional -yPara comprobar si hay un puerto abierto, escriba
[correo electrónico protegido]: ~ $ nc -z -v hackme.org 80... recortar ..
hackéame.org [217.78.1.155] 80 (http) abierto
Para buscar un rango de puertos, escriba
[correo electrónico protegido]: ~ $ nc -z -nv 127.0.0.1 20-80(DESCONOCIDO) [127.0.0.1] 80 (http) abierto
(DESCONOCIDO) [127.0.0.1] 22 (ssh) abierto
Unicornio
Unicornscan es un escáner de puertos completo y rápido, creado para investigadores de vulnerabilidades. A diferencia de Network Mapper, utiliza su propia pila TCP / IP distribuida de la tierra del usuario. Tiene muchas características que Nmap no tiene, algunas de ellas se proporcionan,
- Escaneo TCP asíncrono sin estado con todas las variaciones de banderas TCP.
- Captura de banner TCP asincrónica sin estado
- Escaneo UDP específico del protocolo asincrónico (enviando suficiente firma para obtener una respuesta).
- Identificación remota activa y pasiva de SO, aplicaciones y componentes mediante el análisis de respuestas.
- Registro y filtrado de archivos PCAP
- Salida de base de datos relacional
- Soporte de módulo personalizado
- Vistas de conjuntos de datos personalizados
Para instalar Unicornscan, escriba
[correo electrónico protegido]: ~ $ sudo apt-get install unicornscan -y
Para ejecutar un escaneo, escriba
[correo electrónico protegido]: ~ $ sudo us 127.0.0.1TCP abierto ftp [21] desde 127.0.0.1 ttl 128
TCP abierto smtp [25] de 127.0.0.1 ttl 128
TCP abre http [80] desde 127.0.0.1 ttl 128
... recortar ..
Conclusión
Los escáneres de puertos son útiles si eres un DevOp, un jugador o un hacker. No existe una comparación real entre estos escáneres, ninguno de ellos es perfecto, cada uno tiene sus ventajas e inconvenientes. Depende completamente de sus requisitos y de cómo los utilice.