Comment comprendre et utiliser les google id dans une stratégie OSINT

Comprendre les GoogleID

Comment fonctionnent les identifiants Google

Tous les propriétaires d'un compte Google ne le savent peut-être pas, mais Google utilise un grand nombre de numéros, d'identifiants, de signatures, de noms de compte, de charabia choisis au hasard et des chaînes de caractères dénuées de sens pour identifier votre compte.

Tout n'est pas forcé être relié, mais il existe quelques raccourcis pratiques lorsque vous recherchez des adresses Gmail ou un compte YouTube par exemple. Je ne suis pas encore en mesure de faire cela en masse, mais je sais qu'il y a des gens qui pourraient y parvenir.


Depuis l'époque de Google+, chaque compte qui se connecte à des applications Google comme Maps et Photos, a un identifiant unique. Cette identification était visible lorsque vous ouvriez une page Google+ d'une personne ou que vous consultiez son album photo.

Juste un album photo aléatoire

Mais est-il possible de savoir à partir d'une simple adresse GMail quelles photos quelqu'un a mis en ligne ? Ou quels commentaires ils ont laissés ? Ou peut-être même suivre la liste de lecture YouTube qu'ils ont créée ? Oui, c'est effectivement possible.

Mais pour cela, nous devons d'abord trouver quel est le nom d'utilisateur pour une adresse GMail spécifique. 


Pour cela, j'ai plongé dans dans un pastebin et j'ai filtré toutes les adresses mail se terminant par @gmail.com et j'ai commencé à écrire.

Récupérer les données — Rapidement et de manière sale

Disclaimer : Je toucherai à ça plus tard aussi, mais je n'ai pas écrit de script pour ça ! Tout ceci est un travail manuel et fonctionne facilement pour de petites quantités d'adresses e-mail. 

Si vous êtes capable d'écrire un outil, vous êtes les bienvenus ! Plus de détails peuvent être trouvés dans cet article.

Le moyen le plus simple et le plus rapide de mettre la main sur un tas d'identifiants d'utilisateurs est d'utiliser Google Contacts. 


Il suffit de préparer un fichier CSV avec les noms et les adresses e-mail de vos cibles, et de les importer dans votre liste de contacts.

Mise à jour 4 décembre : Il y a une autre façon de trouver ces identifiants, lisez ce qui suit pour le savoir.


Une liste de 624 adresses GMail, se trouvant dans la liste de contact d'un compte subsidiaire

L'étape suivante consiste à ouvrir developer tools et à recharger la page, car nous allons essayer de trouver la réponse " brute " qui contient les détails des contacts que vous avez ajoutés. La réponse peut être repérée dans un ensemble de quatre requêtes à 'contacts.google.com' et contenant l'endpoint 'batchexecute'.


Trouver la réponse

Lorsque la page se recharge, l'onglet 'réseau' des outils de développement sera rempli de toutes sortes de requêtes vers plusieurs serveurs. 


Nous sommes surtout intéressés par la quatrième et dernière requête qui se lit 'batchexecute', car elle contient les données utiles. 


En cliquant dessus, nous voyons qu'il y a une longue ligne de données que notre navigateur utilise pour enrichir certains JavaScripts et ainsi créer une vue d'ensemble de tous vos contacts.

On ne peut pas vraiment travailler avec ça, surtout avec une liste de 624 contacts ! 

Nous allons donc l'intégrer et l'enregistrer dans un fichier texte. Il suffit de faire un clic droit sur la commande, de choisir 'Copy as cURL' et d'ouvrir un terminal linux.



Obtenir la demande

POn colle la commande dans l'invite de commande et on dirige la sortie vers un fichier texte. 


Tous les paramètres et cookies ne sont pas nécessaires pour tronquer la commande cURL, mais pour rendre cette écriture un peu plus facile à suivre, je vais m'en tenir à cela pour l'instant. 


Après avoir importé les 624 adresses GMail, et les avoir téléchargées dans un fichier texte, j'ai jeté un coup d'oeil et j'ai trouvé que j'avais un total de 130 ID utilisateur Google uniques ! 


C'est environ 20% de tous les utilisateurs, ce qui n'est pas vraiment génial, mais pour une solution rapide, c'est un excellent point de départ !

Un total de 130 UserID sont récupérés

Les userID peuvent être trouvés en cherchant des nombres décimaux de 21 caractères, et ils semblent tous commencer par '10' ou par '11'.

