L'administrateur du serveur Jabber jabber.ru (xmpp.ru) a dĂ©tectĂ© une attaque visant Ă dĂ©chiffrer le trafic des utilisateurs (MITM), menĂ©e pendant une pĂ©riode de 90 jours Ă 6 mois sur les rĂ©seaux des fournisseurs d'hĂ©bergement allemands Hetzner et Linode, oĂč le serveur du projet et les environnements VPS auxiliaires sont hĂ©bergĂ©s. L'attaque a Ă©tĂ© organisĂ©e par le biais d'une redirection du trafic vers un nĆud de transit, substituant le certificat TLS pour les connexions XMPP chiffrĂ©es Ă l'aide de l'extension STARTTLS.
L'attaque a Ă©tĂ© remarquĂ©e en raison d'une erreur de ses organisateurs qui n'ont pas rĂ©ussi Ă prolonger le certificat TLS utilisĂ© pour la substitution. Le 16 octobre, l'administrateur de jabber.ru a reçu un message d'erreur en tentant de se connecter au service en raison de l'expiration du certificat, mais le certificat hĂ©bergĂ© sur le serveur n'Ă©tait pas expirĂ©. Il s'est finalement avĂ©rĂ© que le certificat reçu par le client diffĂ©rait de celui envoyĂ© par le serveur. Le premier Ă©tait faux. Certificat TLS a Ă©tĂ© obtenu le 18 avril 2023 via le service Letâs Encrypt, dans lequel l'attaquant, ayant la possibilitĂ© d'intercepter le trafic, a pu confirmer l'accĂšs aux sites jabber.ru et xmpp.ru.
Au dĂ©but, l'hypothĂšse d'une compromission du serveur du projet et d'une substitution de ce cĂŽtĂ© a Ă©tĂ© envisagĂ©e. Cependant, un audit n'a rĂ©vĂ©lĂ© aucune trace de piratage. Dans les journaux du serveur, une coupure et une remise en marche brĂšves de l'interface rĂ©seau (NIC Link is Down/NIC Link is Up) ont Ă©tĂ© observĂ©es, ayant eu lieu le 18 juillet Ă 12h58, ce qui pourrait indiquer des manipulations avec la connexion du serveur au commutateur. Fait intĂ©ressant, deux certificats TLS falsifiĂ©s ont Ă©tĂ© gĂ©nĂ©rĂ©s quelques minutes avant cela â le 18 juillet Ă 12h49 et 12h38.
De plus, la substitution n'Ă©tait pas uniquement effectuĂ©e dans le rĂ©seau du fournisseur Hetzner, oĂč se trouve le serveur principal, mais aussi dans le rĂ©seau du fournisseur Linode, oĂč Ă©taient hĂ©bergĂ©s des environnements VPS avec des proxy auxiliaires redirigeant le trafic depuis d'autres adresses. Indirectement, il a Ă©tĂ© rĂ©vĂ©lĂ© que le trafic sur le port rĂ©seau 5222 (XMPP STARTTLS) dans les rĂ©seaux des deux fournisseurs Ă©tait redirigĂ© via un hĂŽte supplĂ©mentaire, ce qui a conduit Ă supposer que l'attaque a Ă©tĂ© menĂ©e par une personne ayant accĂšs Ă l'infrastructure des fournisseurs.
ThĂ©oriquement, l'interception aurait pu avoir lieu Ă partir du 18 avril (date de crĂ©ation du premier faux certificat pour jabber.ru), mais des cas confirmĂ©s de substitution de certificat n'ont Ă©tĂ© signalĂ©s qu'entre le 21 juillet et le 19 octobre, durant toute cette pĂ©riode, l'Ă©change de donnĂ©es chiffrĂ©es avec jabber.ru et xmpp.ru peut ĂȘtre considĂ©rĂ© comme compromis. La substitution a cessĂ© aprĂšs le dĂ©but de l'examen, des tests effectuĂ©s et l'envoi le 18 octobre d'une demande au support des fournisseurs Hetzner et Linode. Cependant, un passage supplĂ©mentaire lors de la routage des paquets envoyĂ©s au port 5222 d'un des serveurs Ă Linode est encore observĂ© aujourd'hui, mais le certificat n'est plus falsifiĂ©.
Il est supposĂ© que l'attaque a pu ĂȘtre rĂ©alisĂ©e avec la complicitĂ© des fournisseurs Ă la demande des forces de l'ordre, suite Ă une violation de l'infrastructure des deux fournisseurs ou par un employĂ© ayant eu accĂšs aux deux fournisseurs. Disposant de la possibilitĂ© d'intercepter et de modifier le trafic XMPP, l'attaquant aurait pu accĂ©der Ă toutes les donnĂ©es associĂ©es aux comptes, telles que l'historique des messages stockĂ©s sur le serveur, et aurait Ă©galement pu envoyer des messages en se faisant passer pour d'autres et modifier les messages d'autrui. Les messages envoyĂ©s en utilisant le chiffrement de bout en bout (OMEMO, OTR ou PGP) peuvent ĂȘtre considĂ©rĂ©s comme non compromis, si les clĂ©s de chiffrement sont confirmĂ©es par les utilisateurs des deux cĂŽtĂ©s de la connexion. Les utilisateurs de jabber.ru sont invitĂ©s Ă changer leurs mots de passe d'accĂšs et Ă vĂ©rifier les clĂ©s OMEMO et PGP dans leurs dĂ©pĂŽts PEP pour d'Ă©ventuelles substitutions.
Source : opennet.ru
