Instagram : obtenir les infos d’un compte….

Instagram : obtenir les infos d’un compte….

L’amie @technisette a publié en juillet, sur le site Osint Curious, deux très bons billets sur les recherches possibles sur Instagram.
Une des astuces données concernait l’affichage des informations d’un compte au format Json dans le navigateur, en utilisant directement l’API du site.

Exemple :
https://i.instagram.com/api/v1/users/1034466/info/ pour obtenir les informations du compte de Starbucks devrait nous donner ceci :

{"user": {"pk": 1034466, "username": "starbucks", "full_name": "Starbucks Coffee \u2615", "is_private": false, "profile_pic_url": "https://scontent-cdg2-1.cdninstagram.com/vp/0e07d26e60e5b4598da83e18d6672315/5E1DA749/t51.2885-19/s150x150/54247905_1011601952363831_7925609498994016256_n.jpg?_nc_ht=scontent-cdg2-1.cdninstagram.com", "profile_pic_id": "2009724254929369404_1034466", "is_verified": true, "has_anonymous_profile_picture": false, "media_count": 1862, "follower_count": 18237408, "following_count": 3690, "following_tag_count": 0, "biography": "Inspiring and nurturing the human spirit -- one person, one cup, and one neighborhood at a time.", "external_url": "https://starbucks.app.link/scm", "external_lynx_url": "https://l.instagram.com/?u=https%3A%2F%2Fstarbucks.app.link%2Fscm\u0026e=ATNJawA5OtI3O7vco1wUa4fc1fLWc4KBhCcKY2jbbC5DVIcNtS-GmZVb40iCqnvpS8H05o_ANTUbGFcZkfi4ivEy7B6aSRc", "total_igtv_videos": 1, "has_igtv_series": false, "total_ar_effects": 0, "usertags_count": 2200976, "is_favorite": false, "is_favorite_for_stories": false, "is_favorite_for_highlights": false, "is_interest_account": true, "hd_profile_pic_versions": [{"width": 320, "height": 320, "url": "https://scontent-cdg2-1.cdninstagram.com/vp/b447438839ebcb82a485046cd1977143/5E1FC931/t51.2885-19/s320x320/54247905_1011601952363831_7925609498994016256_n.jpg?_nc_ht=scontent-cdg2-1.cdninstagram.com"}, {"width": 640, "height": 640, "url": "https://scontent-cdg2-1.cdninstagram.com/vp/68053010283eec0a0f078c612629be6e/5E24F18A/t51.2885-19/s640x640/54247905_1011601952363831_7925609498994016256_n.jpg?_nc_ht=scontent-cdg2-1.cdninstagram.com"}], "hd_profile_pic_url_info": {"url": "https://scontent-cdg2-1.cdninstagram.com/vp/848fb88682d02055ef3285373e567810/5E387C31/t51.2885-19/54247905_1011601952363831_7925609498994016256_n.jpg?_nc_ht=scontent-cdg2-1.cdninstagram.com", "width": 1080, "height": 1080}, "mutual_followers_count": 0, "has_highlight_reels": true, "can_be_reported_as_fraud": false, "direct_messaging": "UNKNOWN", "fb_page_call_to_action_id": "", "address_street": "", "business_contact_method": "CALL", "category": "Marque", "city_id": 0, "city_name": "", "contact_phone_number": "+18007827282", "is_call_to_action_enabled": false, "latitude": 0.0, "longitude": 0.0, "public_email": "", "public_phone_country_code": "1", "public_phone_number": "8007827282", "zip": "", "instagram_location_id": "22092443056", "is_business": true, "account_type": 2, "can_hide_category": true, "can_hide_public_contacts": true, "should_show_category": true, "should_show_public_contacts": true, "should_show_tabbed_inbox": false, "is_facebook_onboarded_charity": false, "has_active_charity_business_profile_fundraiser": false, "charity_profile_fundraiser_info": {"pk": 1034466, "is_facebook_onboarded_charity": false, "has_active_fundraiser": false, "consumption_sheet_config": {"can_viewer_donate": false, "currency": null, "donation_url": null, "privacy_disclaimer": null, "donation_disabled_message": "Nous rencontrons des probl\u00e8mes de connexion. Veuillez renouveler votre don plus tard.", "donation_amount_config": null}}, "include_direct_blacklist_status": true, "is_potential_business": true, "is_bestie": false, "has_unseen_besties_media": false, "show_account_transparency_details": true, "auto_expand_chaining": false, "highlight_reshare_disabled": false, "show_post_insights_entry_point": false, "about_your_account_bloks_entrypoint_enabled": false}, "status": "ok"}

Certaines infos ne sont pas forcément visibles sur la page d’accueil du profil.

Toutefois, depuis plusieurs jours, le lien ci-dessus ne donne aucun résultat :

Comment retrouver simplement cette granularité d’information?

Vous avez dit « useragent« ?

Le useragent, c’est l’identifiant de votre navigateur. Il indique en général votre système d’exploitation (windows, mac, Linux, Android, iOS…), sa version, etc…

Si vous voulez connaître le vôtre, vous pouvez demander à https://www.whatsmyua.info/

Le mien est le suivant :


La bonne ou la mauvaise nouvelle (selon que l’on est un bon analyste ou un méchant pirate…), c’est qu’un useragent, cela se modifie (on dit en anglais que cela se spoofe) : soit directement dans les paramètres du navigateur, soit en utilisant une extension telle que User-Agent Switcher.

Si Instagram nous dit qu’il y a une erreur de type « useragent mismatch« , c’est que notre user-agent ne correspond pas à celui attendu par le site.

En effectuant une recherche sur Google du type « Instagram official user-agent », on découvre le site internet WhatsmyBrowser.com qui recense les user-agents utilisés un peu partout sur internet.

Notez la présence de la référence Instagram 72.0.0.21.98 dans le premier de la liste des user-agents référencés…

Et si on ajoutait cette référence à notre propre navigateur?!

Nous ouvrons dès lors l’extension User-Agent Switcher :


Et nous collons la référence Instagram 72.0.0.21.98 à la suite de notre chaîne de caractères correspondant à notre user-agent et nous validons an cliquant sur Apply :

Et voilà!!!

Il suffit de rafraîchir la page Instagram pour récupérer les informations du compte!

P.S. : Nous vous rappellons qu’il est possble d’obtenir le numéro d’identifiant utilisateur d’un compte en ajoutant /?__a=1 à la suite de son URL :

https://www.instagram.com/nom-compte/?__a=1

Firefox (IV) – Sécuriser un peu plus sa navigation

Firefox (IV) – Sécuriser un peu plus sa navigation

Les extensions pour Firefoxpour l'OSINT sur OpenFacto

Si par construction Firefox présente d’emblée un niveau de sécurité intéressant, et prend de même soin de notre vie privée un peu mieux qu’un autre navigateur, il est toutefois possible d’affiner un peu plus encore ses réglages pour des recherches en Sources Ouvertes.

Il s’agit là de quelques conseils qui ne prétendent pas à l’exhaustivité mais qui permettent d’ajouter une petite couche supplémentaire à votre navigation.

Ce billet est le quatrième billet d’une série sur le navigateur Firefox.

Les profils utilisateurs ou comment séparer ses différentes activités…

La première règle essentielle de prudence et de sécurité à appliquer serait de séparer complètement ses activités de surf personnel et celles dédiées à l’OSINT. Or, l’expérience montre que c’est en fait une règle très difficile à respecter au quotidien.
Tout le monde ne dispose pas d’un poste internet dédié à ce seul usage (idéal!), ou des ressources matérielles (ou des compétences techniques…) pour faire tourner une machine virtuelle (VM) dédiée aux Recherches en Sources Ouvertes.

Une solution intermédiaire consiste à créer des profils utilisateurs distincts dans Firefox, chaque profil disposant dès lors de ses propres réglages, ses propres extensions, et par incidence, ses propres cookies, historiques de navigation, etc…

Dans Firefox, tapez about:profiles dans la barre d’URL.

