Vulnérabilités de Kyivstar: 1) analyse d'un article précédent sur les mots de passe + 2) informations sur les achats transitant par les services Kyivstar

Salut Je suis celui qui, il y a six mois, a reçu des identifiants et des mots de passe Kyivstar de services importants tels que: JIRA, Amazon Web Services, Apple Developer, Google Developer, Bitbucket et bien d'autres, les a enregistrés sur Bug Bounty et a reçu 50 $ de divers commentaires sur les reposts de ma publication .

Par exemple:


Merci pour votre soutien et vos commentaires! Résultats du vote:



Pour une raison quelconque, je n'ai pas répondu à certains commentaires à l'époque, mais je ne peux que répondre maintenant.

Permettez-moi de vous rappeler que j'ai accidentellement reçu une lettre avec des signets du navigateur de travail d'un employé de Kyivstar. J'ai ouvert à tour de rôle les 113 signets et j'ai trouvé parmi eux un fichier avec les noms des services, les identifiants et les mots de passe et d'autres informations. Oui, le fichier se trouvait sur Google Documents avec des droits d'accès "Tout le monde".

J'avais des inquiétudes quant à leur réaction future au rapport, donc
Au début, chez Bugcrowd, j'ai annoncé qu'ils changeaient d'urgence leur mot de passe. Ils m'ont répondu qu'ils connaissaient l'indexation des fichiers d'un article sur Habré et ont déjà fermé de tels fichiers partout.

J'ai indiqué qu'ils ne l'avaient pas fermé et j'ai envoyé des captures d'écran montrant que je pouvais me connecter à leurs comptes au hasard.

Ensuite, on m'a demandé comment j'avais reçu ces données et j'ai indiqué comment (reçu par e-mail).

Ensuite, ils ont demandé comment obtenir un tel e-mail - et j'ai répondu que j'avais de la chance, ou simplement une employée était scellée lorsqu'elle s'est envoyée des signets (et cela s'est finalement avéré).

Dans le processus de correspondance, mon signal a reçu la priorité la plus élevée - P1 (Sensitive Data Exposure: Critical Sensitive Data - Password Disclosure), dans lequel les paiements vont de 1000 $ à 3000 $ (et vous pouvez également ajouter des applications Mobile + WEB).

image
Alors tu sais.

Lorsque mon collègue Yegor Papyshev a partagé son opinion sur Facebook, il était désagréable d'entendre comment une autre personne respectée (Vladimir Styran, spécialiste de la sécurité de l'information - CISSP, CISA, OSCP, CEH) était négativement disposée à la situation et a écrit à Yegor qu'il n'était pas Il connaît les détails et n'a pas compris la situation.

En même temps, Vladimir lui-même ne comprenait pas la situation. Voici son post moqueur:



