Punycode y homógrafos: cuando un dominio falso se parece al verdadero

Actualizado el 25 de septiembre de 2026

Mire estas dos direcciones: paypal.com y pаypal.com. ¿Idénticas? Para nuestros ojos, sí. Para un ordenador, en absoluto: en la segunda, la segunda «а» es una letra del alfabeto cirílico, no una «a» latina. Son dos dominios distintos, que pueden pertenecer a dos personas distintas. Es el principio de los ataques por homógrafos, y para entenderlos hay que dar un pequeño rodeo por la manera en que internet escribe los nombres.

Unicode, ASCII y Punycode: tres palabras, una idea sencilla

En su origen, los nombres de dominio solo aceptaban un alfabeto muy reducido, llamado ASCII: las letras de la a a la z sin tilde, las cifras y el guion. Nada de «é», ni de «ñ», y menos aún árabe, chino o cirílico.

Pero el mundo escribe en decenas de alfabetos. Unicode es el gran catálogo que da un número a cada carácter de cada escritura: la «a» latina lleva el número U+0061, la «а» cirílica el U+0430. Mismo dibujo, números distintos.

Para permitir nombres de dominio en todos los idiomas sin cambiar toda la red, se inventó un traductor: el Punycode. Transforma un nombre escrito en Unicode en un nombre que solo usa el alfabeto ASCII, y lo señala con el prefijo xn--. El navegador muestra la versión bonita; la red solo ve la versión traducida.

Esquema: a la izquierda, lo que vemos (Unicode); a la derecha, lo que ve la red (ASCII, forma xn--); en medio, el traductor Punycode. Uso normal: société.fr se convierte en xn--socit-esab.fr, un sitio francés honrado. Trampa: pаypal.com con una «а» cirílica se convierte en xn--pypal-4ve.com, un dominio totalmente distinto. El reflejo: un xn-- en la dirección, mirar de cerca.
Figura 1: el Punycode traduce un nombre en Unicode a una forma ASCII que empieza por «xn--». Muy útil… y a veces desviado.

Cómo funciona un dominio en «xn--»

Tomemos un ejemplo perfectamente honrado: el dominio francés société.fr («sociedad»). La red no sabe leer la «é». El Punycode aparta las letras especiales, conserva las corrientes y añade al final un pequeño código que indica dónde volver a colocar los acentos:

société.fr   →   xn--socit-esab.fr

Encontramos «socit» (las letras corrientes) y luego «esab», el código que indica qué caracteres insertar y dónde. El prefijo xn-- solo avisa: «atención, este nombre ha sido traducido». Millones de nombres legítimos funcionan así, en alemán, en árabe, en chino, en ruso, en español. Un xn-- no es sospechoso en sí. Lo es cuando imita una marca conocida.

Los ataques por homoglifo: los falsos gemelos

Un homoglifo es un carácter que se parece muchísimo a otro. Y Unicode contiene muchos: la «а», la «е», la «о», la «р» y la «с» cirílicas son sosias perfectos de nuestras a, e, o, p y c. La «ο» griega imita la «o».

Ilustración: dos personajes idénticos llevan cada uno la letra a; uno es la «a» latina U+0061, el otro la «а» cirílica U+0430. Tabla de sosias frecuentes: a, e, o, p, c, i y sus equivalentes cirílicos o griegos. Incluso sin Unicode, «rn» imita «m» y «1» imita «l». Ejemplo célebre de 2017: аррӏе.com, totalmente en cirílico, corresponde a xn--80ak6aa92e.com, y algunos navegadores lo mostraban entonces como apple.com, sin alerta.
Figura 2: los falsos gemelos. Idénticos a la vista, totalmente distintos para el ordenador.

El estafador compra un dominio en el que una o varias letras se sustituyen por su sosia. En 2017, un investigador lo demostró de forma espectacular: registró xn--80ak6aa92e.com, que se escribe аррӏе.com con letras totalmente cirílicas, y varios grandes navegadores mostraban entonces simplemente «apple.com» en la barra de direcciones. Desde entonces, los navegadores han corregido ese caso.

Por qué la dirección puede parecer legítima