Après avoir posté cela, j'ai reçu un conseil de Marc Magnin sur Twitter. 

Il a découvert que les identifiants d'utilisateur peuvent être trouvés dans le code source de la page aussi, comme on pouvait s'y attendre. 

Pour cela, il suffit d'aller dans vos contacts et d'ouvrir le contact qui vous intéresse. A l'aide des outils de développement, vous ouvrez l'onglet 'Inspecteur' (Firefox) ou 'Eléments' (Chrome) et vous cherchez l'élément data-sourceid dans le code source. 

Un ou deux éléments seront trouvés, et s'il y en a deux, le deuxième élément aura l'ID utilisateur affiché.



Trouver un seul userID dans le code source

J'ai trouvé que le code HTML devant conserve la même chose pour les contacts de ma propre liste de contacts, il est donc possible de rechercher toute la ligne de code et d'utiliser la requête suivante dans un outil comme webscraper.io , pour obtenir rapidement une liste de userID. 

Cela voudrait donc dire que vous créez une recette qui cherche spécifiquement le morceau de code HTML suivant :


<div class="NVFbjd LAORIe "data-sourceid="

Une autre façon de trouver un userID est possible lorsque vous avez la page YouTube d'une cible. 

Pour trouver le userID, il suffit de regarder dans le code source et de chercher le lien qui pointe vers 'plus.google.com'. Le numéro qui suit est le nom d'utilisateur que vous recherchez.

Trouver le userID de OSINTcurious à l'intérieur de la page YouTube.

Attention !

Encore une fois : Tous les contacts n'étaient pas accompagnés d'un userID Google, même si chaque compte en a un. 


La seule façon fiable de récupérer le reste est d'utiliser une API Google. 

Mais comme cela dépasse largement le cadre de cet article, et que je n'ai actuellement pas assez de temps pour me plonger dans le script, j'invite d'autres personnes à travailler sur une solution efficace pour cela. 

Mais regardons l'API elle-même pour voir ce que vous pouvez en faire.


Google API

Si le nom d'utilisateur n'est pas visible dans le dump de vos contacts, mais que vous tenez vraiment à enquêter sur cette adresse mail en particulier, il y a une autre façon de récupérer le nom d'utilisateur. 

Pour cela, nous regardons l'API Google People, qui vous donne la possibilité de récupérer toutes sortes d'informations de vos contacts. 

Il peut s'agir d'adresses, de noms, de numéros de téléphone et de toute autre information personnelle que vous avez saisie pour une personne. 

Le champ qui nous intéresse est l'option "métadonnées", puisque la réponse contient l'identifiant unique dont nous avons besoin.

Comme nom de " ressource ", nous avons besoin d'un autre userID interne que je nommerai contactID. 


Et celui-ci peut être trouvé dans le fichier texte que nous avons créé précédemment, ou simplement en ouvrant la carte de contact de la cible souhaitée et en regardant les requêtes qui sont envoyées vers le serveur. 


Une des requêtes contiendra ce contactID dans les données de la requête. Il est facilement reconnaissable puisqu'il commence par un 'c' et contient environ 19 numéros.

Trouver le contactID directement dans vos contacts

Avec ces informations à portée de main, nous entrons dans l'API Google. Pour en savoir plus sur cette API, vous pouvez simplement consulter la documentation ici :

 https://developers.google.com/people/api/rest/v1/people/get

Ne vous attendez pas à ce que cela fonctionne tout de suite, vous devez d'abord créer un projet, accorder à votre projet les droits d'utilisation de certaines API et ainsi de suite. 


Mais si vous êtes un développeur ou si vous êtes suffisamment technique, je vous suggère de créer un projet et de jeter un coup d'œil à la pléthore d'API disponibles dans le monde de Google.


Après avoir récupéré le userID, il y a au moins trois choses que vous pouvez faire immédiatement : Trouver des albums photos possibles, trouver des critiques ou des lieux et le dernier : Trouver le compte YouTube qui est connecté au compte. Il est donc temps de jeter un coup d'œil à ces options.

Photo Albums

Pour trouver un album photo d'un utilisateur donné, il suffit de remplir le userID dans l'URL suivant :

https://get.google.com/albumarchive/{userID}

Ne vous attendez pas à ce que tout le monde ait un album photo, mais vous serez surpris de voir combien d'entre eux ont un contenu qui pourrait même être utilisé pour pivoter ! Surtout avec les informations fuitées que j'ai utilisées comme exemple dans cet article.

No words…

