Journal Première faille de sécurité dans Tchap

Posté par  (site web personnel) . Licence CC By‑SA.
44
23
avr.
2019

Tchap, l'application de messagerie instantanée du gouvernement, basée sur Riot, a souffert d'une grave faille de sécurité dès son lancement.

Le hacker Robert Baptiste Aussi connu sur twitter sous Elliot Alderson, a réussi à accéder aux salons privés de l’Élysée, en …une heure et quart.

Voici une traduction approximative du modus operandi employé par Robert. La page de blog originale est à la fin du journal.

L'application est disponible sur le google play store, mais il faut une adresse email @gouv.fr ou @elysee.fr pour y accéder.

Après décompilation de l'application, on peut voir la liste des salons:

La liste des salons est disponible dans l'application :

  • matrix.agent.dev-durable.tchap.gouv.fr
  • matrix.agent.dinum.tchap.gouv.fr
  • matrix.agent.intradef.tchap.gouv.fr
  • matrix.agent.diplomatie.tchap.gouv.fr
  • etc…

I set id_server to matrix.agent.elysee.tchap.gouv.fr. For info, Elysée is the French presidential palace. As I choose this server I guessed I should have an @elysee.fr email address. So, in the requestToken request, I modified email to fs0c131y@protonmail.com@elysee.fr. Hum, no validation email in my inbox…

J'ai réglé la valeur de 'id_server' à "matrix.agent.elysee.tchap.gouv.fr". Pour info (sic), Élysée est le palace présidentiel. Comme j'ai choisi ce serveur, je suppose que je dois avoir une adresse email @elysee.fr. Dans la requête "requestToken", j'ai modifié l'email par fs0c131y@protonmail.com@elysee.fr. Bon, pas d'email de validation dans ma boîte aux lettres…

Wait, maybe it is waiting a known @elysee.fr email address. So I did a Google search “email @elysee.fr”

Attendons, peut être qu'il faut une adresse réelle @elysee.fr. J'ai donc fait une recherche google "email @elysee.fr"

So I did another try and in the requestToken request and I modified email to fs0c131y@protonmail.com@presidence@elysee.fr. Bingo! I received an email from Tchap, I was able to validate my account!

J'ai donc essayé une nouvelle fois la requête "requestToken" et j'ai modifié l'email à "fs0c131y@protonmail.com@presidence@elysee.fr". Bingo! j'ai reçu un email de Tchap, j'ai été en mesure de confirmer mon compte.

"I am logged as an Elysée employee, and I had access to the public rooms."

Je suis connecté en tant qu'employé de l'élysée, et j'ai accès aux salons public.

Funny thing: an employee of the Ministry of Agriculture created a “Yellow room” for “people who loves the yellow”.

Fait amusant, un employé du ministère de l'agriculture a crée un "Salon jaune" pour "ceux qui aiment le jaune".

Analyse des faits:
- 9:00: D@ebut de l'analyse
- 10:15: Putain, je suis dedans
- 10:35: J'ai donné quelque coups de fil pour contacter l'employé du gouvernement en charge de Tchap.
- 11:19: J'ai donné les détails de la faille de sécurité à l'équipe en charge de Matrix.
- 14:00 pm: Matrix a résolu la faille et publié une alerte sur Twitter https://twitter.com/matrixdotorg/status/1118859344790077441
- 17:42: Appel avec les officiels du gouvernement
- 19:48: Matrix publie une entrée de blog pour expliquer la faille en détail.

Liens
- Le blog de R.Baptise

  • # Pas compris

    Posté par  . Évalué à 7.

    Je n'ai pas compris pourquoi en ayant mis l'email fs0c131y@protonmail.com@presidence@elysee.fr, il semble avoir reçu le courriel à son adresse protonmail.com. Est-ce que déjà j'ai juste ? et si oui quel mécanisme fait que ça fonctionne ? Ou peut-être qu'il s'agit d'un bug de l'application qui spliterait (par exemple) l'adresse données en 2 parties valides.

    Si quelqu'un a l'explication, je suis preneur.

    • [^] # Re: Pas compris

      Posté par  (site web personnel) . Évalué à 9.

      C'est une faille Python:

      In fact, the vulnerability I found on #Tchap is a problem that comes from the Python email.utils module 😨

      The parseaddr method seems very broken, you should not use it at all. Let me show you why. 1/ pic.twitter.com/qvEEqo9Usn
      — Elliot Alderson (@fs0c131y) April 19, 2019

    • [^] # Re: Pas compris

      Posté par  . Évalué à 10. Dernière modification le 23 avril 2019 à 19:03.

      C'est dû à un bug de la bibliothèque utilisée par Matrix pour parser les adresses e-mail : elle supprime tout ce qui est derrière un deuxième @. Il y a plus d'explications (et peut-être plus justes) sur le twitter de Eliot Alderson.

      Le résultat est que Tchap pense que l'e-mail est en presidence@elysee.fr, et autorise donc la création de compte. Mais l'e-mail de création de compte est envoyé où on veut (là où le parser d'adresse e-mail comprend l'e-mail).

      EDIT : grillé.

      • [^] # Re: Pas compris

        Posté par  . Évalué à 4.

        Un ticket est ouvert depuis… juillet 2018 !. Faut pas être pressé…
        D'autant plus que, depuis novembre, c'était silence radio… Jusqu'aux événements récents, qui "réveillent" le ticket !

        • [^] # Re: Pas compris

          Posté par  (Mastodon) . Évalué à 10.

          Oui mais pour celui qui écrit cette bibliothèque, je pense que ce n'est pas une faille de sécurité, c'est juste un cas très particulier qui n'est pas bien géré : rien ne presse.

          J'en veux un peu plus à celui qui a décidé que utiliser cette bibliothèque serait la première barrière de sécurité (sinon la seule ?), sans avoir sérieusement audité le code.

          En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

          • [^] # Re: Pas compris

            Posté par  . Évalué à 4.

            J'en veux un peu plus à celui qui a décidé que utiliser cette bibliothèque serait la première barrière de sécurité (sinon la seule ?), sans avoir sérieusement audité le code.

            Baptiste (son prénom) est assez saignant dans une série de tweets sur Matrix. Apparemment le code n'a fait l'objet d'aucun audit.

  • # Full disclosure

    Posté par  . Évalué à 5.

    Matrix a publié la faille dans la journée ? Ça laisse peu de temps pour mettre à jour ton instance…

  • # Silence sur la faille

    Posté par  (site web personnel) . Évalué à 10.

    Motus et bouche cousue, c'est le modus operandi qui souhaiteraient voire employer certains éditeurs sur les failles de leurs logiciels. De là à inventer le

    « […] motus operandi […] »

    Du hacker, il n'y avait qu'un pas ou deux touches sur le clavier azerty classique :-).

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # Magic link

    Posté par  . Évalué à 8.

    Ça ouvre la porte à pas mal de systèmes reposant sur email.utils, exploitant le mécanisme du "magic link" envoyé par e-mail, que ce soit pour l'authentification ou bien la réinitialisation de mot de passe.

  • # Commentaire supprimé

    Posté par  . Évalué à -6. Dernière modification le 26 avril 2019 à 14:37.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Protonmail

      Posté par  (site web personnel) . Évalué à 4.

      C'est une vraie question d'un nouveau arrivé là par hasard et qui trouve un lien ténu entre le sujet initial (Tchap) et son sujet (les VPN) via ProtonMail, ou bien juste un spam CEO mal fait et relou' ?

      • [^] # Re: Protonmail

        Posté par  . Évalué à 3.

        Un spam CEO, mais bien fait j'avoue.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.