Attaques Unicode

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Qui suis-je?

Alexandre ZANNI a.k.a noraj

Pentester @ACCEIS

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Plan

  1. Fonctionnement d'Unicode
  2. Problématiques liées à Unicode
  3. Attaques ciblant Unicode
  4. Détecter et se protéger des attaques Unicode
  5. C'est une rump (5min)
Attaques Unicode - 25/03/2022 - Alexandre ZANNI

🇺🇸

Case transformation collision

Account takeover via password reset
Attaques Unicode - 25/03/2022 - Alexandre ZANNI

🇫🇷

Collision par transformation de casse

Prise de contrôle du compte par réinitialisation du mot de passe

Attaques Unicode - 25/03/2022 - Alexandre ZANNI
Attaques Unicode - 25/03/2022 - Alexandre ZANNI

email.toLowerCase()

Admin@hackceis.pw ➡️ admin@hackceis.pw

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

admin@HACKCEIS.pw vs admin@HACKCEIS.pw

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Attaques Unicode - 25/03/2022 - Alexandre ZANNI
  1. U+004B (Latin Capital Letter K)
    • ➡️ U+006B (Latin Small Letter K)
  2. U+212A (Kelvin Sign)
    • ➡️ U+006B (Latin Small Letter K)
Attaques Unicode - 25/03/2022 - Alexandre ZANNI
> a = "K";
'K'
> b = "K";
'K'
> a == b
false
> a.toLowerCase() == b.toLowerCase()
true
Attaques Unicode - 25/03/2022 - Alexandre ZANNI
  • sélectionne email.toLowerCase() en DB (legit)
  • envoi l'email à email (hacker)
Attaques Unicode - 25/03/2022 - Alexandre ZANNI

🇺🇸

Host splitting

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

🇫🇷

Fractionnement de l'hôte

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

U+2100 (Account Of)

(U+2100) ➡️ a (U+0061) + / (U+002F)+ c (U+0063)

➡️ a/c

Attaques Unicode - 25/03/2022 - Alexandre ZANNI
url = 'https://acceis.c℀hat.client.com'
url.unicode_normalize(:nfkd) # => "https://acceis.ca/chat.client.com"
url.unicode_normalize(:nfkc) # => "https://acceis.ca/chat.client.com"
Attaques Unicode - 25/03/2022 - Alexandre ZANNI

https://acceis.c℀hat.client.com

⬇️

https://acceis.ca/chat.client.com

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

https://acceis.medi℀areer.client.com

⬇️

https://acceis.media/career.client.com

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

TLDs : .ca, .media, .ninja, pizza, .mba, .moda, etc.

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Example : navigateur qui reçoit un en-tête HTTP Location et qui renvoie vers sa version normalisée, URL parser

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Il n'y a pas que a/c :

  • ⁈ (U+2048) ➡️ ?!
  • / (U+FF0F) ➡️ / ⬅️ the best
  • # (U+FF03) ➡️ #
  • @ (U+FF20) ➡️ @
  • : (U+FF1A) ➡️ :
  • ⒈ (U+2488) ➡️ 1.
Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Attaques Unicode - 25/03/2022 - Alexandre ZANNI

Crédits images

Attaques Unicode - 25/03/2022 - Alexandre ZANNI