Los navegadores modernos aplican reglas de prudencia: cuando un nombre mezcla alfabetos de forma sospechosa, o se parece demasiado a un dominio conocido, muestran la forma xn-- en lugar de la versión bonita. Es una buena protección, pero tiene límites:

  • fuera de la barra de direcciones, esas reglas no siempre se aplican: en el texto de un correo, un SMS, un PDF o una mensajería instantánea, la versión «disfrazada» se muestra tal cual;
  • las reglas varían de un navegador, una versión y una aplicación a otra;
  • una mirada apresurada, en una pantalla pequeña, no distingue dos caracteres idénticos. Y no siempre hace falta Unicode: rn imita m, 1 imita l, como explica la guía Phishing: cómo consiguen los estafadores que lleguen sus correos.

Y como con cualquier dominio trampa, el sitio puede tener un certificado HTTPS válido y un bonito candado: prueban que la conexión está cifrada, no que el sitio sea honrado.

Cómo comprobar de verdad un dominio

Ante la duda, no nos fiamos de lo que vemos: hacemos hablar al nombre real.

  1. No hacemos clic. Copiamos el enlace (clic derecho, «copiar dirección del enlace»).
  2. Lo pegamos en un convertidor Punycode (hay muchos, gratuitos, en línea): si aparece una forma xn-- para un nombre que debería ser totalmente corriente, es una trampa.
  3. Aislamos el dominio: la parte justo antes de la primera «/». La guía Quishing: cuando el phishing se esconde detrás de un código QR detalla esta lectura.
  4. Pasamos por un camino seguro: un marcador guardado por nosotros mismos o la aplicación oficial. Un gestor de contraseñas también ayuda: no se deja engañar por un sosia y no propone nada en un dominio falso.

Baitback hace parte de este trabajo automáticamente: cuando se pega un correo, señala los enlaces en Punycode (forma xn--) y los dominios sosias de las marcas que conoce, incluso por homoglifo, y comprueba también el destino final tras las redirecciones.

Identificar el registrador y el alojamiento

Para hacer desaparecer el dominio, buscamos quién lo vendió y quién lo aloja. En las herramientas de consulta usamos siempre la forma xn--: es el nombre real, el que conocen los registros.

  • Una consulta RDAP o WHOIS sobre el dominio da el registrador, su dirección de denuncia («abuse») y la fecha de creación del dominio. Un sosia de marca creado la semana pasada deja pocas dudas.
  • La dirección IP del sitio permite encontrar su alojamiento, o la CDN situada delante, que también acepta denuncias y las transmite.

El registrador es aquí el actor más eficaz: un dominio que imita una marca mediante homoglifos es un caso de abuso muy claro, y la suspensión del nombre corta de golpe el sitio, los correos y todas las páginas asociadas.

Denunciar el dominio

Una buena denuncia cabe en unas líneas: la forma Unicode y la forma xn-- del dominio, la marca imitada, la dirección completa de la página, una captura de pantalla, la fecha y la hora. La enviamos al registrador y al alojamiento o a la CDN, y avisamos a la marca imitada.

Si el dominio llegó por correo, empezamos por Baitback: pegamos el código fuente completo del mensaje, la herramienta encuentra el servidor de envío y su alojamiento, detecta los enlaces sospechosos y prepara los mensajes de denuncia. También recuerda las plataformas de los navegadores (Google Safe Browsing, Microsoft, Netcraft…), que pueden mostrar una advertencia roja a todos los visitantes en pocas horas.

Lo que hay que recordar
  • Dos letras idénticas a la vista pueden ser dos caracteres distintos para el ordenador: es el homoglifo.
  • El Punycode traduce los nombres en Unicode a una forma ASCII que empieza por xn--.
  • Un xn-- no es sospechoso en sí, pero sí en un nombre que debería ser corriente o que imita una marca.
  • Un dominio se comprueba copiando el enlace, no mirándolo, y pasando por un marcador o la aplicación oficial.
  • Se denuncia al registrador con las dos formas del nombre: la suspensión lo corta todo de golpe.

¿Has recibido un correo sospechoso?

Pégalo en Baitback: la herramienta encuentra el servidor que lo envió y su proveedor de alojamiento, y prepara tus denuncias en un solo paso.

Analizar un correo

Todas las guías