Journal Matrix.org piraté

Posté par . Licence CC by-sa.
Tags :
25
12
avr.
2019

Alors voici ce qui est apparu sur la homepage (preuves du piratage):
https://web.archive.org/web/20190412060115/http://matrix.org/

Le hacker est en train de faire une sorte d'audit post-mortem directement sur Github (!):
https://github.com/matrix-org/matrix.org/issues/358
https://github.com/matrix-org/matrix.org/issues (cherchez les tags [SECURITY])

Matrix.org communique sur le sujet:
https://matrix.org/blog/2019/04/11/security-incident/

Mais le fil twitter est peut-être plus à jour:
https://twitter.com/matrixdotorg/status/1116304867683905537

A noter qu'ils ont déconnecté de force tous les utilisateurs (de matrix.org). Ce qui a un effet intéressant pour ceux qui utilisaient le chiffrement sans avoir sauvegardé leurs clés:

As we had to log out all users from matrix.org, if you do not have backups of your encryption keys you will not be able to read your encrypted conversation history. However, if you use server-side encryption key backup (the default in Riot these days) or take manual key backups, you’ll be okay.

This was a difficult choice to make. We weighed the risk of some users losing access to encrypted messages against that of all users' accounts being vulnerable to hijack via the compromised access tokens. We hope you can see why we made the decision to prioritise account integrity over access to encrypted messages, but we're sorry for the inconvenience this may have caused.