Depuis cette vue, vous pouvez dès lors créer un nouveau profil utilisateur.

Vous pouvez également démarrer Firefox avec l’option -P ou --ProfileManager pour créer et gérer ces nouveaux profils.

Un tutoriel très explicite est disponible sur le site de la Fondation Mozilla.

A titre d’exemple, voici une stratégie de profils qu’il est possible de mettre en place, sachant que Firefox est capable de lancer un navigateur par profil sans aucun problème :

  • Un profil pour votre surf personnel
  • Un profil orienté OSINT/réseaux sociaux, dans lequel vous ferez évoluer vos avatars, qui de cette façon ne contamineront pas votre navigation habituelle…
  • Un profil orienté technologie, cyber…

Évidemment, vous adapterez la situation à votre propre cas.

Paramétrage du DNS-over-HTTPS (DoH)

Un serveur DNS est un serveur qui, pour faire simple, se comporte comme un gros annuaire qui traduit une adresse de nom de domaine (ex : liberation.fr) en son adresse IP (85.118.46.182).

Un résolveur DNS est un cache, un relais, géré le plus souvent par votre fournisseur d’accès, et qui redistribue les données des serveurs DNS vers les utilisateurs. C’est un intermédiaire, un tampon.

A chaque fois que vous tapez une URL dans la barre d’URL et que vous validez, une requête au résolveur DNS est donc adressée pour faire cette correspondance (En réalité, pas tout à fait, les navigateurs ont un système de cache, mais je simplifie…).

Par défaut, Firefox effectue cette requête en clair. Vous comprenez donc qu’à ce stade, votre fournisseur peut donc savoir quels sont les sites internet que vous fréquentez.
Pour assurer un peu plus de confidentialité à nos requêtes nous allons donc activer la fonctionnalité DNS-over-HTTPS (DoH) de Firefox, qui va noyer ses requêtes dans le trafic https de l’utilisateur, qui est lui chiffré.


Comment faire?

  • 1ère étape : Dans le menu Firefox, choisissez Outils, puis Préférences. ou tapez about:preferences dans la barre URL et appuyez sur Entrée.
  • 2ème étape : Dans la section Général (la section qui s’ouvre en premier), faites défiler vers le bas jusqu’au panneau Paramètres du réseau, puis appuyez sur le bouton Paramètres.

En bas de cet onglet, cochez la case « Activer le DNS via HTTPS« .

Par défaut, Mozilla envoie ces requêtes à CloudFlare (1.1.1.1), un serveur de DNS américain. C’est déjà pas mal, mais nous allons quant à nous utiliser ceux de Quad9 : https://dns.quad9.net/dns-query
Cette organisation propose des résolveurs DNS libres d’accès, récursifs et ouverts. Ils permettent notamment un accès plus aisé à certains sites filtrés par les opérateurs…. Stéphane Bortzmeyer avait chroniqué Quad9 sur son blog en 2017.

Attention toutefois : Comme S. Bortzmeyer le signale, Quad9 est un résolveur DNS « menteur » ce qui signifie qu’il bloque certains domaines signalés pour activité malveillante (ex : distribution de virus, malware…). Donc si l’objet de vos recherches est précisément l’étude de ces activités, il vous faudra choisir un résolveur non-menteur.

Votre navigateur est désormais paré pour le DNS via HTTPS.

Pour le vérifier, faites le test suivant.

DNSSEC Resolver Test sur OpenFacto.fr

Vérifions tout de même ces réglages dans les paramètres de Firefox en tapant dans la barre d’URL about:config.

Une fois passé le bouton de confirmation un poil anxiogène suivant :

Nous allons vérifier deux valeurs de clefs de paramétrage :

  • network.trr.mode

La valeur de la clef devrait être à 2 et non à 0 comme par défaut, ce qui signifie que vous requêtes DNS vont passer en priorité par DoH.

  • network.trr.uri

Ici la valeur devrait être https://dns.quad9.net/dns-query

Paramétrage de l’Encrypted Server Name Indication (ESNI)

Puisque nous sommes dans l’antre du about:config, nous allons activer par ce biais une nouvelles fonctionnalité, l’ESNI. Elle permet de cacher à votre fournisseur d’accès, le nom même des sites que vous visitez.

Cherchez la valeur suivante : network.security.esni.enabled et passez la à true.

Cookies

Deux actions peuvent être menées sur les cookies, qui sont activés par défaut sur Firefox :

  • Activer le blocage des cookies tiers, qui sont pour l’essentiel des cookies utilisés pour vous pister durant votre activités sur le net.

Cliquez sur le bouton de menu paramètre et choisissez Blocage de contenu. Le panneau Vie privée et sécurité des Préférences de Firefox s’ouvre. C’est l’endroit où vous pouvez examiner vos paramètres pour le Blocage de contenu, parmi lesquels ceux des cookies.

Pour bloquer les cookies : Sélectionnez Personnalisé et cochez la case Cookies.

Fx65Custom-ThirdPartyCookies

Traqueurs tiers est le paramètre par défaut pour le blocage des cookies.

  • Supprimer les cookies à la fermeture de Firefox

Pour supprimer tous les cookies et les données de site à la fermeture de Firefox :

  1. Cliquez sur le bouton de menu de Firefox et sélectionnez Préférences
  2. Sélectionnez le panneau Vie privée et sécurité et allez à la rubrique Cookies et données de site.
  3. Cochez la case Supprimer les cookies et les données des sites à la fermeture de Firefox.

À chaque fermeture de Firefox, les cookies enregistrés dans votre ordinateur sont supprimés.

Copier-Coller

Lorsque vous copiez/collez des données sur un site internet, celui-ci peut dans certains cas le détecter, vous empêcher de le faire ou substituer les données que vous essayez d’attraper…

Pour bloquer cela, allez dans le about:config, et cherchez la clef : dom.event.clipboardevents.enabled
Passez la à False.

Quelques ressources complémentaires

Cet article avait pour but de vous présenter quelques réglages intéressants pour la vie privée et ayant peu ou pas d’impact sur votre navigation.
D’autres réglages sont possibles. Bloquer le referrer, par exemple, sera sans doute très utile mais empêchera plusieurs sites de fonctionner….
Vous trouverez ci-après deux sites vous les listant :

Un dernier conseil, qui m’a sauvé la mise il y a quelques semaines de cela.

Utilisez Firefox Sync.

Firefox Sync permet de synchroniser vos onglets, vos favoris, votre historique, les préférences, les mots de passe, formulaires pré-remplis, les extensions (c’est paramétrable). Les données sont envoyées chiffrées sur les serveurs de la fondation Mozilla.

Vous pouvez récupérer instantanément votre environnement préféré lors de vos vacances chez Mamie, sur sa machine, mais également en cas de perte de votre ordinateur ou panne système.


OSINT : le cas du traitement de la presse vietnamienne (1ère partie)

OSINT : le cas du traitement de la presse vietnamienne (1ère partie)

De la nécessaire maîtrise de la langue, de la culture et des codes dans les opérations…

Mon premier contact avec la presse vietnamienne remonte à plus de 25 ans alors que j’étais étudiant en langue à l’Ecole Supérieure de Langues Etrangères de Hanoi. Outil d’apprentissage de la langue pour l’acquisition du vocabulaire, économique d’abord, cette presse devint progressivement un vecteur d’appréhension et de compréhension progressif de l’environnement informationnel ambiant qui m’entourait et dans lequel je baignais. Cette ouverture sur cet écosystème informationnel se structura ensuite de par les activités que j’occupai à la Chancellerie Politique de l’Ambassade de France au Vietnam (1995 – 1998) où il m’était demandé, entre autres, de « brosser » de façon quotidienne un tableau informationnel des éléments publiés dans la presse vietnamienne de langue vietnamienne. Expérience qui dura 3 ans et qui fut prolongée par la mise en place à la fin des années 90 d’une petite structure (en partenariat avec l’Association des Journalistes du Vietnam et le Press Club de Hanoi) de vente d’informations aux acteurs économiques étrangers opérant au Vietnam.

