¿Por qué los subdominios olvidados son un riesgo de seguridad?

Cómo la transparencia de certificados deja a la vista los subdominios que has ido usando, qué es la toma de un subdominio y cómo hacer un inventario para limpiar lo que ya no sirve.

Por , Desarrollador full stack

En esta página

Cualquier empresa que lleve unos años en internet ha ido dejando subdominios por el camino: staging para probar la web antes de publicarla, tienda para una campaña de temporada, blog en una plataforma que se abandonó, encuestas apuntando a un servicio que ya no se paga. Cumplieron su función, el proyecto terminó y nadie borró el registro DNS.

Mientras nadie los mire, parecen inofensivos. El problema es que sí hay quien los mira, de forma sistemática, y que encontrarlos es bastante más fácil de lo que parece.

¿Cómo sabe alguien qué subdominios tienes?

La respuesta corta: porque tú mismo los has publicado, sin saberlo, cada vez que les pusiste un certificado HTTPS.

Los certificados TLS que emiten las autoridades de confianza se anotan en la transparencia de certificados (Certificate Transparency, o CT): unos registros públicos en los que solo se puede añadir, nunca borrar, y donde cada certificado queda apuntado con los nombres que cubre. Se crearon para detectar certificados emitidos por error o de forma fraudulenta, y cumplen esa función: si una autoridad emite un certificado para tu dominio sin que lo hayas pedido, queda a la vista. Desde 2018 Chrome rechaza los certificados públicos que no figuran en esos registros, así que, en la práctica, todo lo que lleva el candado está ahí.

La consecuencia secundaria es que esos registros son también un listado público de subdominios. Servicios como crt.sh los indexan y permiten buscar por dominio: aparece cada nombre que alguna vez tuvo un certificado, con la fecha de la primera y la última emisión. Incluido staging-2019.tudominio.com, que nadie de tu equipo recuerda.

Hay dos excepciones. Los certificados comodín (*.tudominio.com) cubren cualquier subdominio sin nombrarlo, así que los nombres concretos que protegen no aparecen. Y los subdominios que nunca tuvieron HTTPS tampoco.

¿Qué es la toma de un subdominio?

La toma de un subdominio (en inglés, subdomain takeover) es el riesgo más concreto, y funciona así:

  1. Montas una página de campaña en un servicio externo: una plataforma de páginas de aterrizaje, un almacenamiento en la nube o un alojamiento de sitios estáticos.
  2. Creas un registro CNAME para que campana.tudominio.com apunte a ese servicio.
  3. La campaña termina y das de baja la cuenta o el recurso en el servicio. Pero el CNAME se queda donde estaba.
  4. Alguien detecta que tu subdominio apunta a un recurso que ya no existe, crea uno con el mismo nombre en ese servicio y, a partir de ese momento, controla lo que se muestra en campana.tudominio.com.

No ha atacado tu servidor ni tu DNS: ha ocupado un hueco que quedó abierto. Y lo que consigue tiene valor:

  • Una dirección de tu dominio para alojar una página de phishing que el navegador mostrará con candado y con tu nombre en la barra.
  • Cookies: si tu web principal fija cookies para todo el dominio, el subdominio tomado puede llegar a leerlas.
  • Confianza heredada: políticas de seguridad, listas de orígenes permitidos o integraciones que confían en cualquier *.tudominio.com.
  • Tu reputación: si lo usa para distribuir malware, la marca que acaba en las listas de sitios peligrosos es la tuya. Qué hacer en ese caso está en qué hacer si Google marca tu web como peligrosa.

No todos los servicios son vulnerables: muchos exigen ya verificar la propiedad del dominio antes de aceptarlo. Pero la lista de los que no lo hacen, o no lo hacían cuando se creó el registro, es lo bastante larga como para que haya quien la recorra de forma automática.

¿Qué otros riesgos dejan los subdominios olvidados?

