3 de octubre de 2024
En el mundo digital actual, la seguridad de la información es más crucial que nunca. Los correos electrónicos HTML, aunque comunes y convenientes, presentan riesgos significativos que a menudo pasan desapercibidos. Uno de estos riesgos emergentes son los llamados "Kobold Letters", una técnica sofisticada de phishing que explota las inconsistencias en la interpretación de CSS por parte de los clientes de correo electrónico.
Un ejemplo de este riesgo es un correo aparentemente inofensivo que, al ser reenviado, revela contenido malicioso previamente oculto. Este escenario demuestra cómo un atacante puede manipular elementos dentro de un correo electrónico HTML utilizando CSS, afectando su contenido dependiendo de si ha sido reenviado o no.
En esta sección, exploraremos en detalle cómo funcionan las "Kobold Letters", los riesgos asociados con los correos electrónicos HTML y las medidas que los usuarios y organizaciones pueden tomar para protegerse contra este tipo de amenazas. ¿Cómo Funcionan los "Kobold Letters"?
se basa en la capacidad de los atacantes para manipular el contenido de un correo electrónico utilizando reglas CSS que se activan o desactivan dependiendo del contexto del correo. Específicamente, cuando un correo electrónico es reenviado, la estructura del Documento de Modelo de Objeto (DOM) del correo cambia. Los atacantes pueden diseñar su código CSS para detectar y responder a estos cambios, mostrando u ocultando contenido específico basado en si el correo ha sido reenviado. Outlook en la Web (OWA)
En Outlook en la Web (OWA), los correos electrónicos reenviados pueden ser manipulados para alterar la estructura del DOM y las clases de los elementos. Por ejemplo, un correo original podría contener una clase CSS oculta denominada .kobold-letter, diseñada para ser visible solo cuando el correo es reenviado. Al reenviar el correo, OWA podría cambiar la estructura del DOM y modificar las clases, activando el contenido oculto. Esto se puede lograr con un código CSS como el siguiente:
<!DOCTYPE html>
<html>
<head>
<style>
.kobold-letter {
display: none;
}
body>div>.kobold-letter {
display: block !important;
}
</style>
</head>
<body>
<p>Este mensaje es una solicitud de aprobación rutinaria.</p>
<p class="kobold-letter">Si estás de acuerdo, procede con la transferencia.</p>
</body>
</html>
Por defecto elimina la mayoría de los estilos CSS al reenviar correos electrónicos, por lo que se simplifica la tarea introduciendo un contenido oculto que se revela después del reenvío, aprovechando el hecho de que el CSS se elimina solo después de que el correo ha sido enviado.
<!DOCTYPE html>
<html>
<head>
<style>
.kobold-letter {
display: none;
}
</style>
</head>
<body>
<p>Este mensaje es una solicitud de aprobación rutinaria.</p>
<p class="kobold-letter">Si estás de acuerdo, procede con la transferencia.</p>
</body>
</html>
Thunderbird cambia la estructura del DOM al reenviar correos electrónicos, lo que permite manipular el contenido visible al destinatario final. Un atacante puede diseñar su correo para que ciertos elementos CSS se activen solo después de que el correo sea reenviado, utilizando reglas CSS específicas para la estructura DOM modificada:
<!DOCTYPE html>
<html>
<head>
<style>
.kobold-letter {
display: none;
}
.moz-text-html>div>.kobold-letter {
display: block !important;
}
</style>
</head>
<body>
<p>Este mensaje es una solicitud de aprobación rutinaria.</p>
<p class="kobold-letter">Si estás de acuerdo, procede con la transferencia.</p>
</body>
</html>
Para demostrar que a día de hoy (15 de Junio de 2024) se sigue aconteciendo, voy a enviar desde Thunderbird un HTML a un OWA, una vez recibido solo aparecerá la información que se desea y al reenviarlo al Gmail aparecerá el nuevo párrafo.
Desde Thunderbird, el texto final se ve así:
De la misma forma, en el OWA.
Pero tras reenviarlo...