Es una práctica generalizada enlazar recursos externos, sitios de terceros y páginas de sitios o aplicaciones web. Incluir estos enlaces salientes es una buena práctica de SEO. En otros casos, los sitios y aplicaciones web pueden utilizar enlaces externos para acortar enlaces, almacenar secuencias de comandos, páginas de análisis e incluso servicios CDN o de alojamiento de archivos.
¿Qué ocurre si las páginas/recursos enlazados dejan de existir, pero los enlaces permanecen en el sitio web? Esto provoca un alto riesgo de Broken Link Hijacker, un tipo de ataque web.
Profundicemos en el Broken Link Hijacking y entendamos cómo prevenir este ataque web.
¿Qué es el Broken Link Hijacking (BLH)?
El Broken Link Hijacking (o en español, Secuestro de Enlaces Rotos) implica que un atacante se apodera de tus enlaces externos abandonados, caducados o inválidos y los utiliza para actividades maliciosas o fraudulentas.
Un sitio web activo probablemente incluirá varios enlaces externos que sirven para diferentes propósitos. Con el tiempo, algunos de estos enlaces podrían caducar y posiblemente no tengas conocimiento de ello. Sigues gestionando tu sitio web, ajeno a los enlaces caducados.
Como los ciberatacantes buscan constantemente vulnerabilidades en los sistemas para penetrar, se topan con enlaces caducados o abandonados y los explotan para su propio beneficio.
Ejemplo de Broken Link Hijacking
Por ejemplo, la sección de blog de un popular sitio web de comercio electrónico tiene un enlace incrustado a un sitio de alojamiento de imágenes. Al cabo de un tiempo, este enlace está muerto o el dominio ha caducado. Sin saberlo, el blog del sitio web de comercio electrónico sigue constando de este enlace externo y sigue recibiendo más visitas con el paso de los años. Un atacante, mientras husmea en el sitio web, descubre esta brecha de seguridad y compra el dominio caducado. De este modo, el atacante obtiene acceso a los visitantes del blog a través del enlace roto. Utilizando el enlace roto, el atacante puede llevar a cabo una serie de actividades nefastas, que van desde el scraping de contenidos y la desfiguración hasta el secuestro del sitio web y los ataques XSS.
¿Qué Hace Posible los Ataques BLH?
Los ataques de secuestro de enlaces se producen porque el sitio web/aplicación web sigue conteniendo enlaces a recursos/páginas caducados/viejos (cargados mediante URL externas).
Dada la incesante transformación de la Web, todos los recursos cargados externamente no permanecerán inalterados y accesibles para siempre. La expiración de un dominio, la supresión de una página/recurso/cuenta, la reestructuración de un sitio web, el cambio de marca/adquisición de una empresa, etc. pueden hacer que los enlaces salientes se pierdan/expiren.
Riesgos Asociados al Secuestro de Enlaces Rotos (BLH)
Los atacantes aprovechan el secuestro de enlaces rotos de numerosas formas, algunas de las cuales se detallan a continuación.
Defacements
Al comprar dominios caducados y utilizar los enlaces rotos en sitios web/aplicaciones web, los atacantes pueden realizar defacements (desfiguraciones). Pueden cambiar su contenido original por su contenido malicioso u ofensivo. Esto podría conducir a una pérdida de reputación de la empresa, a la pérdida de clientes y a la distribución de programas maliciosos.
Varias cuentas de famosos en las redes sociales se han visto afectadas por ataques BLH.
Ataques XSS almacenados
A menudo, las empresas cargan scripts desde ubicaciones/recursos externos por varias razones. Por ejemplo,
- Almacenamiento en caché de JavaScript (JS) para acelerar la carga de la página
- Separación de HTML y JS para facilitar el mantenimiento
- Enlace a análisis de tráfico, etc.
Si estos enlaces se rompen, el atacante puede apoderarse del dominio o de los recursos y sustituir los scripts. Esto conduce a ataques XSS almacenados con scripts maliciosos que se cargan automáticamente en las páginas web con cada visita.
Más información sobre el ataque XSS, aquí.
Suplantación de identidad
Otro gran riesgo asociado a los BLH es la suplantación de identidad. Los secuestradores de enlaces rotos aprovechan los endpoints caducados (dominios caducados, cuentas de redes sociales eliminadas, etc.) al final de los enlaces rotos para hacerse pasar por empresas y usuarios de alto perfil. Esto causa graves daños financieros y de reputación.
Por ejemplo, una empresa puede eliminar una cuenta de redes sociales pero dejar el enlace en su sitio web. El secuestrador simplemente creará una cuenta con ese nombre y publicará algo censurable o se dedicará al phishing, haciéndose pasar por la empresa.
Otros riesgos
- Secuestro de contenidos
- Fuga de información
- Ataques de phishing
Prevención de Broken Link Hijacking
Los atacantes pueden buscar enlaces rotos en un sitio o aplicación web utilizando una de las muchas herramientas disponibles en Internet. A partir de ahí, es un proceso sencillo explotar estos enlaces rotos para sus fines maliciosos.
Las empresas, por otro lado, no son conscientes de la existencia de enlaces rotos durante años. Esto puede deberse a que los escáneres de vulnerabilidades no están equipados para comprobar si existen enlaces rotos y a que los pen-testers los pasan por alto.
Herramientas para comprobar si hay enlaces rotos
Dead Link Checker
Dead Link Checker rastrea a través de tu sitio web, identificando los enlaces rotos para que puedas arreglarlos.
Broken Link Checker
Broken Link Checker es un escáner de enlaces rotos CLI basado en NodeJS escrito por Steven Vachon.
https://github.com/stevenvachon/broken-link-checker
Existe otra herramienta similar, escrita en Python, llamada BrokenLinkHijacker.
La mejor forma de prevenir los ataques de secuestro de enlaces rotos es identificar de forma proactiva estos enlaces obsoletos/muertos y eliminarlos del sitio web con regularidad. Las herramientas de análisis inteligente de vulnerabilidades como AppTrana pueden identificar miles de vulnerabilidades, incluidos posibles enlaces rotos y desfiguraciones.
Cuando se combinan con un WAF robusto y pruebas de penetración realizadas por expertos en seguridad certificados, las empresas pueden ir muy por delante de los atacantes y evitar el secuestro de enlaces rotos.