Ayant mon propre serveur matrix, je n'ai pas été piraté (et je peux continuer à utiliser matrix). Donc quelque part, la décentralisation a du bon (bon par contre il faut que je fasse profil bas jusqu'à ce que l'on comprenne vraiment d'où vient vraiment la faille).

  • # Pas Matrix donc

    Posté par (page perso) . Évalué à 4. Dernière modification le 12/04/19 à 11:09.

    bon par contre il faut que je fasse profil bas jusqu'à ce que l'on comprenne vraiment d'où vient vraiment la faille

    J'allais dire que tu es un marrant à utiliser un logiciel troué non patché, mais pour les flemmards pour info ça ne semble pas venir du logiciel lui même, le cracker (hacker? heu… pas le bon mot? En tous cas il s'amuse bien) dit "Escalation could have been avoided if developers only had the access they absolutely required and did not have root access to all of the servers." donc le tout est de ne pas filer l'accès à sa machine.

    • [^] # Re: Pas Matrix donc

      Posté par (page perso) . Évalué à 5.

      J'allais dire que tu es un marrant à utiliser un logiciel troué non patché, mais pour les flemmards pour info ça ne semble pas venir du logiciel lui même, le cracker (hacker? heu… pas le bon mot? En tous cas il s'amuse bien) dit "Escalation could have been avoided if developers only had the access they absolutely required and did not have root access to all of the servers." donc le tout est de ne pas filer l'accès à sa machine.

      Yep, et ça donne également du crédit à l'encryption end to end.

      Car ce genre de problème pourrait arriver à n'importe quel serveur de chat et avec des hackers avec un sens de l'humour nettement moins sympa.

    • [^] # Re: Pas Matrix donc

      Posté par . Évalué à 6.

      Oui l'article de blog de Matrix a l'air assez clair : il s'agit de failles dans Jenkins (déploiement). Du coup ça veut dire que les développeurs ont été des hackeurs (Belin) à l'issue de leur plein grès, via un exploit Jenkins ?

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

      • [^] # Re: Pas Matrix donc

        Posté par . Évalué à 4.

        via un exploit Jenkins ?

        J'imagine qu'il ne s'agit pas d'un exploit Jenkins à proprement parlé mais plus de l'utilisation des capacités qu'a généralement Jenkins à executer du code sur divers serveurs dans le but justement de déployer des versions…

        • [^] # Re: Pas Matrix donc

          Posté par . Évalué à 3. Dernière modification le 12/04/19 à 15:05.

          Après lecture des "issues" de l'attaquant, my bad: il évoque effectivement un exploit Jenkins …

          • [^] # Re: Pas Matrix donc

            Posté par (page perso) . Évalué à 4.

            D'après leur blog:

            We were using Jenkins for continuous integration (automatically testing our software). The version of Jenkins we were using had a vulnerability (CVE-2019-1003000, CVE-2019-1003001, CVE-2019-1003002) which allowed an attacker to hijack credentials (forwarded ssh keys), giving access to our production infrastructure. Thanks to @jaikeysarraf for drawing this to our attention.

        • [^] # Re: Pas Matrix donc

          Posté par (page perso) . Évalué à 6.

          L’attaquant s’est servit d’un exploit sur Jenkins pour infiltrer un premier serveur sur lequel (si j’ai bien compris), un admin avait laissé une connexion SSH ouverte avec forward d’agent. Depuis là il a pu utiliser l’agent SSH pour rebondir sur les autres serveurs.

          C’est dommage, c’est quelque chose qui aurait pu être évité avec juste un peu d’hygiène informatique : utiliser un bastion, utiliser des certificats SSH avec une validé assez courte, désactiver le forward d’agent, activer du MFA, etc…

          En attendant, ça ternit beaucoup leur image alors qu’ils avaient pas mal gagné en crédibilité avec l’annonce de l’utilisation de Matrix pour les communications au sein de l’administration française.

          • [^] # Re: Pas Matrix donc

            Posté par . Évalué à 3.

            En attendant, ça ternit beaucoup leur image alors qu’ils avaient pas mal gagné en crédibilité avec l’annonce de l’utilisation de Matrix pour les communications au sein de l’administration française.

            C'est leur infrastructure interne et l'hébergement matrix.org qui a été compris. J'ose espérer que le gouvernement prévoit d'héberger ses propres serveurs matrix (fédérés ou pas).

            • [^] # Re: Pas Matrix donc

              Posté par (page perso) . Évalué à 5.

              Les clefs PGP qui servent à signer les paquets ont aussi été compromises. L’attaque n’a pas eu de grosses conséquences en dehors de l’infrastructure de matrix.org, mais il aurait pu.

  • # UUOC

    Posté par . Évalué à 10. Dernière modification le 12/04/19 à 11:16.

    C'est un scandale de voir des blackhat commettre ce genre d'UUOC !

  • # Financement

    Posté par . Évalué à -1. Dernière modification le 13/04/19 à 08:38.

    L'état français voulant utiliser Matrix/Riot, ce serait bien qu'il leur donne un peu de moyens financiers, ils en ont besoin apparemment.

    • [^] # Re: Financement

      Posté par . Évalué à 3.

      Salut :)

      L'état français voulant utiliser Matrix/Riot, ce serait bien qu'il leur donne un peu de moyens financiers, ils en ont besoin apparemment.

      Leur donner des moyens financiers (juste comme ça, sans argumenter), ce n'est pas la solution : peut-être qu'ils n'ont personne de confiance à embaucher avec ces sous pour éviter de laisser traîner des CVE.

      La démarche logique serait plus que Matrix fasse une demande de finance à l'État uniquement s'ils (Matrix) ont du monde de « disponibilisable » pour éviter que ça recommence.

      Là, on est face à "faute de temps/pas de bol", ce n'est pas qu'une question de sous. Les sous, ça peut juste servir à débloquer du temps (Time is Money). Donc dans le principe, tu n'as pas tort (le tort tue). Mais sans rien derrière, bah ça peut juste faire un gros prout.

    • [^] # Re: Financement

      Posté par . Évalué à 4.

      Ils leur en donnent peut-être déjà, sur des objectifs précis, ou peut-être ont-ils engagé des ressources internes qui ne travaillent qu'à la "customisation" (spécialisation? spéciation?!).

      L'État veut une solution pour la communication interne, je suppose que la vie de serveurs publics ne les concerne pas trop.

    • [^] # Re: Financement

      Posté par (page perso) . Évalué à 3. Dernière modification le 13/04/19 à 10:26.

      moyens financiers, ils en ont besoin apparemment.

      Deux choses :
      - Pour avoir des moyens financiers, il faut montrer qu'on vaut ces moyens investis. Et la, ça risque de leur faire un peu mal en réputation…
      - D'après le post mortem du cracker, ça a l'air plus de la "je ne me prend pas la tête, root partout" plutôt que de la sécurité en priorité, c'est un choix de priorités et de méthode, pas forcément de financiers (le cracker a indiqué que si il y avait eu un 2FA genre YubiKey à 50 €, il n'aurait rien pu faire, une MAJ de Jenkins c'est quelques clics…). Note : je suis moi-même un peu fainéant et certaines critiques du cracker me concernent, j'estime toutefois que je suis moins intéressant pour les crackers et que ma réputation dépend moins de la sécurité, n'étant pas dans le domaine de la sécurité.

      Note : Ils ont supprimé toutes les "issues" du cracker (un des liens du journal est en 404 maintenant, il y en avait 11 de souvenirs, et c'était intéressant), si c'est un choix de leur part que de tout virer ça peut poser des questions sur la transparence, et ce n'est pas une question de moyens. voir Please restore discussion on the Security threads. Edit: merci archive.org.

      • [^] # Re: Financement

        Posté par (page perso) . Évalué à 2.

        Ils ont supprimé toutes les "issues" du cracker

        Pour me contre-dire moi-même, une source contradictoire : we (Matrix.org) haven't deleted the issues.
        Le compte est aussi supprimé. Curieux de savoir qui a fait quoi (et merci encore archive.org du backup).

        • [^] # Re: Financement

          Posté par (page perso) . Évalué à 3.

          Please restore discussion on the Security threads.

          Pour me contre-dire moi-même

          Tu l'avais déjà fait en fait.

          Si tu avais lu avant de poster tu aurais vu que cette issue concernait les messages effacés dans les issues de l'attaquant.

          La réalité c'est que ces issues ont vite été spammé de message inutile et qu'un admin a décidé de les supprimer. Il est allé trop vite et a supprimé des messages pertinents. La plupart ont été "restauré" avec des captures d'écran.

          Puis Github a probablement supprimé le compte et les messages/issues de l'attaquant (suite à un signalement ?).

          T'es un peu trop rapide pour critiquer les autres, on espère que t'auras jamais à subir ce genre de problème sur ton infra, mais si ça se produit t’inquiète pas qu’on sera là pour t’asséner nos conseils de hautes volées en terme de sécurité et de communication.

          • [^] # Re: Financement

            Posté par . Évalué à 2.

            La réalité c'est que ces issues ont vite été spammé de message inutile et qu'un admin a décidé de les supprimer.

            Il est possible sur github de verrouiller une conversation pour empêcher les nouveaux commentaires. Une fois verrouillé, on peut faire le ménage tranquillement et garder les commentaires pertinents.

            • [^] # Re: Financement

              Posté par (page perso) . Évalué à 2.

              C'est ce qui a été fait.

              • [^] # Re: Financement

                Posté par . Évalué à 1.

                C'est ce qui a été fait.

                Ben non, tu le dis toi-même:

                La réalité c'est que ces issues ont vite été spammé de message inutile et qu'un admin a décidé de les supprimer. Il est allé trop vite et a supprimé des messages pertinents. La plupart ont été "restauré" avec des captures d'écran.

                Restaurer avec des captures d'écrans, c'est juste crédible pour personne, ce n'est pas juste bloquer un thread, c'est bien au-delà.

                Puis Github a probablement supprimé le compte et les messages/issues de l'attaquant (suite à un signalement ?).

                Supposition quand ça t'arrange, sur lesquelles baser tes affirmations? Ou l'inverse? Dans tous les cas, tu n'es pas super crédible, un lien crédible corrigerais le doute que tu encourages.

                • [^] # Re: Financement

                  Posté par (page perso) . Évalué à 3.

                  Ben non, tu le dis toi-même:

                  Je reformule alors : les issues ont été spammé de commentaire inutile, quelqu’un a fait du ménage, parfois un peu trop rapidement et a donc du restaurer des captures d’écrans pour les commentaires légitimes.

                  Supposition quand ça t'arrange, sur lesquelles baser tes affirmations? Ou l'inverse? Dans tous les cas, tu n'es pas super crédible, un lien crédible corrigerais le doute que tu encourages.

                  J’sais pas, suffit d’aller lire les issues, par exemple (au hasard, hein) celle nommée “Repost of the security issues” : “Earlier today the attacker posted some insightful issues, but since Github has suspended their account, those are now gone. This is a repost.”

      • [^] # Re: Financement

        Posté par (page perso) . Évalué à 10.

        une MAJ de Jenkins c'est quelques clics

        Tu ne dois pas en faire assez souvent. C'est facile de cliquer, par contre c'est plus ou moins incertain que ça marche encore ensuite (changements cassant des fonctionnalités, des configurations, conflits avec les plugins), etc. Plus tu utilises des fonctionnalités, plus tu risques d'avoir de soucis lors des mises à jour, et plus tu as intérêt à tester que ça marche encore ensuite.

        • [^] # Re: Financement

          Posté par . Évalué à 0.

          D'ailleurs, je serais curieux de voir un seul document qui explique comment compiler (donc, non, pas d'image docker ou autre) et intégrer jenkins dans une infra. Ça m'a l'air super compliqué, en vrai. Une piste?

          • [^] # Re: Financement

            Posté par . Évalué à 2.

            C’est sur que chercher « build Jenkins » va te retourner plein de résultats pas pertinent du tout, mais j’ai envie de dire que mvn install devrait te donner un binaire prêt à l’emploi?

            Le jar a l’air d’inclure son propre serveur http, donc y’a plus qu’a le lancer avec java -jar derrière. En tout c’est ce que je me rappele de leur launch script macOS.

            Linuxfr, le portail francais du logiciel libre et du neo nazisme.

            • [^] # Re: Financement

              Posté par . Évalué à 0.

              j’ai envie de dire que mvn install devrait te donner un binaire prêt à l’emploi?

              À quoi j'ai envie de répondre "comment qu'on fait, pour savoir qu'il faut utiliser mvm?".

              Le jar a l’air d’inclure son propre serveur http

              En bref, ça s'interface pas avec le système? Pourquoi ça a besoin de son propre serveur http?

              • [^] # Re: Financement

                Posté par . Évalué à 3.

                À quoi j'ai envie de répondre "comment qu'on fait, pour savoir qu'il faut utiliser mvm?".

                Parce que c’est du Java serveur, et que 99% des projets java serveurs utilisent maven.
                Parce que y’a un pom.xml à la racine du projet.
                Parce que si t’avais prit 30 secondes pour chercher, t’aurais trouvé https://github.com/jenkinsci/jenkins/blob/master/CONTRIBUTING.md qui dit que ça requiert maven, la version de maven et la ligne de commande pour builder.

                En bref, ça s'interface pas avec le système?

                Ca veut dire quoi s’interfacer avec le système?

                Pourquoi ça a besoin de son propre serveur http?

                Parce que c’est un serveur d'intégration continue. Ça a l’air d’utiliser jetty, qui n’a à rougir devant personne.
                Parce que apache ou nginx ne supportent pas les plugins java à ma connaissance, et que même si tu veux fronter tout ça avec apache/nginx, va bien falloir communiquer en http entre les deux.
                Parce qu’embedder le serveur http dans l’appli, c’est la pratique standard dans le monde java depuis des années pour un paquet de raisons.

                Après si vraiment tu veux te fader tomcat ou un autre serveur d’appli alakon, tu peux, ils fournissent aussi un war.

                Linuxfr, le portail francais du logiciel libre et du neo nazisme.

          • [^] # Re: Financement

            Posté par . Évalué à 2.

            La page officielle d'installation par exemple ? https://jenkins.io/doc/book/installing/#war-file
            Pour construire le war ? Le dépôt contient la recette jenkins https://github.com/jenkinsci/jenkins/blob/master/Jenkinsfile

            Attention ils ont fait un truc de malade, c'est hyper disruptif :

            mvn --batch-mode -DskipTests -am -pl war package

            Pas trop choqué ? Il faut un maven superieur à 3.4 et donc au moins java7.

            • [^] # Re: Financement

              Posté par . Évalué à 1.

              Pas trop choqué ?

              Ben si, du coup.

              Pour le 1er lien, il faut lire 130 lignes de code juste pour savoir comment compiler un truc, ça me choque, mais bon, passons.

              Pour le 2nd lien, ça cause de war file, désolé, je préfère l'amour, moi. Plus sérieusement, on compile et déploie comment à partir du source? Tes liens ne semblent pas indiquer ça…

              Rassures-toi, je sais que je suis idiot, de ne pas vouloir installer sur une machine dont j'ai la charge (voulue ou pas, que ce soit mon taf ou pas) des trucs que je ne comprend même pas de loin comment les compiler ou les déployer… mais pour les outils de CI, ironiquement, j'ai moins l'impression que c'est à portée que pour compiler un kernel (chose que je n'ai pas encore faite avec succès, mais au moins, putain, on trouve de la doc, et mes échecs sont dus à ma manie de jouer avec les options, pour apprendre)!

              • [^] # Re: Financement

                Posté par . Évalué à 3.

                La commande maven est le standard en java depuis 15 ans au moins. Cela produit un fichier war et ils indiquent comment s'en servir.

                Tu peux ne pas aimer Jenkins, ne pas vouloir installer Java sur ton serveur, trouver qu'il y a trop de failles potentielles, le trouver lourd, pas ergonomique,… Mais pour le coup de la documentation, je ne comprends pas. Et une fois que l'on te montre tu ne semble pas intéressé.

                Tu sais que tu n'a pas besoin de le dénigrer (il me semble gratuitement) pour préfèrer une alternative ? Il y en a de plus en plus et de bonnes qualités.

Suivre le flux des commentaires

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