Projets Zombie - fusionnez les données des utilisateurs même après sa mort

Je parle à nouveau de la fuite de données personnelles, mais cette fois je vais vous parler un peu de la vie après la mort des projets informatiques en utilisant deux découvertes récentes.



Dans le processus d'audit de la sécurité des bases de données, il arrive souvent que vous découvriez des serveurs ( comment rechercher des bases de données , j'ai écrit dans un blog) qui appartiennent à des projets qui ont depuis longtemps (ou pas si longtemps) quitté notre monde. De tels projets continuent même d'imiter la vie (travail), ressemblant à des zombies (collecte de données personnelles des utilisateurs après leur mort).


:        .           .      ,      . 

Commençons par le projet avec le nom fort «Équipe Poutine» (putinteam.ru).


Un serveur avec MongoDB ouvert a été découvert le 19/04/2019.



Comme vous pouvez le voir, le ransomware a été le premier à accéder à cette base:



La base de données ne contient pas de données personnelles particulièrement précieuses, mais il y a des adresses e-mail (moins de 1000), des prénoms, des mots de passe hachés, des coordonnées GPS (apparemment lors de l'inscription avec des smartphones), des villes de résidence et des photos des utilisateurs du site qui y ont créé leur compte personnel.


 { "_id" : ObjectId("5c99c5d08000ec500c21d7e1"), "role" : "USER", "avatar" : "https://fs.putinteam.ru/******sLnzZokZK75V45-1553581654386.jpeg", "firstName" : "", "lastName" : "", "city" : "-", "about" : "", "mapMessage" : "", "isMapMessageVerify" : "0", "pushIds" : [ ], "username" : "5c99c5d08000ec500c21d7e1", "__v" : NumberInt(0), "coordinates" : { "lng" : 30.315868, "lat" : 59.939095 } } { "_id" : ObjectId("5cb64b361f82ec4fdc7b7e9f"), "type" : "BASE", "email" : "***@yandex.ru", "password" : "c62e11464d1f5fbd54485f120ef1bd2206c2e426", "user" : ObjectId("5cb64b361f82ec4fdc7b7e9e"), "__v" : NumberInt(0) } 

Beaucoup d'informations sur les ordures et des enregistrements vides. Par exemple, le code d'abonnement à la newsletter ne vérifie pas que l'adresse e-mail est entrée, donc au lieu de l'adresse, vous pouvez écrire tout ce que vous voulez.



A en juger par le droit d'auteur sur le site, le projet a été abandonné en 2018. Toutes les tentatives pour contacter le projet ont échoué. Cependant, de rares inscriptions sur le site sont en cours - il y a une imitation de la vie.


Le deuxième projet zombie dans mon analyse aujourd'hui est la startup lettone Roamer (roamerapp.com/ru).


21/04/2019 une base de données ouverte MongoDB de l'application mobile Roamer a été découverte sur un serveur en Allemagne.



La base, d'une taille de 207 Mo, est dans le domaine public depuis le 24/11/2018 (selon Shodan)!


Par tous les signes externes (une adresse e-mail de support technique qui ne fonctionne pas, des liens brisés vers le Google Play Store, les droits d'auteur sur le site Web de 2016, etc.) - l'application a longtemps été abandonnée.



À une époque, presque tous les médias thématiques ont écrit sur cette startup:


  • VC: « Start-up letton Roamer - tueur en itinérance »
  • le-village: « Roamer: une application qui réduit le coût des appels depuis l'étranger »
  • lifehacker: « Comment réduire de 10 fois les coûts de communication en itinérance: Roamer »

Le "tueur" semble s'être suicidé, mais continue même de divulguer les données personnelles mortes de ses utilisateurs ...


A en juger par l'analyse des informations de la base de données, de nombreux utilisateurs continuent d'utiliser cette application mobile. En quelques heures d'observation, 94 nouvelles entrées sont apparues. Et pour la période du 27/03/2019 au 04/10/2019, 66 nouveaux utilisateurs se sont inscrits dans l'application.


Le domaine public contient des journaux (plus de 100 000 entrées) de l'application contenant des informations telles que:


  • téléphone de l'utilisateur
  • jetons d'accès à l'historique des appels (disponibles via les liens du formulaire: api3.roamerapp.com/call/history/1553XXXXXX )
  • historique des appels (numéros, appel entrant ou sortant, coût de l'appel, durée, durée de l'appel)
  • opérateur mobile
  • IP utilisateur
  • le modèle de téléphone de l'utilisateur et la version du système d'exploitation mobile dessus (par exemple, iPhone 7 12.1.4 )
  • adresse e-mail de l'utilisateur
  • solde et devise du compte utilisateur
  • pays utilisateur
  • emplacement actuel (pays) de l'utilisateur
  • codes promotionnels
  • et bien plus.

 { "_id" : ObjectId("5c9a49b2a1f7da01398b4569"), "url" : "api3.roamerapp.com/call/history/*******5049", "ip" : "67.80.1.6", "method" : NumberLong(1), "response" : { "calls" : [ { "start_time" : NumberLong(1553615276), "number" : "7495*******", "accepted" : false, "incoming" : false, "internet" : true, "duration" : NumberLong(0), "cost" : 0.0, "call_id" : NumberLong(18869601) }, { "start_time" : NumberLong(1553615172), "number" : "7499*******", "accepted" : true, "incoming" : false, "internet" : true, "duration" : NumberLong(63), "cost" : 0.03, "call_id" : NumberLong(18869600) }, { "start_time" : NumberLong(1553615050), "number" : "7985*******", "accepted" : false, "incoming" : false, "internet" : true, "duration" : NumberLong(0), "cost" : 0.0, "call_id" : NumberLong(18869599) } ] }, "response_code" : NumberLong(200), "post" : [ ], "headers" : { "Host" : "api3.roamerapp.com", "X-App-Id" : "a9ee0beb8a2f6e6ef3ab77501e54fb7e", "Accept" : "application/json", "X-Sim-Operator" : "311480", "X-Wsse" : "UsernameToken Username=\"/******S19a2RzV9cqY7b/RXPA=\", PasswordDigest=\"******NTA4MDhkYzQ5YTVlZWI5NWJkODc5NjQyMzU2MjRjZmIzOWNjYzY3MzViMTY1ODY4NDBjMWRkYjdiZTQxOGI4ZDcwNWJmOThlMTA1N2ExZjI=\", Nonce=\"******c1MzE1NTM2MTUyODIuNDk2NDEz\", Created=\"Tue, 26 Mar 2019 15:48:01 GMT\"", "Accept-Encoding" : "gzip, deflate", "Accept-Language" : "en-us", "Content-Type" : "application/json", "X-Request-Id" : "FB103646-1B56-4030-BF3A-82A40E0828CC", "User-Agent" : "Roamer;iOS;511;en;iPhone 7;12.1.4", "Connection" : "keep-alive", "X-App-Build" : "511", "X-Lang" : "EN", "X-Connection" : "WiFi" }, "created_at" : ISODate("2019-03-26T15:48:02.583+0000"), "user_id" : "888689" } Pseudo = \" / ****** S19a2RzV9cqY7b / RXPA = \ "passwordDigest = \" ****** NTA4MDhkYzQ5YTVlZWI5NWJkODc5NjQyMzU2MjRjZmIzOWNjYzY3MzViMTY1ODY4NDBjMWRkYjdiZTQxOGI4ZDcwNWJmOThlMTA1N2ExZjI = \ "nonce = \" ***** { "_id" : ObjectId("5c9a49b2a1f7da01398b4569"), "url" : "api3.roamerapp.com/call/history/*******5049", "ip" : "67.80.1.6", "method" : NumberLong(1), "response" : { "calls" : [ { "start_time" : NumberLong(1553615276), "number" : "7495*******", "accepted" : false, "incoming" : false, "internet" : true, "duration" : NumberLong(0), "cost" : 0.0, "call_id" : NumberLong(18869601) }, { "start_time" : NumberLong(1553615172), "number" : "7499*******", "accepted" : true, "incoming" : false, "internet" : true, "duration" : NumberLong(63), "cost" : 0.03, "call_id" : NumberLong(18869600) }, { "start_time" : NumberLong(1553615050), "number" : "7985*******", "accepted" : false, "incoming" : false, "internet" : true, "duration" : NumberLong(0), "cost" : 0.0, "call_id" : NumberLong(18869599) } ] }, "response_code" : NumberLong(200), "post" : [ ], "headers" : { "Host" : "api3.roamerapp.com", "X-App-Id" : "a9ee0beb8a2f6e6ef3ab77501e54fb7e", "Accept" : "application/json", "X-Sim-Operator" : "311480", "X-Wsse" : "UsernameToken Username=\"/******S19a2RzV9cqY7b/RXPA=\", PasswordDigest=\"******NTA4MDhkYzQ5YTVlZWI5NWJkODc5NjQyMzU2MjRjZmIzOWNjYzY3MzViMTY1ODY4NDBjMWRkYjdiZTQxOGI4ZDcwNWJmOThlMTA1N2ExZjI=\", Nonce=\"******c1MzE1NTM2MTUyODIuNDk2NDEz\", Created=\"Tue, 26 Mar 2019 15:48:01 GMT\"", "Accept-Encoding" : "gzip, deflate", "Accept-Language" : "en-us", "Content-Type" : "application/json", "X-Request-Id" : "FB103646-1B56-4030-BF3A-82A40E0828CC", "User-Agent" : "Roamer;iOS;511;en;iPhone 7;12.1.4", "Connection" : "keep-alive", "X-App-Build" : "511", "X-Lang" : "EN", "X-Connection" : "WiFi" }, "created_at" : ISODate("2019-03-26T15:48:02.583+0000"), "user_id" : "888689" } 

Bien sûr, il n'a pas été possible de contacter les propriétaires de la base. Les contacts sur le site ne fonctionnent pas, sur les messages dans le social. réseaux personne ne réagit.


L'application est toujours disponible sur l'App Store d'Apple (itunes.apple.com/app/roamer-roaming-killer/id646368973).


Des nouvelles sur les fuites d'informations et les initiés peuvent toujours être trouvées sur ma chaîne Telegram " Fuites d'informations ": https://t.me/dataleak .

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


All Articles