Kobold Letters ou quand les emails HTML deviennent dangereux
Les emails HTML, c’est vraiment la plaie. Les clients mails ne les gèrent pas forcement bien et en plus, ils peuvent carrément être dangereux pour votre sécurité.
Histoire de vous expliquer ça plus clairement, on va prendre un exemple assez courant en entreprise. Votre chef reçoit un email tout a fait anodin, du style qu’il n’y a plus d’encre dans l’imprimante et vous le transfère pour que vous vous en occupiez. Vous recevez son mail, il est bien envoyé depuis la boite mail de ce dernier, et il est même signé cryptographiquement… Tout va bien. Sauf qu’une fois qu’il arrive dans votre boite mail, le contenu inoffensif disparait pour laisser place à un bon vieux mail de phishing, genre demande de changement de mot de passe sur un serveur, un certificat à installer, voire une demande de virement… On peut tout imaginer.
Cette mauvais surprise est possible grâce au CSS contenu dans les emails HTML. Ainsi, quand un mail est transféré, sa position dans le DOM change, ce qui permet d’appliquer des règles CSS spécifiques. Un petit malin peut alors planquer dedans des éléments qui n’apparaitrons que dans certaines conditions. C’est ce qu’on appelle des “kobold letters”, en référence à ces bestioles mythologiques fourbes et insaisissables.
Malheureusement, quasiment tous les clients mails qui supportent le HTML sont vulnérables à ce genre de coup fourré. Par exemple, Thunderbird se fait avoir en beauté. Il suffit de jouer avec les sélecteurs CSS en fonction de la position de l’email dans le DOM après transfert. Hop, l’attaquant planque le kobold letter avec un display: none
, et quand le mail est transféré, il le fait apparaître à nouveau avec un display: block !important
.
Et voilà, le piège est tendu !
<style> .kobold-letter { display: none; } .moz-text-html>div>.kobold-letter { display: block !important; } </style> <p>This text is always visible.</p> <p class="kobold-letter">This text will only appear after forwarding.</p>
Côté Outlook en version web app (OWA), c’est un poil plus tordu vu que c’est un webmail. Mais en bricolant un peu les sélecteurs CSS en fonction des classes ajoutées par OWA, on arrive à nos fins de la même manière. Comme pour Thunderbird, le kobold letter ne se pointera alors qu’après un transfert d’email, ni vu ni connu je t’embrouille !
Gmail, quand à lui, a une parade intéressante : il vire tout le CSS quand on transfère un mail. Donc techniquement, pas de kobold letters possibles. Enfin presque… on peut quand même planquer un kobold letter en CSS, et il apparaîtra directement après transfert vu que le style sera dégagé. Par contre, impossible de faire l’inverse, càd afficher un truc dans le mail original et le planquer après transfert. C’est déjà ça de pris !
Voilà… ce genre de failles n’est pas nouveau puisque des trucs similaires ont déjà été signalés mais l’idée des kobold letters, c’est de se concentrer sur un scénario d’attaque spécifique en observant plusieurs clients mails qui pourraient laisser passer ce type de phishing.
Alors, que faire ? Bah déjà, si vous pouvez vous passer complètement des emails HTML ou les afficher dans un mode restreint, foncez ! Sinon, les clients mails pourraient faire des compromis à la Gmail comme virer le CSS au transfert. Ça casserait pas mal de trucs niveau mise en page mais ça limiterait bien les risques.
Voilà, y’a pas vraiment de remède miracle tant que les clients mail n’auront pas évolué. Donc soyez extrêmement vigilant car ce genre d’attaque de phishing ciblée n’arrive pas qu’aux autres.
Que faire après le bac quand on est passionné de cybersécurité ?
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).