Cette approche « opérationnelle » de la presse vietnamienne fit l’objet de la première partie de ma thèse soutenue en 2005 à l’Institut National des Langues et Civilisations Orientales. Thèse de Doctorat ayant pour titre : « Genèse, situation actuelle et perspectives d’avenir des Compagnies Générales (Tổng Công ty) en République Socialiste du Viêtnam à travers les sources viêtnamiennes1

1 Voir Eglinger, Jean-Philippe, Genèse, situation actuelle et perspectives d’avenir des Compagnies Générales (Tổng Công ty) en République Socialiste du Viêtnam à travers les sources vietnamiennes, thèse de doctorat,Paris, INALCO, avril 2005.

Pourquoi alors revenir sur ce sujet quelque 25 années plus tard? Car il est plus que d’actualité pour une personne ou une organisation qui souhaite appréhender l’environnement d’un pays où le système politique se sert de cet outil comme porte voix direct auprès de sa population. Traiter à la source l’information permet de détecter les signaux faibles ; pouvoir comprendre l’angle d’approche et surtout la manière dont les autorités souhaitent voir sa population réagir face à un problème évoqué, ce sans être obligé de poser trop de questions est un réel avantage. Tout cela effectué dans la langue et la culture vietnamiennes pour optimiser l’efficacité du discours et donc l’impact de l’influence. L’important ici étant moins l’information en elle-même que la source qui la traite et la manière dont elle est traitée. Et c’est bien là tout l’avantage de pouvoir directement approcher et analyser cette presse dont certains pensent qu’elle ne présente pas d’intérêt car elle est dirigée… Cette direction indiquée, précédemment évoquée, nous donne les clefs de décryptage car cet outil est éminemment politique.

La presse au Vietnam : un écosystème au service des autorités du pays

  • Statut actuel :

Dans un article publié par la revue Công Lý (Justice) du 28 décembre 20181, présentant le rapport des activités de la presse institutionnelle vietnamienne 2 en décembre 2018, M. Lê Mạnh Hùng, vice président de la Commission Centrale de la Propagande et de l’Education a indiqué qu’en novembre 2018, il y avait environ 19 000 journalistes détenteurs d’une carte de presse; que le nombre d’adhérents à l’Association des Journalistes du Vietnam s’élevait à 23 893 personnes. Le Vietnam compte quelque 844 organes de presse avec 184 journaux, 660 revues et 24 organes de presse électroniques indépendants.

Quelque 189 licences autorisant la mise en place de sites d’information internet ont été attribuées aux organes de presse, de diffusion ou de télévision. Le Vietnam compte 67 radios ou chaînes de télévision et 35 entreprises évoluant dans le domaine de services de diffusion ou télédiffusion.

Ce secteur de la presse représentait en 2018 un marché de 15 840 milliards de VND (environ 610 millions d’euros). Le chiffre d’affaires des journaux imprimés et électroniques se montait à 4 900 milliards de VND (soit 188 millions d’euros). Et le chiffre d’affaires des Radio et télévision représentait 10 940 milliards de VND (420,6 millions d’euros) avec une part de recettes de 9 631 milliards de VND (370 millions).

A noter que depuis la fin des années 80, le modèle économique des média vietnamiens s’est libéralisé et que le secteur privé est désormais autorisé à investir dans certaines publications à vocation de « loisir« .

Enfin, à noter qu’à côté de cette presse nationale vietnamienne, il existe de nombreuses publications ou blogs tenus par des Việt Kiều (Vietnamiens résidant à l’étranger) et souvent hostiles à la politique des dirigeants du Vietnam.

1 http://congly.vn/thoi-su/hoi-nghi-bao-chi-toan-quoc-tong-ket-cong-tac-nam-2018-trien-khai-nhiem-vu-nam-2019-281918.html

2 Il est intéressant de voir qu’en vietnamien le terme « báo chí » (journal) englobe l’ensemble des activités de la presse

  • Bref Historique

Dans son ouvrage, Thư tịch Báo Chí Việt Nam1, M. Tô Huy Rứa2 indique que « le journalisme est apparu au Vietnam juste après l’invasion des ‘Colonialistes’ français ». La première publication vietnamienne, aux yeux des autorités de Hà Nội, semble rester le journal Gia Định báo. Ce journal écrit en quốc ngữ 1 fut fondé à Sài Gòn le 15 avril 1865 sur décision du gouvernement français de Cochinchine. Le développement de la presse au Vietnam connu un essor dans les années 1910 – 1920, date à laquelle des parutions créées par des intellectuels vietnamiens qui décidèrent de favoriser la diffusion du savoir par voie de presse virent le jour. Des publications comme Nam Phong écrites en quốc ngữ2, français et chinois étaient soutenues par les autorités coloniales françaises afin de défendre les intérêts et la culture française et influencer les populations.

1 Nhà xuất Bản Chính trị Quốc gia, 1998

2 Alors président de l’Institut Politique Hồ Chí Minh

1 Langue nationale fondée sur les caractères latins
2 Journal fondé par Phạm Quỳnh et Louis Marty en janvier 1917.

Tout comme le Nam Phong, l’hebdomadaire Đông Dương Tạp chí1 fondé par le Français Schneider et dont le rédacteur en chef était Nguyễn Văn Vĩnh axait sa ligne éditoriale sur la vulgarisation de la culture tant vietnamienne qu’occidentale… D’autres journaux plus littéraires firent leur apparition comme le Phong Hoá Tuần báo2 fondé par Nguyễn Tường Tam (Nhật Linh) à son retour de France en 1932. Une des caractéristiques de ce journal était qu’il était animé par une équipe de jeunes écrivains et poètes qui fondèrent un groupe littéraire, le Tự lực Văn đoàn3 résolument « moderne ».

Parallèlement à cette presse « autorisée », s’est développé dans les années 30 – 40 une presse vietnamienne d’Outre-mer4, créée par Nguyễn Ái Quốc5 et qui comprenait les principaux titres suivants : Thanh Niên, Công nông, Lính khách mệnh. D’autres sensibilités étaient également représentées comme celle du nationaliste Nguyễn An Ninh avec son titre « La Cloche fêlée », Ce sont là les prémisses de la presse révolutionnaire vietnamienne de différentes obédiences (Communiste, nationaliste, trotskyste) qui a permis l’essor du journalisme connu sous le terme de Làng Báo Chí (Village de la Presse)… Qui aussi bien les journaux autorisés que les premières revues communistes ont eu pour effet immédiat de contribuer à enseigner et de propager à grande échelle le quốc ngữ dont l’usage était jusqu’alors resté limité… Dès son apparition, il est frappant de constater que la presse vietnamienne a toujours été un enjeu de pouvoir dont le but était de convaincre ses lecteurs du bien fondé des causes qu’elles incarnaient et défendaient quelles fussent littéraires, politiques, linguistiques ou culturelles. Le président Hồ Chí Minh aimait effectivement à rappeler que « le journaliste est le soldat, le papier et la plume sont des armes ». Cette arme qui fut nécessaire à la lutte pour l’indépendance continue maintenant à être utilisée pour canaliser les énergies à « l’édification du Socialisme, à la poursuite de l’industrialisation et de la modernisation du Vietnam » tout en renforçant « la solidarité idéologique, politique et spirituelle parmi la population6 »

1 15 mai 1913 – 15 juin 1919

2 16 juin 1932 – 5 juin 1936.

3 Regroupant, entre autres, les auteurs suivants : Nhật Linh, Tô Ngọc Vân, Khai Hưng, etc.

4 Base d’Edition à Canton. D’autres journaux communistes vietnamiens furent implantés en Chine (Shanghai) « Đỏ » du Đảng Cộng sản An Nam, en France, …

5 Hồ Chí Minh

6 Directive 22/CT-TW du 17 octobre 1997

  • Les liens avec le monde politique

Historiquement et par nature, la presse au Vietnam est fortement liée au pouvoir politique en place et les contrôles s’organisent de façon institutionnelle selon le schéma (simplifié) suivant :