Et le meilleur de tout, c'est que de temps en temps, non seulement une photo est affichée dans un album, mais elle est même liée à un endroit précis sur Google Maps ! Voici une photo qui a été tirée d'un album photo via cette astuce :

Et lorsque je regarde les données de Google Maps pour cet utilisateur en particulier, nous constatons en fait que la photo a été affichée avec des coordonnées précises, il y a environ 3,5 ans :

Allons pêcher ?

Google Maps

Google Maps et Google Reviews sont tous deux accessibles via GMaps, et chaque utilisateur peut être interrogé en demandant simplement l'URL correcte, c'est-à-dire :

https://www.google.com/maps/contrib/{userID}

Lorsque cette URL est ouverte, elle affiche par défaut les photos qui sont téléchargées avec les informations de localisation, mais les avis des utilisateurs sont accessibles via l'option sur la gauche. 


Une des choses étonnantes est que même avec seulement une adresse GMail, pas d'album photo et pas de commentaires, vous êtes toujours capable de trouver le vrai nom de quelqu'un, à moins qu'il ne soit vraiment intelligent et utilise un alias bien sûr.

Trouver le nom derrière un compte

YouTube Account

Ce que peu de gens savent, c'est que dans de nombreux cas, il est possible de trouver la chaîne YouTube d'un utilisateur de Google, lorsque vous n'avez qu'une adresse GMail à portée de main. 

Il est possible de créer plusieurs canaux ou profils, mais chaque utilisateur Google a un compte standard sur YouTube qui peut être récupéré via :


https://www.youtube.com/feeds/videos.xml?user={accountName}

Le résultat est le RSS de ce que les utilisateurs téléchargent. 

Cela peut être vide, cela peut être des pages et des pages longues, mais cela donnera quelque chose en retour. 

Mais cela ne fonctionne pas avec le userID que nous avons trouvé,   la seule chose dont vous avez besoin est le nom du compte, ou dans la plupart des cas (avertissement à venir !) la partie en face de 'gmail.com'.

Cela ne veut pas dire que c'est infaillible ! 

Jusqu'à présent, je n'ai pas vu de divergences, mais je crains qu'elles soient là ! Je peux m'imaginer que quelqu'un a réclamé un nom de compte, mais que quelqu'un d'autre est en possession de l'adresse postale à ce nom. 


Donc, s'il vous plaît, vérifiez et revérifiez tout cela, avant de sauter aux conclusions. Maintenant, passons à la partie amusante !

Note : Comme j'ai essayé de rédiger le plus possible dans cet article, j'ai choisi de choisir un utilisateur différent et aléatoire pour la prochaine partie. 

Vous pouvez obtenir vous-même des données  et passer en revue des dizaines et dizaines de comptes YouTube qui existent.

Choisissons donc quelqu'un appelé " test ", qui pourrait avoir l'adresse test@gmail.com (ce n'est qu'un exemple bien sûr) et le canal YouTube qui appartient à ce compte :


Aller à la page de la chaîne

Par curiosité, j'ai lancé un petit script qui vérifiait si une page YouTube existait pour chacun des noms d'utilisateurs qui se trouvaient dans la liste des comptes GMail. 

Dans la liste des 624 adresses, il y a 45 correspondances avec des pages YouTube ayant le même nom de compte. 

C'est au moins un bon début pour plonger plus profondément dans n'importe quel type d'investigation que vous faites.

Il existe différents identifiants lorsqu'il s'agit d'un compte YouTube. Tout d'abord, nous avons l'URL avec l'identifiant long :

https://www.youtube.com/channel/UCAiaFvFFZOwlU8Sw8S0dunQ

Ensuite, il y a le nom du "propriétaire" du compte, dans cet exemple c'est "tipsbmx". C'est le "nom d'affichage" qu'un utilisateur peut choisir pour être affiché sur le YouTube  :


Pour trouver le compte d'utilisateur YouTube qui se trouve derrière, nous regardons dans le code source de la page. 

Vous pouvez le trouver en cherchant le paramètre 'ownerProfileUrl' ou 'vanityChannelUrl' :

Finding the user account

Dans le code source, il y a aussi l'ID utilisateur, comme indiqué précédemment. Pour le trouver, il suffit de rechercher 'plus.google.com', comme ceci :

Cela permet de relier quatre éléments d'information :

  • YouTube channel ID
  • Display name
  • YouTube account name
  • Google userID

