Blog

Qué es un puerto abierto y por qué son peligrosos

Que es un puerto abierto y cómo puede afectar a nuestra seguridad

En ciberseguridad, el término puerto abierto hace referencia a un número de puerto TCP o UDP que está configurado para aceptar conexiones y paquetes de datos. En contraste, un puerto que rechaza conexiones o ignora todos los paquetes, es un puerto cerrado.

Los puertos (existen 65535 para cualquier dirección IP) son una parte integral  y esencial del modelo de comunicación de Internet.

Cada dirección IP contiene dos tipos de puertos: puertos UDP y TCP (numerados del 0 al 65535).

Cada uno de los protocolos tiene sus fortalezas y debilidades. Uno es mucho más rápido, mientras que el otro es más seguro.
  • Si necesitamos una transmisión de datos rápida y constante para que una aplicación funcione correctamente, tendremos que usar UDP.
  • De lo contrario, TCP es un protocolo más estable y confiable para transferir datos y no perder nada en el camino.

Los servicios que dependen de Internet (como navegadores, páginas web y servicios de transferencia de archivos) dependen de puertos específicos para recibir y transmitir información.

Los desarrolladores, normalmente usan protocolos de transferencia de archivos (FTP) o SSH ( acceso remoto a un servidor por medio de un canal seguro en el que toda la información está cifrada) para comunicarse entre dispositivos o compartir información entre hosts.

Por lo tanto, para poder ejecutar correctamente ciertas aplicaciones en nuestro ordenador, es necesario tener abiertos algunos puertos.

Por ejemplo, el puerto 25 es usado por el protocolo SMTP para poder enviar correos electrónicos, y los puertos 6881 y 6969, son usados por el programa BitTorrent, para el intercambio de archivos.

Si los cerramos no podremos utilizar estos servicios.

¿Son peligrosos los puertos abiertos?

Existe la idea errónea de que un puerto abierto presenta necesariamente un riesgo para la seguridad.

Esto se debe en gran parte a la falta de información de cómo funcionan por qué están abiertos y cuáles deberían no estarlo.

Pero un puerto abierto no tiene porque representar siempre un peligro.

Los puertos abiertos solo se vuelven peligrosos cuando son utilizados por servicios legítimos que presentan algún tipo de vulnerabilidad de seguridad no corregida  (pueden ser vulnerables a exploits) , o por piezas de malware (como por ejemplo troyanos) que están a la escucha a través de ellos.

Los ciberdelincuentes pueden usar estos servicios comprometidos, junto con los puertos abiertos que utilizan, o algún tipo de software malicioso específico, para obtener acceso no autorizado a datos confidenciales.

Por ejemplo, en mayo de 2017 el protocolo SMB (protocolo de red que permite compartir archivos, impresoras etc.) fue explotado por un exploit de día cero llamado EternalBlue lo que propició el ataque mundial perpetrado mediante el insidioso ransomware WannaCry.

¿Qué puertos se encuentran normalmente abiertos?

20 - FTP (Protocolo de transferencia de archivos)

Permite la transferencia de archivos entre sistemas conectados a una red TCP, basado en la arquitectura cliente-servidor.

22 - Secure Shell (SSH)

Su función es el acceso remoto a un servidor por medio de un canal seguro en el que toda la información está cifrada.

25 - Protocolo simple de transferencia de correo

Protocolo de red utilizado para el intercambio de mensajes de correo electrónico entre ordenadores y otros dispositivos.

53 - Sistema de nombres de dominio (DNS)

Permite enviar correos electrónicos a través de internet desde un dispositivo a un servidor de correo remoto.

80 - Protocolo de transferencia de hipertexto (HTTP)

Es la base de cualquier intercambio de datos en Internet.

110 - Protocolo de oficina postal (POP3)

Sirve para ponerse en contacto con un servicio de correo electrónico y descargar todos los mensajes.

143 - Protocolo de acceso a mensajes de Internet (IMAP)

Permite acceder al correo electrónico en cualquier lugar y desde cualquier dispositivo.

443 - HTTP seguro (HTTPS)

Es un protocolo de comunicación que protege la integridad y la confidencialidad de los datos.

¿Por qué los atacantes buscan puertos abiertos?

Para ejecutar un exploit, el atacante necesita encontrar una vulnerabilidad en el sistema operativo o en un programa instalado en el mismo.

Y para encontrar una vulnerabilidad, lo ideal es saber todos los servicios que se ejecutan en una máquina, incluidos los protocolos que utiliza y los programas instalados junto con sus versiones.

Una forma de lograr esto, es encontrar un puerto de acceso público utilizando una herramienta de exploración de redes y análisis de puertos.

