Sammy el remitente está enviando un correo electrónico a Rita el destinatario. Sé que Sammy aplicará una firma DKIM al correo electrónico y Rita revisará la firma DKIM con un validador DKIM. Soy un hombre malicioso en el medio. Quiero modificar el correo electrónico para que los valores de encabezado que se muestran en el cliente de correo de Rita difieran de los que firmó DKIM, pero todavía quiero que el correo electrónico que recibe Rita parezca estar verificado por DKIM cuando se pasa a través de un validador DKIM. Se puede hacer esto? ¿Cuánto puede modificar un atacante?
Hasta ahora he aprendido de tres técnicas para hacer esto:
Agregar nuevo encabezado. Agregar un encabezado que no estaba presente en el correo electrónico original y no está incluido en la firma DKIM. Es probable que el cliente de correo electrónico de Rita aún muestre ese encabezado aunque no esté incluido en la firma DKIM.
Varias copias del encabezado. Agregue múltiples versiones del mismo encabezado, con un valor diferente. DKIM solo verificará el último; Si el cliente de correo electrónico muestra el primero, es posible un ataque exitoso. Para ser más específico, coloque un encabezado malicioso ; digamos, un encabezado
From:
con un valor malicioso - antes del encabezado DKIM. Si entiendo correctamente, la firma DKIM solo cubre los encabezados después del encabezado DKIM, por lo que la firma parecerá ser válida a pesar del hecho de que el valor del encabezado malicioso no se firmó. Crédito: Gracias a Robert Graham por señalando este truco .Agregar contenido después de la sección firmada. RFC 6376 señala un poco más oscuro ataque , si el encabezado DKIM en el correo electrónico original usa una etiqueta
l=
(la mayoría de los correos electrónicos ordinarios no lo hacen) y lo usa de manera imprudente. Probablemente no sea relevante en la mayoría de las situaciones.
Cada uno de estos tiene limitaciones sobre lo que el atacante puede lograr. ¿Hay otros ataques que haya pasado por alto?