Leer dominios y enlaces
Módulo 3: Reconocer el phishing · Tiempo de lectura: 13 minutos
Objetivo de aprendizaje: Después de esta lección podrá determinar el destino real de cualquier enlace: encontrará el dominio registrable con la lista pública de sufijos y reconocerá trucos de subdominio, ruta y @, lookalikes, punycode, acortadores y redirecciones abiertas.
Conceptos clave: URL, esquema, host, dominio registrable, sufijo público, subdominio, ruta, lookalike, typosquatting, homógrafo, punycode (xn--), acortador de URL, redirección abierta
Las partes de un enlace
Una dirección web se llama URL. Consta de partes fijas:
https://inlog.mijnbank.example:443/klant/overzicht?taal=nl#saldo| Parte | En este ejemplo | Qué hace |
|---|---|---|
| Esquema | https | Cómo se conecta el navegador |
| Host | inlog.mijnbank.example | Con qué servidor se comunica |
| Puerto (rara vez visible) | 443 | El "número de puerta" en ese servidor |
| Ruta | /klant/overzicht | Qué página de ese servidor |
| Consulta | ?taal=nl | Datos adicionales para la página |
| Fragmento | #saldo | Un lugar dentro de la página |
El host es la única parte que determina de quién es el sitio. La ruta, la consulta y el fragmento los elige el propio dueño de ese host. Ahí puede figurar cualquier cosa, incluso el nombre de otra organización.
El host se lee de derecha a izquierda, etiqueta por etiqueta. El final es lo más importante.
El dominio registrable y la lista pública de sufijos
No toda la host indica quién es el propietario, sino una parte concreta: el dominio registrable. Es el nombre que alguien ha registrado ante un registrador. Todo lo que queda a la izquierda son subdominios, y esos los crea el propio propietario, tantos como quiera.
Para encontrar el dominio registrable hay que saber dónde se puede registrar realmente un nombre propio. Esa parte se llama sufijo público. Algunos ejemplos son com, nl y example, pero también co.uk: en el Reino Unido, una empresa registra un nombre bajo co.uk. El dominio registrable es entonces el sufijo público más una etiqueta delante.
| Host | Sufijo público | Dominio registrable |
|---|---|---|
www.example.com | com | example.com |
inlog.mijnbank.example | example | mijnbank.example |
www.shop.[naam].co.uk | co.uk | [naam].co.uk |
mijnbank.co.uk.example | example | uk.example |
La regla general de "tomar los dos últimos trozos" falla, por tanto. Con www.shop.[naam].co.uk obtendría co.uk, que no pertenece a nadie en particular. Y el último ejemplo muestra que co.uk en medio de un nombre no significa nada: ahí el propietario es uk.example.
Qué sufijos son públicos figura en la Public Suffix List (publicsuffix.org), una lista que inició Mozilla y que ahora mantiene la comunidad. Los navegadores la utilizan, entre otras cosas, para determinar qué sitios pueden compartir cookies y para resaltar la parte importante de una dirección. La lista también tiene una sección de sufijos "privados": servicios en los que los clientes reciben su propio subdominio, como algunos alojamientos para blogs y páginas de proyectos. Cada cliente bajo esos sufijos cuenta como un propietario distinto.
Si un sufijo no figura en la lista, se aplica la regla predeterminada: la última etiqueta es el sufijo. Por eso, con .example el dominio registrable son siempre las dos últimas etiquetas.
Trucos con subdominio, ruta y @
Ahora que sabe dónde se indica el propietario, verá cómo los atacantes engañan su vista. Colocan el nombre que usted espera en otro lugar del enlace.
Truco del subdominio.
https://mijnbank.example.inlog-check.example/loginAl principio ve mijnbank.example. Pero lea de derecha a izquierda: el sufijo es example, el dominio registrable es inlog-check.example y ese es del atacante. El atacante compró ese dominio y colocó delante el subdominio mijnbank.example.
Truco de la ruta.
https://inlog.example/mijnbank.example/klant/loginEl host es inlog.example y nada más. Todo lo que sigue a la primera / es la ruta, y eso lo elige el propietario de inlog.example libremente.
Truco del @.
https://mijnbank.example@aanvaller.example/inloggenUna URL puede contener, antes del host, una parte de usuario terminada en @ (el estándar de las URL, RFC 3986, la llama userinfo). Todo lo que precede al @ no es, por tanto, host. El navegador va a aanvaller.example y a ningún otro sitio. Algunos navegadores avisan o eliminan esa parte de usuario, pero no cuente con ello.
Un método práctico y fijo: busque la primera / después de https://. Lo que hay antes es el host (con, eventualmente, una parte de usuario y un @). Si hay un @, el host empieza justo después. Lea el host de derecha a izquierda hasta llegar al dominio registrable.
Lookalikes, typosquatting y punycode
Un lookalike es un dominio propio que se parece al de otra organización:
| Lookalike | Truco |
|---|---|
rnijnbank.example | rn se parece, en muchas tipografías, a m |
mijnbnak.example | dos letras intercambiadas (typosquatting: apostar por un error tipográfico) |
mijnbank-veilig.example | una palabra añadida con guion: un dominio totalmente distinto |
mijnbank-example.example | el punto sustituido por un guion |
mijnbank.example.inlog-check.example | el dominio real como subdominio (véase más arriba) |
Un paso más allá está el homógrafo: un dominio con letras de otro alfabeto que tienen el mismo aspecto. La а cirílica parece una a latina, pero para el ordenador es un carácter distinto. Los nombres de dominio con esos caracteres se llaman nombres de dominio internacionalizados. El DNS solo admite letras de la a a la z, números y el guion, así que ese nombre se convierte a punycode (RFC 3492): una forma que empieza con xn--.
mijnbаnk.example (con una а cirílica)
xn--mijnbnk-6fg.example (el mismo nombre en punycode)Si ve xn-- en una dirección, ese nombre contiene caracteres fuera del rango a-z. Eso puede ser perfectamente normal (muchos idiomas tienen acentos o un alfabeto propio), pero en un nombre que por lo demás parece neerlandés o inglés, es una señal muy fuerte. Los navegadores tienen reglas para mostrar como punycode las combinaciones sospechosas; Chrome, por ejemplo, muestra como xn-- una etiqueta con escritura latina y cirílica mezclada. Pero esas reglas no lo detectan todo, y en un correo o un chat a menudo solo verá las letras, con buen aspecto.
Acortadores y redirecciones abiertas
Los acortadores de URL convierten un enlace largo en uno corto, como https://kort.example/a8Xk2. Es práctico, pero no se ve el destino. El dominio registrable del enlace es del acortador, no de la organización que usted espera. Un banco o proveedor que le pida iniciar sesión mediante un enlace acortado: no lo haga.
Una redirección abierta es una página de un sitio real que reenvía a los visitantes a cualquier dirección indicada en el enlace:
https://mijnbank.example/doorsturen?naar=https://aanvaller.example/inloggenEl host es realmente mijnbank.example, pero tras un clic se encuentra en aanvaller.example sin darse cuenta. También con un acortador o un enlace de seguimiento de un servicio de boletines puede terminar en un lugar distinto del primer dominio. La lección: vuelva a mirar la barra de direcciones después de hacer clic, antes de rellenar nada. ¿Y el candado? Eso solo indica que la conexión está cifrada. Los sitios falsos también tienen un certificado válido.
En la práctica: así se ve
En un ordenador, pase el ratón sobre un enlace sin hacer clic; el destino real aparece en la esquina inferior izquierda de la ventana o en un globo. En la mayoría de los programas de correo y el correo web también funciona así. En un teléfono, mantenga el dedo sobre el enlace: aparece un menú con la dirección encima. Entonces no elija "abrir".
Tenga en cuenta dos trampas:
- El texto visible no es el destino. En un correo, el botón o el texto puede mostrar
https://mijnbank.example, mientras que el enlace subyacente lleva a una dirección completamente distinta. Solo cuenta lo que ve con el ratón o al mantener pulsado. - Las direcciones largas se cortan. Los teléfonos suelen mostrar solo el principio. Precisamente el final importante desaparece entonces. Desplácese o toque en la dirección para verla completa.
Si tiene dudas, escriba usted mismo la dirección que conoce o use su marcador. INCIBE también recomienda comprobar previamente un enlace con sus recursos para empresas.
Resumen
- Solo el host determina de quién es un sitio. La ruta, la consulta y todo lo que precede a un
@lo elige el atacante libremente. - El dominio registrable es el sufijo público más una etiqueta. Use la Public Suffix List, no "los dos últimos trozos" (piense en
co.uk). - Lea el host de derecha a izquierda. El dominio real al principio, como subdominio, es un truco clásico.
- Lookalikes: letras intercambiadas, palabras añadidas, homógrafos.
xn--significa caracteres fuera de a-z. - Los acortadores ocultan el destino, las redirecciones abiertas le reenvían. Vuelva a mirar la barra de direcciones después de hacer clic.
Cuestionario
Ejercicio
Ejercicio A3.2: Encontrar el dominio registrable. Recibirá ocho enlaces. Indique para cada enlace el dominio registrable y señale si el enlace corresponde a la organización real. El programa corrige su respuesta con la Public Suffix List.
Ejercicio A3.2b: Enlaces complicados. Ocho enlaces con trucos de @, punycode, acortadores y páginas de redirección. Indique por cada enlace a qué dominio llega, o elija "no se puede saber".
Para saber más
Los pasos de los artículos de WebOké se aplican al entorno de WebOké; en otros proveedores funciona de forma similar.
- ¿Es realmente este correo de WebOké? Cómo reconocer el phishing y utilizar el código de promoción
- Curso de DNS, sobre nombres de dominio y cómo leerlos: https://www.weboke.es/dns-cursus
- INCIBE, recursos para empresas: https://www.incibe.es/empresas
- Public Suffix List: https://publicsuffix.org/
- RFC 3986, la estructura de una URL (entre otros, userinfo): https://www.rfc-editor.org/rfc/rfc3986
- RFC 3492, Punycode: https://www.rfc-editor.org/rfc/rfc3492
- Chromium, cuándo el navegador muestra un nombre internacionalizado como punycode: https://chromium.googlesource.com/chromium/src/+/main/docs/idn.md