Programas como Nmap permiten detectar, entre otras cosas, los servidores y servicios disponibles en una red, los sistemas operativos y cortafuegos instalados en cada ordenador, etc.

Nmap

Y si el villano encuentra versiones de software obsoletas o desactualizadas que pueden tener vulnerabilidades conocidas (como las enumeradas en CVE ), que se pueden explotar mediante herramientas para ejecutar exploits contra una máquina remota, aprovechará la coyuntura para hacer de las suyas.

Los ciberdelincuentes también están explotando los puertos del Protocolo de escritorio remoto (RDP) gracias al enorme aumento de personas que trabajan desde casa.

Los puertos más utilizados en Microsoft Windows

FTP (21): FTP o Protocolo de transferencia de archivos se utiliza para transferir archivos a través de Internet.

SSH (22): SSH o Secure Shell se utiliza para conectarse de forma remota a un servidor o host, lo que permite ejecutar comandos y trabajar con archivos.

Telnet (23): Telnet establece una conexión entre un servidor y un ordenador de forma remota.

SMTP (25): SMTP o Protocolo simple de transferencia de correo garantiza que los mensajes de correo electrónico se envíen a través de la red de forma segura.

WHOIS (43): se utiliza para obtener el registro de propiedad de nombres de dominio y direcciones IP

DNS (53): DNS o sistema de nombres de dominio utiliza bases de datos para vincular los nombres de host de ordenadores o redes a sus respectivas direcciones IP.

DHCP (67, 68): DHCP o el protocolo de configuración dinámica de host asigna información relacionada con la dirección IP a los clientes de una red automáticamente.
Esta información puede estar compuesta por máscara de subred, dirección IP, etc. El puerto 67 realiza la tarea de aceptar solicitudes de dirección de DHCP y enviar datos al servidor, mientras que el puerto 68 responde a todas las solicitudes de DHCP y reenvía los datos al cliente.

TFTP (69): TFTP o Trivial File Transfer Protocol es un simple protocolo de transferencia de archivos que permite a un cliente obtener un archivo o subirlo a un host remoto.

HTTP (80): asignado a servidores web y asociado directamente con el protocolo de transferencia de hipertexto.

POP3 (110): los clientes de correo electrónico utilizan POP3 para recuperar datos de servidores de correo electrónico remotos.

SFTP (115): SFTP o Secure File Transfer Protocol, es un protocolo separado empaquetado con SSH que funciona de manera similar a través de una conexión segura.

IMAP (143): IMAP o Protocolo de acceso a mensajes de Internet recupera correos electrónicos de un servidor remoto sin tener que descargar el correo electrónico.

SNMP (161): SNMP o Protocolo simple de administración de red se utiliza para recopilar y organizar información sobre dispositivos administrados en redes IP y para modificar esa información o cambiar el comportamiento del dispositivo.

HTTPS (443):permite conectarse a Internet estableciendo una conexión segura entre las páginas web y el navegador.

LPD (515): LPD o Line Printer Daemon Protocol es un protocolo de impresión en red para enviar trabajos a una impresora remota.

rsync (873): rysnc se utiliza para transferir y sincronizar archivos entre un ordenador y un disco duro externo, o entre dispositivos en red comparando los tiempos y tamaños de modificación de los archivos.

IMAP SSL (993): protocolo IMAP que admite cifrado SSL.

POP3 SSL (955): protocolo POP3 que admite cifrado SSL.

SOCKS (1080): SOCKS o SOCKet Secure es un protocolo de Internet que intercambia paquetes de red entre un cliente y un servidor a través de un servidor proxy.

Proxy (3128): actualmente es el puerto que utilizan los proxies.

MySQL (3306): utilizado por bases de datos MySQL.

RDP (3389): RDP o Remote Desktop Protocol establece una conexión con un dispositivo remoto, lo que le permite acceder a el desde cualquier parte del mundo.

PostgreSQL (5432): utilizado por bases de datos PostgreSQL.

VNC (5900): un sistema gráfico de escritorio compartido que utiliza el protocolo Remote Frame Buffer (RFB) para controlar de forma remota otro ordenador.

TeamViewer (5938):aplicación de software patentada para control remoto, uso compartido del escritorio, reuniones en línea, conferencias web y transferencia de archivos entre ordenadores.

HTTP (8080): un puerto alternativo para HTTP.

Es recomendable comprobar regularmente los puertos abiertos del sistema y cerrar todos los que no estemos utilizando.

Para ello puedes utilizar el escáner de puertos en línea de Nmap.

Escáner de puertos en línea de Nmap

¿Cómo pueden afectar los puertos abiertos a los usuarios y organizaciones?

Los puertos abiertos pueden afectar la confidencialidad, integridad y disponibilidad de un usuario o una organización.