Source : Travaux personnels

La nécessaire prise en compte de la « grille de lecture » politique, économique, culturelle pour optimiser son utilisation opérationnelle.

Cette imbrication qui existe entre la presse vietnamienne et les autorités politiques est double : d’une part, la presse institutionnelle est placée directement sous le contrôle des autorités qui s’en servent de porte voix. D’autre part, la presse contestataire Việt Kiều, donne en creux des éléments d’information supplémentaires à ceux indiqués par la presse institutionnelle. Si à cela, on ajoute que la presse institutionnelle est multiple en raison des différents organes de rattachement des publications, on commence à voir que cet écosystème d’informations n’est pas si monolithique qu’annoncé. Contredisant la phrase « solennelle » si souvent entendue : « de toute façon la presse vietnamienne est dirigée, il n’y a donc rien à en tirer »… Certes, la presse vietnamienne est dirigée, et c’est justement pour cela qu’elle est intéressante et qu’elle « dit ». La question est de savoir si nous savons/pouvons « entendre ». Sachant « qu’entendre » ne signifie aucunement « partager le point de vue »… Et pour entendre il faut vouloir (essayer) de comprendre et être en mesure de décrypter cette presse dans son environnement politique, linguistique et culturel. Et c’est seulement dans cet état d’esprit que l’on pourra être en mesure d’appréhender les éléments qu’elle révèle, ce selon un cheminement souvent très cadré.

  1. En premier lieu, la presse une fois qu’elle y est autorisée, identifie un sujet via une publication dans certains journaux phares (au plus proche des autorités politiques (Cf. Partie 3), ou bien, en creux ignore, un problème par non révélation ou retrait de publication. C’est là le premier signal faible à détecter. Voir si le fait qui existait est révélé, ignoré, ou abandonné.
  2. Le deuxième point est de bien comprendre comment ce point révélé est abordé. Quel est son éclairage. Et sa contextualisation dans l’environnement vietnamien est capital. Les pondérations « d’importance » de l’information ne sont pas forcément les mêmes dans cet environnement que dans le nôtre.
  3. Le troisième point à prendre en compte est la solution que l’article propose pour gérer le problème exposé. Quel est le chemin à prendre, à suivre pour entrer dans la gestion « autorisée » de la situation ?
  4. Enfin, le dernier point, en guise de conclusion, est l’enseignement à retirer de la situation décrite. Ce qu’il faut en retenir afin de ne pas se retrouver confronté aux mêmes difficultés dans l’avenir.

Cette approche très pédagogique permet à celui qui maîtrise les éléments du « puzzle » donnés par la presse de dégager les éléments principaux pour tenter de reconstituer le tableau à partir des pièces éparses collectée…

Et ceci demande une connaissance fine de l’écosystème des organes de publication de la presse au Vietnam. En effet, « Qui dit quoi ? » Quelle est la hiérarchie à établir entre les publications ? Par exemple lorsque le journal Nhân Dân (Le Peuple) dont l’organe de Tutelle est le Parti Communiste, publie une information, on peut de facto en déduire que cette information est de première importance pour les autorités. La source avant l’information… On sait également que ce journal étant près des autorités de censure, il sait ce qu’il ne peut pas écrire donc ce sera lui qui en « dira » le plus. C’est une lecture en creux en quelque sorte…

Un autre exemple, lorsque le journal Đầu Tư (organe de tutelle : le Ministère du Plan et de l’Investissement) traite, par exemple, d’un cas de corruption (par exemple) et que le journal Công Thương (organe de tutelle le Ministère de l’Industrie et du Commerce) y répond si un agent de son ministère est mis en cause, on peut compter glaner un certains nombre d’informations autour de ces échanges par presse interposée. Ceci est valable pour d’autres acteurs politiques qui souvent font l’objet d’attaques dans les campagnes de lutte contre la corruption qui sont un moyen pour un clan d’attaquer un autre clan. Le récent exemple de l’attaque du Maire de Hanoi, M. Nguyễn Đức Chung par les partisans du Premier Ministre M. Nguyễn Xuân Phúc est un bon exemple.

A noter que ces articles sont de plus en plus relayés par les éditions électroniques des journaux plus réactives que la presse papier. Cette dernière gardant un avantage lorsqu’il s’agit de traiter des articles de fond sur une durée plus longue.

Cette presse soumise à la tutelle de ses organes est également dépendante de son lectorat. La baisse du nombre des publications papiers depuis les années 80 en atteste. La presse doit donc non seulement se « conformer » aux directives des ses organismes de tutelle mais également satisfaire les besoins d’information de la population, notamment urbaine, bien plus informée que nous pouvons le croire en Occident. Cette presse ne peut donc pas trop se déjuger. Il existe également un « garde fou », limité certes mais bien présent, qui cadre également la manière dont l’information est présentée.

Ces éléments mis en place permettent, via la mise en perspective de l’information, d’élaborer des scenarii « plausibles » en confrontant cet « environnement informationnel » aux contraintes de l’environnement vietnamien. Ce scenario peut-il entrer dans le cadre d’un écosystème contraint ou non ? Quelles sont les implications dans l’environnement vietnamien ? Etc. Sachant qu’il existe toujours des « fils invisibles » qui nous échappent.

Une fois cette étape franchie, se met en place alors la nécessaire étape de « translittération informationnelle » qui permet une fois les scenarii établi et validé dans l’écosystème vietnamien de le « transformer » en éléments recevables pour le lecteur étranger à l’écosystème. Et ce, n’est pas forcément la partie la plus simple à réaliser. Rendre intelligible une situation « cross culturelle » demande une véritable pédagogie afin d’éviter la situation de rejet souvent exprimée par : « ce n’est pas possible »…

Mais c’est un autre sujet qui ne relève pas du présent article…

Firefox (III) – Les outils de développement – Cas pratique – OSINT sur Zello

Firefox (III) – Les outils de développement – Cas pratique – OSINT sur Zello

Ce billet est le troisième billet d’une série sur le navigateur Firefox.

Nous avons vu dans la première de cette série d’articles sur les outils de développement web de Firefox (« dev tools » pour aller plus vite), comment ils pouvaient être utilisés de manière fine pour collecter de l’information en source ouvertes.
Nous vous proposons aujourd’hui un cas pratique complet d’utilisation de ces outils sur le site internet Zello.com.

Qu’est-ce que Zello?

Zello est une application pour téléphone mobile ou tablette Android et iOS transformant ces derniers en Talkie-Walkie : un gros bouton push-to-talk, un canal public ou privé que vous créez à volonté… Vous voilà équipé de petites radios mobiles à portée mondiale, de très bonne qualité audio, très utiles lors de vos déplacements en famille, par exemple. Les communications, audio ou texte, transitent via le réseau internet.

Cette facilité d’emploi en a fait un réseau également très utilisé lors des conflits par les populations civiles, les groupes armés (au Dombass par exemple), ou les services d’urgences (Casques blancs en Syrie…).

Les chaînes (channel) publiques sont susceptibles d’héberger des messages audio librement accessibles au public et donc de fournir des informations de contexte assez précieuses pour la recherche en sources ouvertes. Mais travailler en OSINT sur le site de Zello n’est pas une sinécure.
Voilà pourquoi les dev tools de Firefox vont nous aider.

Chercher de l’information sur Zello.

Pour cet exemple, nous nous intéressons à la région d’Idleb (Syrie), qui fait l’objet d’une intense campagne de bombardements par le régime syrien et les forces russes depuis plusieurs mois.

L’idée de départ, notre postulat, est que l’application Zello est peut-être utilisée par les secouristes, la population, ou les combattants et que peut-être, nous pouvons récupérer de l’information importante via des bribes de conversation audio.

Zello ne dispose pas d’un moteur de recherches très puissant et qui plus est, ce dernier est plutôt bien caché!

Nous allons donc utiliser un GoogleDork, une requête un peu spécifique, pour rechercher des chaînes en lien avec le secteur d’Idleb.


Les utilisateurs locaux utilisent l’arabe, il nous faut donc contextualiser la recherche en utilisant la graphie arabe de la ville.


إدلب site:zello.com

La recherche renvoie environ 150 résultats mais pour un aspect pratique et concret, nous nous intéressons aux chaînes récentes (moins de trois ans) et comportant si possible un nombre important d’abonnés (subscribers).

La chaîne مرصد ابو عرب سراقب (Observatoire Abu Arab Saraqeb) est particulièrement intéressante :

Créée il y a trois mois environ, elle regroupe déjà plus de 270.000 utilisateurs. Une traduction sommaire de la biographie du profil nous indique qu’il s’agit d’un poste d’observation militaire, destiné à la surveillance du trafic aérien. Le groupe dispose de trois administrateurs, et seize modérateurs, il est donc animé et vivant. Il s’agit d’un système d’alerte équivalent à Sentry Syria, à destination des populations civiles.
A ce stade, il serait déjà possible de s’abonner à cette chaîne sur l’application mobile, en respectant le cas échéant quelques précautions élémentaires (profil, burner phone, etc…).

Effectuons donc un archivage de cette chaîne susceptible de disparaître, sur Archive.Today et sur Archive.org.

Une question se pose : cette chaîne dispose-t-elle de messages publics accessibles sur son site?

L’URL de recherche sur Zello n’est pas facilement accessible.
Pour obtenir les derniers messages postés sur l’ensemble des canaux il faut utiliser cet outil :

https://zello.com/shared/#latest/1//////undefined

Notez la présence peu commune de multiples slashs sur cette URL…
Sur cette page, il est possible de rechercher par channel, par profil, par utilisateur ayant partagé un message. Il est possible de filtrer par langue.

Effectuons un recherche sur la chaîne مرصد ابو عرب سراقب.
Elle retourne une réponse paginées, par tranche de 10 messages, « plus de 1.000 enregistrements » selon le site. On le voit là aussi, la réponse du site est plutôt floue.

Lors de l’analyse d’un site, l’étude d’une URL est aussi très importante.

Cliquez sur le bouton Next. L’URL devient alors :

https://zello.com/shared/#latest/2/%D9%85%D8%B1%D8%B5%D8%AF%20%D8%A7%D8%A8%D9%88%20%D8%B9%D8%B1%D8%A8%20%D8%B3%D8%B1%D8%A7%D9%82%D8%A8/////undefined

Juste après « #latest/« , le chiffre 1 a été remplacé par le chiffre 2 : la pagination est donc accessible simplement en incrémentant cette valeur de 1… Intéressant!

Pour chaque message, les informations disponibles a priori sont les suivantes : nom de l’utilisateur à l’initiative du message, durée du message, chaîne, heure approximative et nombre de lecture dudit message. Pour l’instant, c’est assez vague.
Lorsque l’on clique sur un des messages, apparaît alors le lecteur suivant :

S’il est possible de lire le son, cette première séquence ne permet pas d’aller beaucoup loin dans la recherche, alors même que l’on dispose d’une banque audio visiblement assez conséquente. Plutôt frustrant donc!

Les dev tools à la rescousse!

Ouvrons les dev tools de Firefox, et notamment l’outil Réseau, (CTRL+MAJ+E), sur la page de recherches de la chaîne et réactualisons la page.

En filtrant les requêtes réseau, on constate que le site est assez surchargé de liens vers les réseaux sociaux Facebook, Google, Twitter, Linkedin, etc…
Autant le dire tout de suite, Zello est très gourmand en matière de données personnelles… Heureusement, le Plugin uBlock bloque l’essentiel de ces requêtes…

A ce stade, filtrons ces requêtes en ne gardant que celles au format XHR, prenons la première URL et observons son contenu dans l’onglet « réponse » à droite.

Bingo!
Nous constatons que les dix premiers résultats sont envoyés grâce à un fichier Json contenant l’ensemble des informations (metadonnées), des messages.
Comme dans le premier volet de cette série d’articles sur Firefox, nous cliquons sur cette URL en tant que cURL avec le bouton droit et exportons son contenu dans un terminal, au format Json (le > zello.json à la fin).

curl 'https://zello.com/shared/-/latest/1/%D9%85%D8%B1%D8%B5%D8%AF%20%D8%A7%D8%A8%D9%88%20%D8%B9%D8%B1%D8%A8%20%D8%B3%D8%B1%D8%A7%D9%82%D8%A8/////undefined' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' -H 'Accept: /' -H 'Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Content-Type: application/x-www-form-urlencoded' -H 'X-Requested-With: XMLHttpRequest' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Referer: https://zello.com/shared/' -H 'Cookie: __cfduid=de2c760986dd4346c968fb357057eb0ef1565680803; PHPSESSID=ea80d5b5aab44ac731725ea949d93851' -H 'Cache-Control: max-age=0' -H 'TE: Trailers' --data 'nonce=9qyne6zvzcv02xmbbl95q5xgjg63p412n491shpfgfs24zr64a5yahv5v6u7f4wl' > zello.json

Il est possible de transformer facilement ce fichier en un fichier tabulaire (csv ou xls) avec un outil tel qu’OpenRefine. Pour l’exemple ci-dessous, certaines colonnes inutiles ou redondantes ont été retirées.

zello-json.csv

1565817526Q7yjr081KxhQabo asad assafhttps://s3.amazonaws.com/zello.sharedmessages/Q7yjr081KxhQ08/14/2019 16:18:46 Android 4.65abo asad assafar15658174841565817527
1565793585UxmZEqic5jMgshhehdhdhdhhttps://s3.amazonaws.com/zello.sharedmessages/UxmZEqic5jMg08/14/2019 09:39:451Android 4.65shhehdhdhdhar15657935431565793585
15657935314sDN5fB4RK3Snor nortvhttps://s3.amazonaws.com/zello.sharedmessages/4sDN5fB4RK3S08/14/2019 09:38:51Android 4.64nor nortvar15657934381565793532
1565793477EdqnvlAwFY5qzzddrreewwhttps://s3.amazonaws.com/zello.sharedmessages/EdqnvlAwFY5q08/14/2019 09:37:57Android 4.65zzddrreewwar15657933441565793477
1565793436SD9FMXQID33iahmad.tec200https://s3.amazonaws.com/zello.sharedmessages/SD9FMXQID33i08/14/2019 09:37:16Android 4.69ahmad.tec200en15657934121565793437
1565779734xoanwLa4F36Odgdytuhttps://s3.amazonaws.com/zello.sharedmessages/xoanwLa4F36O08/14/2019 05:48:548Android 4.65dgdytuar15657780851565779734
1565727084g2she5inRHo2ytrewqjhgdaahttps://s3.amazonaws.com/zello.sharedmessages/g2she5inRHo208/13/2019 15:11:24Android 4.67ytrewqjhgdaaar15657268611565727084
1565698368BI5F4jD63Ockahmdalomlahttps://s3.amazonaws.com/zello.sharedmessages/BI5F4jD63Ock08/13/2019 07:12:481Android 4.56ahmdalomlaar15656982971565698368
1565692805DePxegwqPJbOhasan.basid.jdihttps://s3.amazonaws.com/zello.sharedmessages/DePxegwqPJbO08/13/2019 05:40:05Android 4.67hasan.basid.jdiar15656926851565692805
15656399517wj3tUEXJga2xjssdjjdddhttps://s3.amazonaws.com/zello.sharedmessages/7wj3tUEXJga208/12/2019 14:59:112Android 4.67xjssdjjdddar15656392361565639952

Nous constatons qu’en réalité, les données librement disponibles sur l’application Zello sont beaucoup plus verbeuses que ce qu’il était possible d’imaginer au départ :
– L’horodatage de l’envoi est complet et lisible, la version du logiciel employé également…
– Mais surtout, ce fichier donne l’adresse directe de téléchargement du fichier audio, sur un serveur Amazon S3!

Nous disposons donc désormais d’une liste de fichiers téléchargeables, certes avec des noms apocryphes (ex : Q7yjr081KxhQ…), mais grâce au fichier csv obtenu via les Dev Tools de Firefox, nous disposons également d’une table de correspondance indiquant date, heure de la mise en ligne, ainsi que l’identifiant de l’auteur….

La suite?

L’objet de cet article est essentiellement de vous montrer, à l’aide d’un cas concret, comment les Outils de Développement Web du navigateur Firefox peuvent vous aider dans vos recherches en Sources Ouvertes.

Vous remarquerez que nous n’avons utilisé aucun outil miraculeux hormis Firefox mais qu’en suivant une démarche méthodique simple (Que cherche-t’on?, requête google adaptée, première analyse de page, archivage, analyse fine complémentaire via les dev tools….), nous avons pu remonter des informations essentielles à notre recherche,

Mais en plus de la collecte d’informations, ces outils ouvrent de nouvelles perspectives pour l’automatisation de cette collecte, dont voici quelques pistes :

  • Il paraît impossible a priori de déterminer facilement le nombre total de messages disponibles (« plus de mille » nous indique le site…). Toutefois, en remplaçant la valeur numérique dans l’URL par 100, 101 (etc…)


https://zello.com/shared/#latest/2/%D9%85%D8%B1%D8%B5%D8%AF%20%D8%A7%D8%A8%D9%88%20%D8%B9%D8%B1%D8%A8%20%D8%B3%D8%B1%D8%A7%D9%82%D8%A8/////undefined

et en observant le contenu affiché, il est possible de constater que le premier message a été posté il y a cinq mois (valeur numérique 101) :

  • Le corollaire de cette constatation, est qu’il est sans doute possible (spoiler : oui c’est possible!) de créer un script informatique simple (en Python, en Bash, en DOS, en R…), sous forme d’une boucle allant de 1 (première page), à 101 (dernière page), capable de récupérer en quelques minutes, l’intégralité des messages (1.010 à la date de rédaction de cet article) de cette chaîne Zello!
  • Enfin, disposer d’un gros millier d’adresses Amazon S3 permet également d’envisager de créer une boucle identique, capable d’aspirer facilement l’intégralité de ces données pour analyse et archivage….
  • Ces données peuvent être analysées de plusieurs manières : contenu des conversations (type d’aéronefs, bilan humains, géolocalisation des impacts….), statistiques sur la fréquence des observations qui donnent une idée de l’intensité des bombardements, et peuvent aider les enquêtes (citoyennes, journalistiques, judiciaires…) en livrant des éléments de contexte difficiles à recueillir d’une autre manière…

Ces pistes feront l’objet de petits articles supplémentaires ici-même dans quelques temps! 🙂

Firefox (III) – Les outils de développement – Cas pratique – OSINT sur Zello

Firefox (II) – Interlude – Extensions utiles pour l’OSINT

Ce billet est le second billet d’une série sur le navigateur Firefox.

A la suite du premier billet sur Firefox, quelques lecteurs ont eu un peu mal au crâne sur l’extraction du contenu à base de cURL. 😉
Avant de reprendre l’examen des « Dev Tools » de Firefox, je vous propose donc un petit interlude autour des extensions (« add-ons ») de ce navigateur.

Sans refaire l’historique de Firefox, 2015 marque une date importante pour le navigateur car elle signe l’abandon de son langage propre XUL, utilisé pour coder les extensions, au profit du standard WebExtensions, commun notamment à Chrome. A cette date, et au fur et à mesure des sorties des nouvelles versions de FF, un grand nombre de Add-ons, non-mis à jour par leurs créateurs, se sont arrêtés de fonctionner. On relira avec le sourire ce billet annonçant la mort probable de Firefox à cette occasion.


Évidemment, il n’en a rien été et à ce jour, Firefox dispose d’un immense magasin d’extensions en tout genre. En faire l’inventaire relève de la gageure. Vous avez tous certainement « l’extension géniale qui fait…. ».
Néanmoins, en voici quelques unes qui nous semblent essentielles pour l’OSINT.

En préambule, il est utile de rappeler que l’installation d’un plugin, qui est le plus souvent développé par un tiers, dans Firefox n’est pas sans risque pour votre navigateur : intentionnellement ou non, il peut laisser fuiter des informations sur votre navigation, voire laisser un accès direct à votre machine.

Une certaine prudence est donc de mise avant d’installer quoique ce soit.

On s’attachera ainsi à n’installer que des plugins réellement utiles (pensez à désinstaller ceux que vous n’utilisez pas!), régulièrement mis à jour, avec une solide base d’utilisateurs, documentés, et jouissant d’une solide réputation.

Vous pouvez cliquer sur les titres pour obtenir directement les extensions.

Open Side View

Longtemps resté en phase beta, l’extension Open Side View est passée il y a quelques mois en extension officielle de Firefox. Elle permet d’ouvrir une version mobile d’une page directement dans le navigateur, et plus de votre vue traditionnelle, côte à côte.
Cette fonctionnalité est très intéressante lors de recherches sur des images ou des vidéos : vous disposez ainsi d’une vue constante sur l’image de référence à gauche, et des images que vous comparez à droite.

Elle est évidemment désactivable/activable à volonté.

uBlock Origin

Bloquer les publicités, c’est parvenir au nirvana du web propre, protéger sa vie privée en bloquant l’essentiel des trackeurs et ressources publicitaires, et accélérer sa navigation… Si vous ne devez en utiliser qu’un seul, c’est bien uBlock Origin. Évitez par exemple l’obsolète AdBlockPlus (ABP), qui ne bloque plus grand chose.
Libre, gratuit, uBlock Origin est compatible avec tous les navigateurs web. Léger, il n’encombrera pas inutilement la mémoire de votre PC. Enfin, il est totalement paramétrable et vous permettra de régler très finement son utilisation en bloquant par exemple certains éléments gênants.

Attention toutefois : dans le cas de certaines recherches en sources ouvertes, il peut être préférable de ne pas bloquer les publicités. Ainsi lorsque vous travaillez sur le financement d’un site internet, il peut être intéressant d’observer le fonctionnement des régies publicitaires qui y sont affichées/affiliées.

SingleFile

Lors de vos recherches en sources ouvertes, il est important de garder une trace numérique sous forme d’archive, des sites que vous visitez.

SingleFile, proposée par l’ami Gildas Lormeau, permet de sauvegarder une page web en un seul fichier html contenant l’ensemble des données affichées sur la page : texte, formatage, css, etc… Pour qui a déjà tenté d’utiliser la fonction « enregistrer sous » du navigateur, qui génère un fichier racine et une arborescence complexe dans un sous-répertoire, SingleFile s’avérera essentiel.

Une fonction intéressante proposée par SingleFile est l’ajout de la signature SHA du fichier dans le titre du fichier pour attester la non modification de son contenu. (attention toutefois à la longueur du titre ainsi généré, qui peut être incompatible avec certains systèmes d’exploitation).

VideoDownloadHelper

Là aussi, si on doit parler méthodologie, il est primordial de sauvegarder les vidéos intéressantes que vous découvrez ou consultez sur internet : elles peuvent être ainsi étudiées en détail postérieurement comme sur l’exemple Hist-OSINT, et vous vous prémunissez ainsi d’une éventuelle disparition de ce contenu.
Il existe une multitude d’extensions capable de télécharger du contenu multimédia. Mais VideoDownloadHelper est celle qui permet de télécharger l’essentiel des formats actuellement utilisés sur le web, de les transcoder si besoin, et qui ne s’arrêtera pas de fonctionner sur les formats dits de streaming. C’est vraiment le couteau suisse du téléchargement multimédia.
Seul petit bémol, surtout si vous ne disposez pas des droits d’administration de votre poste, vous devrez installer une petite application supplémentaire, gratuite et annexe au plugin, qui s’occupera des vidéos en streaming.

Dans les cas les plus complexe, on pourra utiliser JDownloader, pour télécharger une vidéo récalcitrante (JDowloader n’est pas une extension FF).

Easy Screenshot

Easy Screenshot est un gestionnaire de capture d’écran simple et efficace qui vous permettra de prendre et d’éditer simplement des captures d’écran de votre navigateur, soit dans sa totalité, soit dans la partie visible à l’écran, soit sur une partie à de l’écran à définir.
Indispensable lorsque vous voulez illustrer un article ou un rapport d’analyse. Les captures d’écran peuvent être annotées simplement avant usage.

Link Gopher

Link gopher permet en un seul clic de récupérer l’intégralité des liens html d’une page web. Il est également possible de filtrer les liens par expression récurrente. Le dédoublonnage des liens est inclus ainsi que la possibilité d’ouvrir ces liens dans un onglet séparé.

Exemple d’utilisation : sur Facebook, affichez la liste des amis d’un profil, et filtrez les liens de la page comportant l’expression pb&hc_location. Vous récupérez ainsi la liste complète des amis de votre cible.

User-agent Switcher

User-agent switcher permet de modifier à la volée l’identifiant de votre navigateur et de vous faire passer par exemple pour un mac, ou encore pour un téléphone portable. Vous pouvez rendre cette modification permanente pour certains sites (en y affectant le nom de domaine).
Certains sites internet ne proposent en effet pas le même niveau d’information, les mêmes fonctionnalités, en fonction du navigateur utilisé.

Exemple : la version web d’Instagram ne permet pas de poster des photos ou des vidéos en ligne. Si on change le user-agent de son navigateur pour celui d’une tablette, on récupère instantanément le bouton de téléchargement.

Change Location

Change Location est une extension qui vous permet de modifier les coordonnées GPS de votre navigateur lorsqu’un site internet demande à vous positionner.
On parle bien ici de vos coordonnées GPS, et non d’une localisation basée sur votre adresse IP.
En fonction de vos besoins (vie privée, ou OSINT sur un site particulier…), il conviendra d’adopter une stratégie de cohérence avec votre adresse IP : les faire diverger si vous souhaitez égarer votre pisteur, les faire converger pour ne pas attirer les soupçonneux.

Wayback Machine

En matière de recherches en sources ouvertes, l’obsession est la sauvegarde et l’archivage du contenu : celui-ci peut en effet disparaître ou être modifié à tout moment.
L’utilisation du site internet Archive.org est plus que recommandé : à la fois pour consulter des versions plus anciennes d’un site, mais également pour archiver vous-même du contenu.
L’extension Wayback Machine gère tout cela sur un seul bouton et s’avère très pratique au quotidien.

InVID Verification Plugin

InVID est un projet européen d’authentification de vidéo et d’information en ligne.
Ce consortium a mis en ligne une extension appelée InVID Verification Plugin, permettant d’analyser très rapidement une vidéo : création de vignettes, outil de zoom, vérification auprès des principales instances de publication en ligne (Youtube, Facebook, etc…).
Attention, cette extension ne s’installe pas via le magasin d’extension de Firefox, mais de manière manuelle, en téléchargeant préalablement le fichier xpi d’InVID sur le site internet du consortium.

Search by Image

Longtemps utilisateur de Reveye, j’utilise désormais Search by Image pour mes recherches inverses d’images. D’un simple clic droit sur une image en ligne, ce plugin va vérifier si l’image est disponible sur 21 sites internet différents dont plusieurs sites de e-commerce chinois. Dans un précédent article, Lou avait utilisé ce type de technique pour remonter la trace d’objets coréens revendus sur des sites de e-commerce chinois.

TamperMonkey

Pour les utilisateurs un peu avancés, TamperMonkey est une extension qui vous permet de gérer et d’appliquer différents scripts personnalisés sur les pages web que vous visitez. Le catalogue de scripts disponible est assez impressionnant (ici, , ou encore là-bas…).
On trouve des scripts pour tout : télécharger les albums photos Facebook ou Instagram en un seul clic, des boutons supplémentaires pour vos recherches sur Google, naviguer sur Pinterest sans vous enregistrer
Ce billet de blog présente par exemple une vingtaine de scripts très utiles, et comment les installer.

Quelques Bookmarklets utiles…

Impossible de terminer ce billet sans ajouter quelques bookmarklets très utiles au quotidien.
Les bookmarklets sont des fonctions Javascript que vous ajoutez dans vos favoris de Firefox, souvent par un simple glisser/déposer. Parfois il vous faudra copier la ligne de code directement dans un nouveau favori :


1° – créez un nouveau favori en lui donnant un nom

2° – En lieu et place de l’URL, copiez simplement le code Javascript du bookmarklet

3° – Lorsque vous visitez la page à laquelle ce bookmarklet est destiné, cliquez sur ce favori pour action.

Voici par exemple quelques bookmarklets à glisser/déposer dans votre barre de favoris et particulièrement utiles pour l’OSINT.

Enfin, deux bookmarklets figurent en bonne place dans mon navigateur personnel :

  • Sci-hub : Sci-hub (ou Scihub) est un site web fournissant un accès libre à des articles scientifiques obtenus par web scraping en contournant les paywalls (« péages ») classiques des éditeurs académiques. Ce bookmarklet vous permet de récupérer automatiquement une version « déprotégée » (ie crackée…) d’une publication scientifique payante. On remplacera l’extension .tw à la fin de ce script par l’extension accessible de Sci-Hub dans votre pays.

javascript:location.hostname%20+=%20'.sci-hub.tw'

Disclaimer : OpenFacto n’encourage en aucun cas le piratage et décline toute responsabilité en cas de mauvais usage du site sci-hub.

  • Archive.today : Archive.fo ou archive.today (anciennement archive.is) est un site alternatif à archive.org, très utile pour l’archivage de pages consultées sur internet. Un des aspects les plus intéressants de ce site est la possibilité de sauvegarder des profils Facebook de manière assez détaillée. En effet, le site utilise son propre identifiant Facebook et archive par exemple tous les posts publics d’un wall à un instant donné, et pas seulement la page de base FB vue de manière anonyme.

javascript:void(open('http://archive.today/?run=1&url='+encodeURIComponent(document.location)))

Pour conclure…

Le liste des extensions ci-dessus n’est bien évidemment pas exhaustive, mais peut servir de bonne base à un adepte de la recherche en sources ouvertes.
Mais c’est à l’utilisateur de construire un poste de travail à sa main, adapté à son besoin (immédiat ou à long terme…) et capable de lui faciliter la vie.
Par exemple, quelqu’un cherchant à récupérer des informations techniques sur des sites internet ou à faire de l’analyse de la menace en matière cyber ajoutera peut-être un outil tel que PulseDive à sa barre d’extensions….

Comme l’indiquait Artus alias AHSA dans son article de juin 2019, La Méthode Avant Les Outils, l’outil intervient en simple appui en vue d’un traitement humain.

Et gardez toujours en mémoire mon leitmotiv en yaourt-italien :

Trodutti, Tull’utti! (Vous l’avez?)

Firefox (III) – Les outils de développement – Cas pratique – OSINT sur Zello

Firefox (I) – Les outils de développement de Firefox

Ce billet est le premier billet d’une série sur le navigateur Firefox.

Si je dois bien vous avouer quelque chose, c’est que je n’ai jamais compris la hype, l’engouement autour du navigateur Chrome de Google. En 2012 ou 2013, considérer ce navigateur internet comme le must en la matière pouvait encore se comprendre, à l’heure où ses performances surpassaient celle de Firefox.
Mais depuis l’arrivée de la version 6x, ce dernier est désormais une bête de course et sa gestion de la mémoire le rend diaboliquement efficace.

Bien plus que ses performances pures, c’est surtout sur le plan du respect de la vie privée que Firefox est remarquable. Or, lorsque l’on effectue des recherches en sources ouvertes, il est indispensable de garder la main sur nos données privées et leur éventuelle fuite lors de la navigation. C’est donc bien évidemment ce navigateur qu’OpenFacto recommande à ses lecteurs et membres! Et si vous voulez utiliser Chrome, nous vous encourageons à utiliser Chromium, sa version libre, expurgée des mouchards Google.

Au delà de ces aspects, comprendre la manière dont votre navigateur interagit avec le site internet que vous visitez est essentiel. Un des outils disponibles dans Firefox, particulièrement utile à l’OSINT, est l’outil de Développement Web (il est aussi disponible sous Chromium, rassurez-vous).
Il est activable par la combinaison de touches CTRL+MAJ+I, ce qui devrait faire apparaître la barre ci-dessous.

Avec cet outil, il est possible d’examiner plusieurs éléments et notamment :

  • Le code source de la page avec l’Inspecteur
  • Ce que le site stocke en local sur votre navigateur avec le Stockage
  • Les échanges entre le navigateur et le site distant avec le Réseau

Nous ne nous étendrons pas sur les autres paramètres pour l’instant et c’est sur l’aspect Réseau que nous nous attardons aujourd’hui.

L’outil Réseau – Usage simple

Prenons un exemple pour illustrer à quoi peut bien servir l’outil Réseau.
Imaginons que nous recherchions des informations sur la société OVH (dont le numéro RCS est 424761419), sur le site societe.com.

Si on entre ce numéro dans la barre de recherche, le site donne immédiatement le résultat, mais on ne comprend pas bien comment s’opère cette recherche, comment on obtient ce résultat. La barre d’URL ne donne aucune indication sur la nature de la requête.

Essayons donc d’effectuer cette même requête avec l’outil d’analyse Réseau de Firefox.

On observe que dès que nous appuyons sur l’outil de recherche, le site internet lance une requête de type GET, avec une URL formatée ainsi :

https://www.societe.com/cgi-bin/search?champs=424761419

On comprend dès lors que le site internet utilise une requête spécifique pour afficher cette page, composée d’une chaîne de texte (une URL) se terminant par le signe « égal », auquel il a concaténé le numéro RCS que l’on avait donné.

Pour vérifier notre hypothèse, essayons donc d’effectuer une recherche sur le numéro RCS de GANDI sans passer par la page principale du site, mais en tapant directement l’URL :

https://www.societe.com/cgi-bin/search?champs=423093459

Bingo! Cette URL est fonctionnelle.
On peut également tenter de rechercher par nom et prénom :

https://www.societe.com/cgi-bin/search?champs=martin+bouygues

Mais vous me direz, quel usage pour l’OSINT?

Simple… Supposons que vous ayez une feuille de calcul de type tableur, avec une liste de 20 ou 800+ numéros RCS. Il est alors très simple de composer une colonne supplémentaire à votre tableau en concaténant l’URL que vous avez découverte, et ces numéros… et d’envisager ainsi des possibilités d’automatiser la consultation de ces pages!…

L’outil Réseau – Usage avancé

L’outil réseau permet de récupérer rapidement dans certains cas de l’information très utile, notamment lorsque le site internet est dynamique, ou s’interface avec une base de données.


Prenons l’exemple de cette page issue du site du Tribunal Spécial pour le Liban :
https://www.stl-tsl.org/en/the-cases/contempt-cases/stl-14-05/filings?&case=6&dtype=1

Cette page présente une liste de 20 documents dont on aimerait récupérer les métadonnées (date, titre, etc…), le plus efficacement possible.
Ouvrons cette page à l’aide des outils de développement de Firefox.

Nous allons filtrer la vue en cliquant sur XHR (XMLHTTP Request), un système permettant à un site internet de rafraîchir ses données de manière dynamique en Javascript. Pour récupérer et afficher ses données, le site va se baser sur un fichier de type JSON (un simple fichier texte balisé) contenant les metadonnées que nous cherchons, et les mettre en page à la volée. C’est ce fichier qui nous intéresse.
Si nous sélectionnons la ligne URL contenant le fichier Json, et observons la « réponse » à droite de la fenêtre, on constate que ces metadonnées sont bien présentes.

Comment récupérer ces données?
Il suffit par exemple de cliquer bouton-droit sur la ligne ainsi sélectionnées et de cliquer sur « Copier comme cURL ». Si vous ouvrez un terminal et collez le contenu du presse-papier, vous devriez observer ceci :

curl 'https://www.stl-tsl.org/crs/index.php/home/filings/??&case=6&dtype=1&case=6&dtype=1&p=0&pp=20&lang=1' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' -H 'Accept: /' -H 'Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' -H 'Referer: https://www.stl-tsl.org/en/the-cases/contempt-cases/stl-14-05/filings?&case=6&dtype=1' -H 'Cookie: visid_incap_114829=kUHENy7IT4u+MpclqtAvkJOkKF0AAAAAQkIPAAAAAACARMONAVOOktY/aYDphOnUIQ9OWSIRGc7M; language=en; incap_ses_475_114829=3podc9DOQDBo2Y1TI4qXBgfoR10AAAAAtolh2LpK1l+icEJ+YnmlUg==' -H 'TE: Trailers'

Ajoutons une redirection vers un nom de fichier en complétant cette commande par > metadata.json :

curl 'https://www.stl-tsl.org/crs/index.php/home/filings/??&case=6&dtype=1&case=6&dtype=1&p=0&pp=20&lang=1' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' -H 'Accept: /' -H 'Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' -H 'Referer: https://www.stl-tsl.org/en/the-cases/contempt-cases/stl-14-05/filings?&case=6&dtype=1' -H 'Cookie: visid_incap_114829=kUHENy7IT4u+MpclqtAvkJOkKF0AAAAAQkIPAAAAAACARMONAVOOktY/aYDphOnUIQ9OWSIRGc7M; language=en; incap_ses_475_114829=3podc9DOQDBo2Y1TI4qXBgfoR10AAAAAtolh2LpK1l+icEJ+YnmlUg==' -H 'TE: Trailers' > metadata.json

On obtient alors un fichier ressemblant à ceci (extrait) :

{"count":3352,"data":[{"id":4166,"title":"Order to Redact the Public Transcript and or the Public Broadcast of a Hearing Held on 25 and 26 June 2018","date":"19-02-2019","case":"Ayyash et al. (STL-11-01)","case_before":"Trial chamber","case_stage":"Trial","filing_party":"Trial Chamber","filing_number":"F3760","record_type":"Order","direction":"ltr","files":{"9694":"English"}},{"id":4164,"title":"Order to Redact the Public Transcript of Hearings Held on 21, 22, 25, 27, 28, and 29 January 2016","date":"19-02-2019","case":"Ayyash et al. (STL-11-01)","case_before":"Trial chamber","case_stage":"Trial","filing_party":"Trial Chamber","filing_number":"F3758","record_type":"Order","direction":"ltr","files":{"9692":"English"}},{"id":4165,"title":"Trial Chamber's Internal Memorandum to the Head of Defence Office - Monitoring the Effective Legal Representation of Mr Hassan Habib Merhi's Defence","date":"14-02-2019","case":"Ayyash et al. (STL-11-01)","case_before":"Trial chamber","case_stage":"Trial","filing_party":"Trial Chamber","filing_number":"F3759","record_type":"Internal Memorandum","direction":"ltr","files":{"9693":"English"}},{"id":4163,"title":"Public Redacted Version of 'Decision on Prosecution Application for a Summons to Appear for Witness PRH588 and Order Issuing a Summons' of 16 February 2017","date":"12-02-2019","case":"Ayyash et al. (STL-11-01)","case_before":"Trial chamber","case_stage":"Trial","filing_party":"Trial Chamber","filing_number":"F2995","record_type":"Decision","direction":"ltr","files":{"9687":"English","9688":"Annex A","9766":"\u0639\u0631\u0628\u064a","9767":"Annex A Arabic"}},

Ce fichier structuré peut être aisément converti avec OpenRefine par exemple au format csv ou xls.

En résumé…

Récupérer des données en deux clicks, vous avouerez que c’est rapide et pratique!

Comprendre le fonctionnement d’un site internet, la manière dont il affiche ses données, comment il interagit avec une base de données, est primordial lorsque l’on cherche à optimiser sa collecte d’information.

Nous reviendrons dans un prochain billet, à l’aide d’un exemple, sur d’autres aspects de l’outil Développement Web de Firefox…