Pour trouver l'ID de la chaîne YouTube tout en n'ayant que le nom de compte YouTube, indiquez l'URL suivante :

https://www.youtube.com/feeds/videos.xml?user={YouTube ID}

Google Drive

La première option pour récupérer l'ID utilisateur Google nécessite que vous soyez connecté. Si vous ne le souhaitez pas, ou si pour une raison quelconque vous n'avez pas la possibilité de le faire, veuillez faire défiler vers le bas et lire la deuxième option pour trouver les informations sur le propriétaire.

Et oui, il y a aussi dans Google Drive une option pour trouver des informations sur le propriétaire. 

Lorsque nous ouvrons le Drive, nous voyons le nom, l'adresse e-mail et le contenu. Mais à première vue, il n'y a rien de plus.



Finding the owner, the easy way…

Mais à l'intérieur du code source, il y a l'option de trouver le userID de l'utilisateur qui a créé la carte, ou en d'autres termes : Qui est le propriétaire. 


Pour cela, nous devons chercher la chaîne de 21 caractères qui commence par 10 ou 11. 

Pour faciliter la recherche, assurez-vous d'ajouter devant le code hexadécimal pour les guillemets doubles, qui est \x22. Cherchez donc l'un des deux suivants :

  • \x2210
  • \x2211

Il y aura quelques résultats, où les chiffres les plus longs sont l'ID utilisateur du propriétaire du Google Drive :

Le propriétaire a trouvé... Il est temps de pivoter !

Ensuite, nous pouvons utiliser ce nom d'utilisateur pour ouvrir Google Photos, ou dans ce cas, les avis et les photos dans Google Maps. 

Et nous constatons que la personne que nous recherchions à l'époque, a utilisé son faux compte pour laisser une critique réelle pour un restaurant de la région :

Des leçons pour faire sauter votre propre couverture...

If you want to stay anonymous, or you can’t be logged in into Google Drive for some reason, there is another way of retrieving the information. Thanks to djnemec who found this little gem! The first step will be to open the developer tools and highlight the ‘network’ tab. The second step is to already filter the responses to include ‘permissions’, so we can focus on what really matters. Then you open the Google Drive link you want to investigate and highlight one of the files you are interested in and there you go! One single HTTP request will be filtered out that contains the following information:


Si vous souhaitez rester anonyme, ou si vous ne pouvez pas être connecté à Google Drive pour une raison quelconque, il existe un autre moyen de récupérer les informations. 


Merci à djnemec qui a trouvé ce petit bijou ! La première étape sera d'ouvrir les outils de développement et de mettre en évidence l'onglet "réseau".


La deuxième étape est de filtrer les réponses pour inclure les "permissions", afin de pouvoir se concentrer sur ce qui est vraiment important.

Ensuite, vous ouvrez le lien Google Drive que vous souhaitez étudier et mettez en évidence l'un des fichiers qui vous intéresse et voilà ! Une seule requête HTTP contenant les informations suivantes sera filtrée :

  • L'identifiant de permission ou l'identifiant unique pour ce dossier particulier 
  • Le nom de la personne, du groupe ou du domaine qui en est propriétaire
  • Adresse électronique de la personne ou du groupe avec autorisation
  • Le domaine auquel l'utilisateur appartient (dans ce cas gmail.com)
  • Le rôle de la personne, les options sont : propriétaire, organisateur, fileOrganizer, rédacteur, commentateur et lecteur
  • Le type d'utilisateur, Les options sont : utilisateur, groupe, domaine et n'importe qui
  • Photolink est l'URL de l'avatar de l'utilisateur, pour autant qu'il soit disponible


Trouver des informations sur le propriétaire en un seul clic

Conclusion

Google relie de nombreux identifiants en arrière-plan, mais tout n'est pas aussi visible que nous l'espérons. Mais nous avons encore beaucoup à faire, que ce soit manuellement ou avec l'aide d'outils.

Je ne suis pas vraiment un développeur, mais j'aime plonger dans le code et découvrir comment les choses fonctionnent, afin de pouvoir utiliser l'information à mon avantage.

Et quand vous avez un ensemble de données qui contient des centaines d'adresses mail que vous pouvez utiliser pour écrire un petit blog pour la communauté OSINT, c'est toujours amusant de trouver une personne (éventuellement) néerlandaise dans cet ensemble de données :



This has to be Dutch…


Tu as bien aimé l'article ou tu as mal aux yeux :

Voici le PDF

Article écrit par :
Mikael Monjour
Data et Automatisation