Los 8 puertos más vulnerables que debes verificar al realizar un pentesting
Los hackers éticos utilizan el pentesting para organizar ataques cibernéticos falsos. Si estás intentando realizar una prueba de penetración(pentesting) en tu red, estos son los puertos más vulnerables.
Escanear puertos es una parte importante de las pruebas de penetración. Te permite identificar y explotar vulnerabilidades en sitios web, aplicaciones móviles o sistemas. Como pentester o hacker ético, es esencial que conozcas los puertos más fáciles y vulnerables para atacar al realizar una prueba.
Entonces, ¿qué son realmente los puertos abiertos? ¿Y qué puertos son los más vulnerables?
¿Qué es una prueba de penetración?
Una prueba de penetración (pentesting) es una forma de hacking ético que consiste en realizar ataques de ciberseguridad simulados autorizados en sitios web, aplicaciones móviles, redes y sistemas para descubrir vulnerabilidades en ellos utilizando estrategias y herramientas de ciberseguridad. Esto se hace para evaluar la seguridad del sistema en cuestión.
¿Qué son los puertos?
Un puerto es una matriz virtual utilizada por las computadoras para comunicarse con otras computadoras a través de una red. Un puerto también se conoce como el número asignado a un protocolo de red específico. Un protocolo de red es un conjunto de reglas que determinan cómo los dispositivos transmiten datos de un lado a otro en una red.
Los dos tipos más comunes de protocolos de red son el Protocolo de Control de Transmisión (TCP) y el Protocolo de Datagramas de Usuario (UDP).
Protocolo de Control de Transmisión (Transmission Control Protocol – TCP)
TCP es un estándar de comunicación que permite que los dispositivos envíen y reciban información de forma segura y ordenada a través de una red. Lo hace estableciendo una conexión desde la computadora cliente al servidor o computadora designada, y luego enviando paquetes de información a través de la red. TCP funciona de la mano con el protocolo de Internet para conectar computadoras a través de Internet.
Protocolo de datagramas de usuario (User Datagram Protocol – UDP)
UDP funciona de manera muy similar a TCP, solo que no establece una conexión antes de transferir información. UDP es más rápido que TCP porque omite el paso de establecimiento de la conexión y solo transfiere información a la computadora de destino a través de una red. Esto lo hace poco fiable y menos seguro.
Cómo comprobar si hay puertos abiertos
Un puerto abierto es un puerto TCP o UDP que acepta conexiones o paquetes de información. Si un puerto rechaza conexiones o paquetes de información, se le llama puerto cerrado. Los puertos abiertos son necesarios para el tráfico de red a través de Internet.
Para comprobar si hay puertos abiertos, todo lo que necesitas es la dirección IP de destino y un escáner de puertos. Hay muchos escáneres de puertos gratuitos y herramientas de prueba de penetración que se pueden usar tanto en la CLI como en la GUI. El escáner de puertos más popular es Nmap, que es gratuito, de código abierto y fácil de usar. Si no estás familiarizado con él, puedes aprender a buscar puertos abiertos usando Nmap.
¿Todos los puertos abiertos son vulnerables?
No necesariamente. Aunque un puerto cerrado es una vulnerabilidad menor en comparación con un puerto abierto, no todos los puertos abiertos son vulnerables. Más bien, los servicios y tecnologías que utilizan ese puerto están sujetos a vulnerabilidades. Entonces, si la infraestructura detrás de un puerto no es segura, ese puerto es propenso a sufrir ataques.
Puertos vulnerables a tener en cuenta
Hay más de 130,000 puertos TCP y UDP, pero algunos son más vulnerables que otros. En las pruebas de penetración, estos puertos se consideran frutas maduras, es decir, vulnerabilidades que son fáciles de explotar.
Muchos puertos tienen vulnerabilidades conocidas que puedes explotar cuando surgen en la fase de escaneo de tu prueba de penetración. Aquí hay algunos puertos vulnerables comunes que necesitas saber.
1. FTP (20, 21)
FTP significa Protocolo de Transferencia de Archivos. Los puertos 20 y 21 son únicamente puertos TCP que se utilizan para permitir a los usuarios enviar y recibir archivos desde un servidor a sus computadoras personales.
El puerto FTP es inseguro y está desactualizado y puede ser explotado usando:
- Autenticación anónima. Puedes iniciar sesión en el puerto FTP con el nombre de usuario y la contraseña configurados como “anonymous”.
- Secuencias de comandos entre sitios.
- Ataques de fuerza bruta.
- Ataques de salto de directorios.
2. SSH (22)
SSH significa Secure Shell. Es un puerto TCP utilizado para garantizar el acceso remoto seguro a los servidores. Puedes explotar el puerto SSH mediante la fuerza bruta de las credenciales SSH o utilizando una clave privada para obtener acceso al sistema de destino.
3. SMB (139, 137, 445)
SMB significa Bloque de Mensajes del Servidor. Es un protocolo de comunicación creado por Microsoft para brindar acceso compartido a archivos e impresoras a través de una red. Al enumerar el puerto SMB, encuentras la versión SMB y luego puedes buscar un exploit en Internet, Searchsploit o Metasploit.
El puerto SMB podría explotarse usando la vulnerabilidad EternalBlue, usando fuerza bruta para las credenciales de inicio de sesión de SMB, explotando el puerto SMB usando NTLM Capture y conectándose a SMB usando PSexec.
Un ejemplo de una vulnerabilidad SMB es la vulnerabilidad Wannacry que se ejecuta en EternalBlue
4. DNS (53)
DNS significa Sistema de Nombres de Dominio. Es un puerto TCP y UDP utilizado para transferencias y consultas respectivamente. Un exploit común en los puertos DNS es el ataque de denegación de servicio distribuido (DDoS).
5. HTTP/HTTPS (443, 80, 8080, 8443)
HTTP significa Protocolo de Transferencia de Hipertexto, mientras que HTTPS significa Protocolo de Transferencia de Hipertexto Seguro (que es la versión más segura de HTTP). Estos son los protocolos más populares y ampliamente utilizados en Internet y, como tales, son propensos a muchas vulnerabilidades. Son vulnerables a inyecciones de SQL, secuencias de comandos entre sitios, falsificación de solicitudes entre sitios, etc.
6. Telnet (23)
El protocolo Telnet es un protocolo TCP que permite a un usuario conectarse a computadoras remotas a través de Internet. El puerto Telnet ha sido reemplazado durante mucho tiempo por SSH, pero algunos sitios web todavía lo utilizan en la actualidad. Está desactualizado, es inseguro y vulnerable al malware. Telnet es vulnerable a la suplantación de identidad, la detección de credenciales y la fuerza bruta de credenciales.
7. SMTP (25)
SMTP significa Protocolo Simple de Transferencia de Correo. Es un puerto TCP utilizado para enviar y recibir correos. Puede ser vulnerable al correo no deseado y la suplantación de identidad si no está bien protegido.
8. TFTP (69)
TFTP significa Protocolo de Transferencia de Archivos Trivial. Es un puerto UDP que se usa para enviar y recibir archivos entre un usuario y un servidor a través de una red. TFTP es una versión simplificada del protocolo de transferencia de archivos. Debido a que es un puerto UDP, no requiere autenticación, lo que lo hace más rápido pero menos seguro.
Puede explotarse mediante el rociado de contraseñas y el acceso no autorizado, y los ataques de denegación de servicio (DoS).
Escaneo de puertos como Pentester
Como pentester o hacker ético, no se puede exagerar la importancia del escaneo de puertos. El escaneo de puertos te ayuda a recopilar información sobre un objetivo determinado, conocer los servicios que se ejecutan detrás de puertos específicos y las vulnerabilidades asociadas a ellos.
Ahora que conoces los puertos más vulnerables de Internet, puedes utilizar esta información para realizar pentesting. ¡Buena suerte!