El escaneo de puertos es una técnica fundamental en el pentesting que permite identificar los puertos abiertos en un sistema objetivo. Los puertos abiertos pueden ser puntos de entrada potenciales para ataques, ya que indican servicios que están escuchando y pueden ser explotados si tienen vulnerabilidades.

Conceptos Clave

  1. Puerto: Un número que identifica un punto final de comunicación en una red. Los puertos van del 0 al 65535.
  2. TCP y UDP: Dos protocolos principales de transporte en la red. TCP es orientado a conexión, mientras que UDP es sin conexión.
  3. Puertos Bien Conocidos: Puertos del 0 al 1023, reservados para servicios y aplicaciones bien conocidos (por ejemplo, HTTP en el puerto 80).
  4. Puertos Registrados: Puertos del 1024 al 49151, utilizados por aplicaciones de usuario y servicios registrados.
  5. Puertos Dinámicos o Privados: Puertos del 49152 al 65535, utilizados por aplicaciones de usuario de manera temporal.

Tipos de Escaneo de Puertos

  1. Escaneo TCP SYN: También conocido como "half-open scan", envía un paquete SYN y espera una respuesta SYN-ACK. Si recibe SYN-ACK, el puerto está abierto.
  2. Escaneo TCP Connect: Completa la conexión TCP enviando SYN, recibiendo SYN-ACK y enviando ACK. Es más fácil de detectar.
  3. Escaneo UDP: Envía paquetes UDP y espera respuestas ICMP "puerto inalcanzable" para determinar puertos cerrados.
  4. Escaneo de Puertos FIN, Xmas y Null: Envía paquetes con banderas específicas (FIN, Xmas, Null) para evadir firewalls y sistemas de detección de intrusos.

Herramientas de Escaneo de Puertos

  • Nmap: La herramienta más popular para el escaneo de puertos. Ofrece una amplia gama de opciones y técnicas de escaneo.
  • Masscan: Una herramienta de escaneo de puertos extremadamente rápida.
  • Netcat: Conocido como la "navaja suiza" de las redes, puede ser utilizado para escanear puertos entre otras funciones.

Ejemplo Práctico con Nmap

Instalación de Nmap

Para instalar Nmap en un sistema basado en Debian/Ubuntu, usa el siguiente comando:

sudo apt-get install nmap

Escaneo Básico de Puertos

Para realizar un escaneo básico de puertos en un objetivo, usa el siguiente comando:

nmap <dirección IP del objetivo>

Explicación del Comando

  • nmap: Invoca la herramienta Nmap.
  • <dirección IP del objetivo>: La dirección IP del sistema que se desea escanear.

Ejemplo de Salida

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 12:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Análisis de la Salida

  • Host is up: El sistema objetivo está activo y responde.
  • 22/tcp open ssh: El puerto 22 está abierto y ejecuta el servicio SSH.

Ejercicio Práctico

Ejercicio 1: Escaneo de Puertos TCP

Realiza un escaneo de puertos TCP en tu propia máquina (localhost) utilizando Nmap.

nmap -sT localhost

Ejercicio 2: Escaneo de Puertos UDP

Realiza un escaneo de puertos UDP en tu propia máquina.

sudo nmap -sU localhost

Soluciones

Ejercicio 1

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Ejercicio 2

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT    STATE         SERVICE
53/udp  open          domain
123/udp open          ntp

Nmap done: 1 IP address (1 host up) scanned in 0.20 seconds

Errores Comunes y Consejos

  1. No ejecutar Nmap con privilegios de superusuario: Algunos tipos de escaneo requieren permisos elevados. Usa sudo cuando sea necesario.
  2. Interpretación incorrecta de resultados: Asegúrate de entender la diferencia entre puertos abiertos, cerrados y filtrados.
  3. No especificar el tipo de escaneo: Usa las opciones -sS, -sT, -sU, etc., para especificar el tipo de escaneo que deseas realizar.

Conclusión

El escaneo de puertos es una técnica esencial en el pentesting que permite identificar servicios potencialmente vulnerables en un sistema. Con herramientas como Nmap, puedes realizar diferentes tipos de escaneos para obtener una visión detallada de los puertos abiertos y los servicios que se ejecutan en ellos. Practica regularmente para familiarizarte con las diferentes opciones y técnicas de escaneo.

© Copyright 2024. Todos los derechos reservados