La toma es lo más llamativo, pero no lo más frecuente. Lo habitual es más prosaico:

  • Entornos de pruebas abiertos. Una copia de la web o de la aplicación con datos reales, sin contraseña o con una contraseña de prueba que conoce medio equipo.
  • Software sin actualizar. Un gestor de contenidos antiguo en blog-antiguo que nadie parchea es una puerta de entrada al servidor donde vive, que a veces es el mismo de la web principal.
  • Paneles de administración expuestos a internet que deberían estar detrás de una VPN.
  • Contenido duplicado o desactualizado que los buscadores siguen indexando bajo tu marca.

Ninguno de estos problemas está en tu web principal, que es la que revisas. Por eso pasan desapercibidos.

¿Cómo se hace un inventario?

Un inventario de subdominios no necesita una herramienta cara. Necesita una lista y alguien que la mantenga:

  1. Recoge los nombres de dos fuentes: la zona DNS completa de tu proveedor (lo que está configurado) y la transparencia de certificados (lo que alguna vez se publicó). Las dos listas rara vez coinciden del todo, y las diferencias son justo lo interesante.
  2. Para cada nombre, anota a qué apunta (una IP o un CNAME hacia qué servicio), para qué sirve, quién es el responsable y si sigue en uso.
  3. Comprueba cuáles responden. Un nombre que todavía resuelve, pero cuyo servicio devuelve un mensaje del tipo «este sitio no existe» o «recurso no encontrado», es el primer candidato a una toma.
  4. Señala los que nadie reclama. Si nadie sabe para qué está, probablemente sobra.

¿Qué conviene limpiar primero?

Por orden de urgencia:

  1. Registros CNAME que apuntan a servicios externos dados de baja. Bórralos cuanto antes: son el riesgo de toma directa.
  2. Registros A que apuntan a IP que ya no son tuyas, por ejemplo la de un servidor en la nube que se apagó. Esa IP se la puede asignar el proveedor a otro cliente.
  3. Entornos de pruebas accesibles desde internet. Protégelos con contraseña o con restricción por IP, o elimínalos.
  4. Aplicaciones antiguas sin mantenimiento. Migra lo que sirva y apaga el resto.

Y una regla para el futuro que evita casi todo lo anterior: al retirar un servicio, borra primero el registro DNS y después el recurso. En el orden contrario, durante el tiempo que pase entre una cosa y otra, el subdominio apunta a algo que ya no existe. En el orden correcto, lo peor que puede pasar es que el subdominio deje de responder un poco antes de lo previsto.

Los subdominios que sí siguen en uso merecen también una revisión de sus cabeceras de seguridad: con frecuencia están menos cuidadas que las de la web principal, porque se configuraron en otro servidor y en otro momento.

¿Cómo encontrar los tuyos?

La utilidad de subdominios de un dominio consulta la transparencia de certificados a través de crt.sh y devuelve todos los nombres que han tenido un certificado público, con la primera y la última fecha de emisión, si alguno sigue vigente, quién lo emitió y cuáles son comodines. Puedes filtrar la lista, marcar hasta treinta nombres para comprobar si siguen resolviendo en el DNS y descargarla en CSV como punto de partida del inventario.

Fíjate sobre todo en los nombres cuyo último certificado caducó hace tiempo pero que siguen respondiendo en el DNS: son subdominios que alguien dejó de mantener sin llegar a borrarlos.


Un subdominio olvidado no es peligroso el día que se crea. Lo es años después, cuando ya nadie recuerda que existe. Repasar el inventario una vez al año basta para cerrar la mayoría de esos huecos.

¿Hablamos de soporte y evolución continua?

Cuéntanos tu caso y te respondemos con una primera lectura del alcance en menos de 24 horas hábiles.

Respondemos en menos de 24 horas hábilesBogotá · UTC−5

Escríbenos por WhatsApp (se abre en una pestaña nueva)