• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una Al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / Formación / ¿Port Knocking… ofuscación o capa de seguridad?

¿Port Knocking… ofuscación o capa de seguridad?

27 enero, 2008 Por Hispasec Deja un comentario

El objeto de este artículo es recordar el concepto de «Port Knocking» y sus implicaciones de seguridad para en un posterior artículo reflexionar sobre «Single Packet Authorization» (SPA). «Port Knocking» no es un ingenio nuevo, lleva con nosotros desde 2003, pero es un tema recurrente en listas de correo y discusiones sobre seguridad.

¿Qué es «Port Knocking»?

Todos hemos visto películas en las que alguien golpea cierta secuencia en la puerta de una taberna y si la secuencia era correcta el tabernero abre una rendija para solicitar una clave verbal. Si la secuencia de llamada no era correcta, ninguna medida se toma y el interesado cree que la taberna se halla cerrada. El concepto de «Port Knocking» es exactamente análogo.

En informática, este concepto consiste en enviar paquetes a ciertos puertos en un orden específico con el fin de abrir un puerto en concreto. Este último puerto se halla cerrado por un cortafuegos siempre y cuando no se realice el barrido de puertos siguiendo la secuencia particular. De esta forma, si un atacante efectúa un escaneo del sistema, el puerto aparecerá cerrado aun estando el servicio asociado a él en funcionamiento, el cortafuegos hace un simple DROP si no se ha efectuado la secuencia de barrido previa.

Tomemos como ejemplo un demonio sshd escuchando en el puerto 22/TCP. Elegimos como secuencia de barrido la sucesión 43, 6540 y 82. El puerto 22 se abrirá si, y solo si, un usuario inicializa conexiones TCP hacia los puertos 43, 6540 y 82 en ese orden exacto. En caso contrario el usuario recibirá como respuesta un RST/ACK cuando intenta comenzar una conexión hacia el puerto 22.

Si la secuencia correcta de inicializaciones ha sido efectuada, el puerto 22 se abrirá durante un lapso de tiempo determinado y únicamente para la IP que completó la secuencia previa. Una vez el puerto 22 se halle abierto, se pueden llevar a cabo medidas adicionales de autenticación.

Polémica

Muchos son los que defienden que «Port Knocking» no es una capa de seguridad sino una medida de ofuscación («security by obscurity»). Lo cierto es que hay argumentos a favor y en contra de ambas afirmaciones.

Acudiendo a las definiciones clásicas de los tipos de autenticación (algo que sabes, algo que eres y algo que tienes), este mecanismo se encuadraría en el primer conjunto. Ahora bien, si un atacante conociera la existencia de esta medida y fuera capaz de escuchar el tráfico (en lado cliente o servidor), esta medida de seguridad sería tan débil como las contraseñas que viajan en claro.

Por tanto, como muchas otras técnicas, se trata de una línea de defensa que de manera aislada puede resultar muy débil, pero que junto con medidas adicionales puede proporcionar un nivel de robustez aceptable.

Consideraciones de seguridad

* Un atacante siempre podría intentar un ataque por fuerza bruta con el fin de descubrir la secuencia de puertos correcta, no obstante este ataque sería fácilmente detectado teniendo en cuenta su naturaleza ruidosa. Para una secuencia de 3 puertos, si el ataque recorre el rango de puertos 1 a 65535, esto implica que el ataque sería del orden de 655.353 tentativas, teniendo una esperanza de la mitad de este valor. Por tanto, como media, serían necesarios unos 140 billones de paquetes hasta conseguir la apertura del puerto deseado. Obviamente, esto se puede complicar mucho más incrementando el número de puertos de la secuencia.

* Si un atacante ha conseguido la secuencia de puertos, nada le impide hacer un «replay» de la secuencia capturada contra el servidor para así abrir el puerto. Sería por tanto interesante que la secuencia mutara con el tiempo, que se hiciera algún tipo de Hash con información adicional (temporal, etc.) o alguna otra medida para impedir los ataques por «replay». No obstante ello implicaría sincronización cliente-servidor y/o involucrar otros campos de los paquetes que no fueran tan sólo los 16bits del puerto destino en la cabecera TCP. Como consecuencia de estas modificaciones, la medida se hace difícilmente escalable en situaciones donde hay un gran número de clientes.

* Mucho más sencillo es hacer una denegación de servicio. Debido al lapso existente entre cada inicialización de conexión en la secuencia, un atacante puede simular y enviar paquetes para interrumpir la secuencia que está construyendo un usuario legítimo. Así, nada impide a un atacante el emplear herramientas como hping para forjar paquetes con la dirección IP de un usuario legítimo y enviar un flujo continuo hacia puertos aleatorios de la máquina servidor para que dicho usuario legítimo jamás sea capaz de completar una secuencia válida.