Básicamente:

  • Confidencialidad: los puertos abiertos y los programas que los utilizan pueden revelar información sobre el sistema o la arquitectura de la red..
  • Integridad: sin los controles adecuados, el software puede abrir cualquier puerto y comunicarse con el exterior sin obstáculos.
  • Disponibilidad: los servicios que se ejecutan en puertos abiertos aún procesan el tráfico entrante, incluso si las solicitudes no son válidas.

¿Cómo puedo monitorear los puertos de mi PC?

En una red pequeña con pocas direcciones IP, encontrar y cerrar puertos abiertos no es una tarea complicada.

Sin embargo, en redes más grandes con un flujo importante de nuevos dispositivos, monitorear y administrar puertos abiertos puede llevar mucho tiempo.

Existen programas como CurrPorts, un software de monitoreo de red que muestra la lista de todos los puertos TCP/IP y UDP abiertos en un ordenador local.

Para cada puerto de la lista, se muestra información sobre:

  • Que proceso abrió el puerto.
  • La ruta completa del proceso.
  • Información de la versión del proceso (nombre del producto, descripción del archivo, etc.).
  • La hora y el nombre del usuario que lo creó.

Además  permite cerrar conexiones TCP no deseadas, eliminar el proceso que abrió los puertos y guardar la información en diversos formatos de archivo como HTML o XML.

CurrPorts también marca automáticamente con color rosa los puertos TCP/UDP sospechosos de ser utilizados por aplicaciones no identificadas.

Windows incluye una herramienta nativa llamada netstat que funciona mediante línea de comandos y, por lo tanto, no tiene una interfaz gráfica de usuario.

Comando netstat

El comando netstat nos da la posibilidad de conocer exactamente que puertos tenemos abiertos a la escucha e incluso cuales están recibiendo o transmitiendo información hacia el exterior

Para ejecutar la herramienta, tenemos que ir a Inicio y escribir cmd.

Accederemos al Símbolo del sistema.

Una vez dentro, tenemos que escribir netstat -a y a continuación pulsar intro.

En la pestaña Estado, entre otras cosas, se puede verificar si un puerto está abierto o no.

  • LISTENING: el puerto está abierto escuchando en espera de una conexión entrante.
  • ESTABLISHED: significa que se ha establecido la conexión.
  • TIME_WAIT: significa que está esperando después de cerrarse a que concluyan los paquetes que siguen en la red.
  • CLOSE_WAIT: la conexión remota ha finalizado, y se espera que se cierre el proceso que abrió el puerto.
  • LAST_ACK: la conexión se está cerrando.
  • CLOSED: la conexión ha sido cerrada definitivamente.

Otros comandos de netstat.

Al utilizar esta herramienta, es posible enumerar las conexiones de redes activas (entrantes y salientes) y los puertos de escucha.

Se puede ver las estadísticas del adaptador de red, así como las estadísticas de los protocolos (como IPv4 e IPv6).Incluso puede mostrar la tabla de enrutamiento actual y mucho más.

Otros comandos de netstat.

El comando netstat está disponible en Windows 10, pero también puedes encontrarlo en Windows Server, Windows 8.x, Windows 7 y versiones anteriores.

La herramienta tampoco es exclusiva de Windows, ya que también está disponible en todas las plataformas, como Linux y macOS.

Aunque los parámetros y la sintaxis pueden ser diferentes, todos son muy similares.

Abrir o cerrar puertos en el Firewall de Windows 10

Puedes configurar los ajustes del Firewall de Windows según tus necesidades o incluso restaurar sus valores predeterminados. Para ello debes acceder a la configuración avanzada del firewall.

Si vas a abrir un puerto en el Firewall de Windows que a su vez está cerrado en el router, no va a servir de nada.

En este video realizado por Solvetic, puedes ver los pasos que tienes que seguir para poder abrir o cerrar puertos en el cortafuegos de Windows.

Ten en cuenta que, a veces, después de bloquear un determinado puerto, las aplicaciones que dependen de el para comunicarse, pueden no funcionar correctamente.

También puedes tener problemas al conectarte a ciertos recursos. Esto significa que es posible que tengas que volver a abrir el puerto que bloqueaste.

Puedes deshacer los cambios en cualquier momento siguiendo el mismo proceso.

Temas: ,

Avisos de seguridad

Air VPN - The air to breathe the real Internet

Otros artículos

Riesgos de dejar cuentas en línea desatendidas o abandonadas
Señales de que tus cuentas de streaming han sido pirateadas
Los ciberdelincuentes están usando ChatGPT para engañar a las víctimas
Cómo mejorar tu seguridad y privacidad en Windows 11
Evita que los molestos anuncios te persigan por internet
Convierte tu Android en un dispositivo espía
Lo que una aplicacion VPN no debe hacer