Je vais traduire et commenter les derniers points:

  • Si vous ne savez pas que le soutien du courtier, par l'intermédiaire duquel vous avez informé le fournisseur du bogue, pourrait vous aider à faire appel du montant du paiement, car en fait c'est l'un de ses rôles dans votre relation tripartite, cela s'appelle moche. - Soutenir Bugcrowd en correspondance avec moi a soutenu à plusieurs reprises mon opinion et l'opinion majoritaire selon laquelle Kyivstar avait tort et aurait dû payer plus. "Broker" n'a pas pu affecter l'opérateur. Et ce n'est pas moi qui suis tombé.
  • Si vous commencez à menacer le fournisseur de divulgation complète dans le cas où le paiement n'est pas augmenté, cela s'appelle l'extorsion ou le chantage. Mais il est probable que cela s'appellera extorsion, car il n'y a pas d'article dans le code pour le chantage. - Il n'y a eu ni chantage ni extorsion. Il n'y a eu aucune menace. Vladimir l'aurait su s'il avait lu ce rapport. De manière caractéristique, mon compte sur Bugcrowd a été bloqué (ce n'est pas effrayant) non pas immédiatement après le post sur Habré, mais quelque part dans une semaine, juste en même temps que son autre poste caustique en FB.
  • Si vous n'avez pas de bug, vous en avez lu sur Habré, vous en avez parlé sur votre page Facebook pour obtenir N likes et + M followers, alors vous êtes un blogueur et il n'y a pas de quoi être fier. - Il n'y a rien à ajouter.

Cependant, comme je l'ai appris, Vladimir a participé au lancement de Bug Bounty de Kyivstar, donc je suppose qu'il a l'œil flou.

Continuons. Un exemple simple: Apple Developer, vous avez vu des captures d'écran de leur console dans mon post.
Le fichier de mots de passe contenait également des lignes et des colonnes, et spécifiquement pour Apple, les informations suivantes étaient indiquées: Dernière modification - 18/05/2016.

C'est-à-dire la dernière fois que les données du compte Apple Developer ont été modifiées en mai 2016 - plus d'un an avant que je reçoive la lettre et que j'y trouve le lien. Ce qui, encore une fois, est confirmé par le fait que j'ai pu me connecter avec le mot de passe spécifié.

Ainsi, en parlant de la sécurité des processus métier dans Kyivstar, nous pouvons résumer:

  • non seulement que les noms d'utilisateur et les mots de passe ont été stockés (ou stockés?) sur la ressource publique externe Google Docs avec les droits d'accès Tout le monde,
  • non seulement vous avez besoin d'une authentification à deux facteurs pour vous connecter,
  • non seulement que de nombreux mots de passe étaient des dictionnaires et faciles à sélectionner et ressemblaient à (modifiés) upsups92, suchapassword, DigitTeam2017, Digital2016, Kyivstardigteam2017, ks-anya $ bd2016, KSDigit2018,
  • ces mots de passe n'ont donc pas changé depuis plus d'un an.

Quoi d'autre. Beaucoup ne comprenaient pas pourquoi une somme si étrange de 5800 $ était indiquée, pourquoi pas exactement 6000 $, pourquoi pas juste un million de dollars à la fois? - "À son avis, seule la valeur officielle des comptes dépasse 5800 $."

La réponse à cette question a été dès le début sur Habré, elle n'a tout simplement pas été remarquée:


(pour agrandir l'image, ouvrez-la dans un nouvel onglet)

La clé ici est "l' ouvrir dans un nouvel onglet " - lorsque vous cliquez sur l'image ( lien direct ), l'image complète s'ouvre, où d'autres colonnes sont également visibles: Dernière modification, Payé jusqu'au (date), Besoin jusqu'au (date), Projet (comme dans ASUP), Type de paiement, coût, devise.

En additionnant simplement les chiffres de la colonne «Coût», j'ai reçu un chiffre de 5800 $ - c'est le coût officiel (et non inventé par moi) des comptes dans les services énumérés, que j'ai indiqué dans le rapport sur Bugcrowd.

Je n'ai pas demandé et je n'ai pas demandé ce montant, ou tout autre, comme le mentait alors Soultan , et j'ai comparé leur rémunération indiquée de 50 $ avec le minimum de dommages possibles - tout simplement, avec la perte d'accès aux services pour l'achat desquels ils ont dépensé> 5800 $.

Ensuite.

Si quelqu'un est intéressé, il n'y a pas si longtemps, le programme BugBounty de Kyivstar était complètement fermé (pas en mode privé, à savoir fermé), et l'employé de Soultan qui a répondu aux commentaires ici récemment a quitté Kyivstar.

Soit dit en passant, dans les commentaires sous sa note d'adieu sur la sortie de l'entreprise, il écrit "Bonne chance, Vitaliy!" l'employé qui a envoyé ce courriel malheureux. De telles choses.

J'ai ajouté les informations mises en évidence ci-dessus avec une petite mise à jour du message d'origine. Je ne me réjouis pas de cela. Ils ont alors fait une erreur - peut-être en paient-ils le prix.

pyrk2142 dans les commentaires demandés :
C'est assez inattendu. Il s'avère que les informations ici ne sont plus pertinentes?

Et maintenant je peux répondre que oui, les informations sur Bug Bounty de Kyivstar ne sont pas pertinentes: j'ai trouvé la possibilité de recevoir des informations sur les achats de personnes passant par les services de paiement de Kyivstar, même si ce ne sont pas ses clients. J'ai donné une deuxième chance à l'entreprise, mais elle ne l'a pas utilisée .

Ainsi, des informations sur les achats transitant par les services Kyivstar, sur les cartes des non-clients même de ces derniers.

Lors du test de l'application d'une entreprise, j'ai constaté que Kyivstar agit en tant que fournisseur de paiement dans le cadre de la coopération avec Visa QR Payments - mVisa - les paiements utilisant le code QR passent par qrpayments.kyivstar.ua .

Il s'agit de transactions clients dans des points de vente tels que:

  • Crema Caffe, Kiev,
  • Smachno, Kiev,
  • Third Floor Cafe, Kiev - les premières opérations et le plus souvent ont eu lieu ici. Apparemment, c'est un café au 3ème étage du bureau de Kyivstar, où ils ont commencé à tester les paiements QR;
  • Auchan, Kyev,
  • Auchan, Lviv,
  • Auchan, Dnipropetrovska - Chaîne d'hypermarchés Auchan (Ukraine);
  • marchand mVisa;
  • GIVC, Kiev - GIVC, Centre principal d'information et d'informatique, Kiev. Ici, les frais et les paiements pour la majorité des paiements de services publics des résidents de Kiev;
  • GERC, Odesa - HERZ, City Unified Settlement Center, Odessa. De même, le GIWC est plus élevé, seule la couverture est encore plus grande: le site est destiné non seulement à la population d'Odessa, mais aussi à des villes telles que: Kiev, Belgorod-Dniester, Reni, Chernomorsk et Yuzhny;
  • et ainsi de suite

Un exemple des données reçues:

{"Id":1305 Date:"2018-10-05T15:15:42.3921295" State:0 Amount:-1278.8100 TipsAmount:0.0000 Currency:"UAH" MerchantName:"Auchan" MerchantCity:"Lviv" MerchantId:"4109499405597549" ApprovalCode:"516634" ReferenceNumber:"" CardNumber:"5375XXXXXXXX3858"} {"Id":1308 Date:"2018-10-06T12:43:31.1179667" State:3 Amount:-4192.9700 TipsAmount:0.0000 Currency:"UAH" MerchantName:"Auchan" MerchantCity:"Kyev" MerchantId:"4109494835704666" ApprovalCode:"" ReferenceNumber:"827991150697" CardNumber:"4824XXXXXXXX6937"} {"Id":1702 Date:"2018-12-06T18:40:02.657213" State:3 Amount:-81.0000 TipsAmount:0.0000 Currency:"UAH" MerchantName:"GIVC" MerchantCity:"Kiev" MerchantId:"4109499632222754" ApprovalCode:"605231" ReferenceNumber:"834091189417" CardNumber:"5168XXXXXXXX9997"} 

Le service a répondu aux demandes uniquement avec les «autorisations» et «Map-AuthToken» corrects, dont le dernier contient Base64 codé {"alg":"RS256","kid":"33E283272B0433E283281FF404CA6F031E28320","typ":"JWT"}{"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone":"0800300466", "http://schemas.lime-systems.com/identity/claims/authId":"1199333", "http://schemas.lime-systems.com/identity/claims/userId":"25046", "http://schemas.lime-systems.com/identity/claims/deviceId":"12342", "nbf":1541370000, "exp":1541380001, "iat":1541390001, "iss":"http://localhost", "aud":"http://localhost"} et d'autres données.

Mais malgré la nécessité pour la demande d'avoir les paramètres corrects spécifiés ci-dessus, une fois reçu Map-AuthToken, il était alors possible d'exécuter des demandes GET à l'adresse du formulaire https://qrpayments.kyivstar.ua/map/api/consumers/ plusieurs fois.

Et bien que dans la période depuis le lancement, le 16 avril 2018, peu d'opérations aient été effectuées (~ 2000 pcs.) Et que les données obtenues elles-mêmes ne soient pas critiques, cette situation est alarmante:
même si vous n'utilisez pas Kyivstar, mais payez simplement au magasin A uchan avec une carte bancaire B ank , les pirates peuvent pirater le fournisseur K C et obtenir des informations sur vous.

Dans le domaine des cartes de paiement, il existe une situation qui convient à la description: un seul point de compromis - il peut s'agir d'un terminal, d'un guichet automatique, d'une société commerciale, d'un acquéreur, d'un centre de traitement par lequel des vols de différentes cartes de différents clients ont été volés.

Transfert de la situation à cet opérateur mobile: piratage d'un service, vous pouvez obtenir des informations de plusieurs.



Avant de publier ce matériel, j'ai donné une seconde chance à Kyivstar - j'ai envoyé trois lettres à bounty@kyivstar.net, qui sont indiquées sur leur page spéciale : 17 décembre, 20 décembre et 27 décembre, tous les jours ouvrables.

Envoyé, juste au cas où, à partir d'une boîte qui n'était pas spécifiée dans la situation avec des mots de passe divulgués. Des lettres ont été reçues, mais aucune rétroaction, pas même une réponse automatique, n'a été reçue.

Comme vous le comprenez, la vulnérabilité n'est pas couverte, je ne peux donc pas fournir plus de détails. Cependant, tout est clair.

Source: https://habr.com/ru/post/fr435074/


All Articles