* Por último en esta lista no exhaustiva de reflexiones, para un observador del tráfico de red, un «Port Knocking» es indistinguible de un escaneo de puertos. Muchos IDS detectan los escaneos de puertos y algunos no tienen forma de diferenciar lo que es un «Port Knocking» de lo que es un escaneo. Si el umbral de paquetes para alertar de un escaneo de puertos es lo suficientemente bajo, el «port knocking» podría introducir ruido no deseado en los logs del IDS.

Aplicaciones

* Imaginemos que deseamos correr un servidor SSH para compartir archivos con nuestros amigos. No deseamos que gusanos, automatismos y usuarios maliciosos encuentren el puerto del servidor SSH abierto en sus escaneos de reconocimiento para posteriormente lanzar un ataque por fuerza bruta que consume recursos y podría dar lugar a una intrusión. En este caso podríamos emplear «port knocking» para evitar «automatismos tontos». Obviamente, tras el «Port Knocking» deberíamos tener como mínimo una autenticación por usuario/contraseña, y además, deseablemente, autenticación basada en algún algoritmo de clave pública.

* Una aplicación más oscura, y probablemente más popular, del «Port Knocking» es como método de ocultación de puertas traseras (ejemplo: cd00r.c). Muchos atacantes, tras haber instalado una puerta trasera en una víctima, la camuflan mediante «Port Knocking», de esta forma cualquiera que intente detectar anomalías basadas en la apertura de nuevos puertos difícilmente detectará la intrusión. Así, los servicios basados en herramientas como Nesus para detectar alteraciones en ciertas redes presentan una gran punto débil ante dichos ingenios y los profesionales de la seguridad no deberían tomar sus resultados como verdades absolutas.

Conclusión

«Port knocking» se basa en la comunicación de información en las cabeceras de los paquetes, lo cual limita severamente la cantidad de información que puede ser transmitida, y por tanto, su fortaleza como capa de seguridad. En una futura reflexión analizaremos otras técnicas como «Single Packet Authorization» (SPA), que presenta grandes ventajas sobre el mecanismo aquí estudiado.

 

Emiliano Martínez Contreras
emartinez@hispasec.com

Más información:

An Analysis of Port Knocking and Single Packet Authorization
Sebastien Jeanquier
http://www.securethoughts.net/spa/

Port Knocking
http://www.portknocking.org/

Port Knocking with IPTables
http://www.neep.co.uk/index.php?tab=Projects&menu=Port%20Knocking

Acerca de Hispasec

Hispasec Ha escrito 7093 publicaciones.

  • View all posts by Hispasec →
  • Blog

Compártelo:

  • Compartir en X (Se abre en una ventana nueva) X
  • Comparte en Facebook (Se abre en una ventana nueva) Facebook
  • Compartir en LinkedIn (Se abre en una ventana nueva) LinkedIn
  • Compartir en Reddit (Se abre en una ventana nueva) Reddit
  • Compartir en Telegram (Se abre en una ventana nueva) Telegram
  • Compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp

Publicaciones relacionadas

Publicado en: Formación

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

25 años Una Al Día

https://www.youtube.com/watch?v=Kb-PFqasD4I

Populares de UAD

  • CISA alerta de explotación activa de un fallo crítico en Langflow que permite secuestrar flujos de IA
  • CISA incluye fallos de Apple, Craft CMS y Laravel en KEV por explotación activa y fija parcheo antes del 3 de abril de 2026
  • Crunchyroll investiga un presunto robo de datos tras la filtración de millones de tickets de soporte
  • Ransomware Interlock explota Zero-Day crítico en Cisco FMC (CVE-2026-20131)
  • El activador de Windows KMSPico te puede robar tu billetera de criptomonedas

Entradas recientes

  • CISA alerta de explotación activa de un fallo crítico en Langflow que permite secuestrar flujos de IA
  • CISA incluye fallos de Apple, Craft CMS y Laravel en KEV por explotación activa y fija parcheo antes del 3 de abril de 2026
  • Ransomware Interlock explota Zero-Day crítico en Cisco FMC (CVE-2026-20131)
  • Crunchyroll investiga un presunto robo de datos tras la filtración de millones de tickets de soporte
  • Explotación activa de CVE-2025-32975 permite tomar el control de Quest KACE SMA sin parchear
  • Oracle lanza un parche urgente por una RCE crítica sin autenticación en Identity Manager
  • Filtración en Navia expone datos personales de 2,7 millones de usuarios en EE.UU.
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2026 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR