VM OSINT : le guide ultime
Vous menez vos enquêtes OSINT directement sur votre machine professionnelle ou pire, personnelle ? Arrêtez tout et lisez ce guide !
Introduction
J’ai récemment lu le guide attaché au livre OSINT Techniques de Michael Bazzell concernant les machines virtuelles. J’ai ainsi entrepris de créer ma propre VM dans le but de mener mes investigations OSINT, avec des modifications et ajouts personnels. En voici la documentation !
Pour l’ensemble de l’article, on se référera à “l’auteur” pour Michael Bazzell et “le livre” pour OSINT Techniques: The Ultimate Virtual Machine.
Ce guide se veut volontairement non-exhaustif, en particulier en ce qui concerne la partie mise en pratique (par là, j’entends ne pas fournir une liste de commande toute prête ou de script qui installe tout sans effort). En voici les motivations :
- Ne pas plagier le livre de l’auteur.
Reprendre l’ensemble des commandes et explications du livre constituerait un plagiat. Je préfère extraire les outils et concepts les plus intéressant, avec des ajouts personnels. Cet article est donc davantage d’une introduction au sujet et une liste d’outils (toolbox) qu’un guide complet et prêt à l’emploi. Si vous voulez un guide “prêt à l’emploi”, je vous invite à acquérir le livre OSINT Techniques, qui est très complet. - Obsolescence rapide dans le domaine.
D’une version à l’autre, les procédures d’installation peuvent changer. Les outils eux-mêmes évoluent : certains changent complètement, d’autres ne sont plus maintenus. - Apprentissage.
En vous attelant à mettre en place votre propre machine virtuelle, vous apprendrez à la configurer et à l’utiliser. Vous serez ainsi plus à même de la modifier et de l’adapter à vos besoins. Cela vous fera également progresser en administration Linux !
Pourquoi une machine virtuelle ?
Si vous effectuez des recherches OSINT sur des sujets sensibles, vous devez absolument utiliser une machine virtuelle. Voici pourquoi :
- Isolation (sécurité).
Tout au long de vos investigations, vous allez visiter divers sites et visualiser/parcourir différents médias. Cela augmente d’autant plus vos probabilités de tomber sur un malware !- Empreinte numérique.
En utilisant une VM différente par enquête, vous réduisez votre empreinte numérique (certains identifiants de matériel virtuel, par exemple l’adresse MAC, peuvent être changés à chaque clonage).
- Empreinte numérique.
- Modulable, clonable.
Vous pouvez utiliser une VM par sujet d’enquête, et la cloner pour chaque nouvelle investigation. Cela vous permet de ne pas mélanger les données et de ne pas risquer de compromettre une enquête en cours. Il est également possible de créer des snapshots pour garder un état à un instant T. - Traçabilité simplifiée.
Un témoignage de l’auteur illustre parfaitement ce point :Au cours de ma dernière année de travail pour le gouvernement, j’ai témoigné au procès d’une personne qui transportait des mineurs dans plusieurs États pour qu’ils soient abusés s**uellement par des délinquants qui payaient pour cela. La défense a demandé au juge de lui accorder un accès complet à l’ordinateur que j’ai utilisé pour l’enquête afin d’examiner mon travail. Puisque j’ai mené toute l’enquête dans une machine virtuelle, j’ai convaincu le juge que la défense ne devait recevoir qu’une copie de la machine virtuelle et non une copie de mon ordinateur entier, qui avait été utilisé pour d’autres affaires. Il a été beaucoup plus facile de remettre un fichier de 4 Go que de faire cloner mon disque dur et de le soumettre à un examen approfondi. J’espère que vous comprenez l’intérêt qu’il y a non seulement à mener des enquêtes dans une machine virtuelle, mais aussi à sauvegarder l’état de votre travail en vue d’une expertise ultérieure.
OSINT Techniques: The Ultimate Virtual Machine, Michael Bazzell.
- Forensic simplifié.
En cas de compromission suspectée de la VM, on peut en quelques clics créer des instantanés (disque + mémoire vive) pour enquêter ultérieurement. - Archivage complet.
Vous pouvez archiver vos VM et ainsi conserver l’ensemble des éléments sur une enquête, ce qui uniformise et simplifie le processus pour cette étape cruciale, et écarte tout risque d’oubli.
- Forensic simplifié.
Pourquoi créer SA machine virtuelle ?
Quelques rares projets de VM pré-construites existent. Vous avez cependant tout intérêt à construire votre propre VM, pour les raisons suivantes :
- Maîtrise.
Vous savez exactement ce qui est installé dans votre VM, et vous pouvez la personnaliser à votre guise. Pas d’outils superflus, pas d’outil manquant.- Sécurité.
Risque de backdoor amoindri.
- Sécurité.
- Dépendance.
Vous ne dépendez pas d’un seul fournisseur pour les mises à jour. Si un logiciel n’est plus maintenu ou ne vous convient plus, vous pouvez le remplacer sans problème. En choisissant un OS stable et maintenu, vous vous assurez de la pérennité de votre VM pour plusieurs années. - Apprentissage.
Vous apprenez à installer et configurer les logiciels nécessaires à vos investigations. Cela vous permet de mieux comprendre leur fonctionnement et de les utiliser plus efficacement.
Installation
La sécurité de la machine hôte
L’auteur commence par rappeler l’importance de la sécurité de la machine hôte.
En effet, si votre machine hôte est compromise, les machines virtuelles pourront l’être également. L’auteur préconise l’utilisation d’une machine dédiée, fraîchement (ré)installée, et de ne pas l’utiliser pour d’autres usages. Il détaille quelques étapes de durcissement de cette machine hôte.
C’est une première approche de la philosophie Assume breach : considérer que l’on est déjà compromis, où que cela arrivera nécessairement à un moment ou un autre. On pratique ici la compartimentation, un concept essentiel pour limiter les impacts d’une compromission.
Choix du logiciel de virtualisation
L’auteur met en avant deux solutions principales : VirtualBox et VMWare Workstation Pro. Il ne met pas en avant une solution plutôt qu’une autre, VMWare Workstation étant désormais gratuit pour un usage personnel.
Il motive son choix personnel d’utiliser VirtualBox par l’aspect ouvert du projet. C’est également l’option que j’ai personnellement choisie.
A vous de faire votre choix en fonction de vos besoins et de vos préférences !
Choix de l’OS
Une question qui peut faire couler de l’encre : les avis ne convergent pas nécessairement. L’auteur explique comment installer des machines virtuelles Windows et Linux, sur différents OS hôte et logiciels de virtualisation.
L’auteur recommande initialement d’utiliser Ubuntu, mais a changé pour Debian dans sa dernière version.
Avec ce livre, je suis passé d’Ubuntu à Debian pour les machines, qui offre un environnement plus efficace, privé et minimaliste.
OSINT Techniques: The Ultimate Virtual Machine, Michael Bazzell.
Le débat entre Linux et Windows est également ouvert. Linux ne présentant pas de télémétrie, c’est une meilleure option pour les enquêtes sensibles. La majorités des outils présentés par l’auteur sont disponibles sous Linux.
Pour ces raisons, et étant familier avec Debian, j’ai choisi la dernière version de celui-ci.
Choix de l’environnement de bureau
Cette partie ne concerne que les OS basés sur Linux.
C’est une question d’habitude, et de goût personnel.
L’auteur préconise GNOME et fournit les quelques configurations associées pour obtenir une interface épurée. Si vous débutez sur Linux, je vous conseille de rester sur GNOME, qui est le plus utilisé et le plus documenté.
Cinnamon est également mentionné dans le livre, et c’est celui que j’ai personnellement choisi.
Programmes
Note préalable : pour ceux qui sont surtout intéressés par une liste d’outils sans trop de détails, vous pouvez consulter le start.me que j’ai conçu conjointement à cet article, bien plus complet et actualisé fréquemment.
Beaucoup de programmes de collecte et de traitement de données sont en mode CLI (command-line interface). Si vous ne voulez pas vous en priver, vous n’aurez d’autre choix que de vous familiariser avec ce mode d’interaction avec votre machine !
Prise de note et reporting
- CherryTree
Pour prendre des notes et organiser ses investigations, sous forme d’arbre. - Obsidian
Pour prendre des notes et organiser ses investigations. Connu notamment pour sa fonctionnalité de graphes de liens entre les notes. - LibreOffice
Une suite office open source. Pour rédiger des rapports, des synthèses, etc.
Visualisation et traitement de données
- VSCodium
Un fork de Visual Studio Code sans les fonctionnalités propriétaires de Microsoft. Pour éditer des fichiers de code, des fichiers CSV, etc. Voici des suggestions d’extensions à installer :- Markdown All in One
- Bookmarks
- Code Spell Checker
- Python
- Rainbow CSV
- Todo Tree
- SQLiteBrowser
Pour visualiser et éditer des bases de données SQLite.
Traitement des vidéos
- Un outil de capture d’écran vidéo, par exemple Kazam
- VLC
Pour lire (presque tous) les fichiers audio et vidéo. - FFMPEG
Pour convertir des fichiers audio et vidéo. - YT-DLP
Pour télécharger des vidéos depuis YouTube, en particulier l’intégralité d’une chaîne YT. Permet également de télécharger les commentaires, les sous-titres, et les descriptions associées. - Streamlink
Pour télécharger des flux vidéo et audio en direct. Permet de télécharger des vidéos en direct sur Twitch, YouTube, etc.
Note : les deux derniers outils sont puissants et peuvent automatiser des tâches chronophages, au prix d’un apprentissage des différentes options de commandes associées. Le livre contient un script personnalisé pour réunir une grande partie des fonctionnalités dans une interface graphique !
Traitement des images
- Un outil pour effectuer des captures d’écran. Il y en a pléthore !
- GIMP
Pour éditer, manipuler des images. - Gallery-DL
Pour télécharger des images depuis des sites de partage d’images. Il supporte plus de 150 services dont Tumblr, 4chan, Flickr, Imgur, Reddit, et de nombreux sites “pour adulte”. - RipMe
Une solution alternative pour récupérer des images en masse à partir d’une page web. Solution graphique qui nécessite java. - ExifTool
Pour visualiser et éditer les métadonnées des fichiers. Peut donner des informations intéressantes sur les fichiers images. - MediaInfo
Pour visualiser des métadonnées (éventuellement cachées) sur des fichiers multimédias. - mat2
Permet de supprimer les métadonnées des fichiers. Peut être intéressant pour les fichiers produits (rapports, etc), attention à ne pas altérer des preuves ! - Sherloq
Un outil pour détecter diverses modifications sur une image (par exemple avec Photoshop).
Recherches de comptes en ligne
- Sherlock
Pour rechercher des identités sur les réseaux sociaux.- Maigret
Un fork qui se veut plus complet que Sherlock. Il est capable de trouver des comptes sur 2800 sites à ce jour, avec davantages d’options pour exporter les résultats.
- Maigret
- BlackBird
Dans la même série, présente des résultats détaillés sur les comptes trouvés sur 500 sites (à ce jour).
Attention : ces outil peuvent provoquer des intéractions avec les cible, ce qui est à éviter en général dans les enquêtes OSINT. Ils utilisent en effet des stratégies d’identification telles que vérifier si un utilisateurs est enregistré (tentative d’authentification) et des invites de récupération de mot de passe.
- SocialScan
Pour rechercher des noms d’utilisateurs et e-mails sur quelques services en ligne. Le programme indique si le nom d’utilisateur est disponible ou déjà utilisé. - Holehe
Un deuxième outil pour rechercher des comptes sur les réseaux sociaux à partir d’un e-mail, cette fois exclusivement. - Eyes
Ce programme est similaire à Holehe, mais avec des options différentes. Il fournit un moyen passif facile de déterminer si une adresse électronique sur un domaine personnalisé est hébergée chez Proton, et tente ensuite de l’associer à des comptes sur Twitter et GitHub. - GHunt
Permet d’extraire diverses informations sur un compte Google : nom et photo de profil, date et heure de la dernière mise à jour de profil, ID (GAIA), chaînes YouTube, confirmation de l’utilisation de différents services Google, avis sur maps, etc. Ce programme nécessite un peu de travail pour le configurer correctement, mais les bénéfices justifient les efforts. Vous devez posséder des cookies de connexion valides provenant d’un compte Google actif. - xeuledoc
Un outil cette fois pour extraire des informations à partir d’un Google Doc, tel que le propriétaire, la date de création…
D’autres outils sont présentés par l’auteur pour rechercher des comptes dans des fuites de données, et déterminer les types de hash cryptographiques. Étant donné que ce type de recherches flirtent avec l’illégalité (en France en tout cas), je ne les mentionne pas ici.
Outils pour les sites web/domaines
- EyeWitness
Ce script Python automatise la collecte de captures d’écran à partir de sites web. - HTTrack
Pour télécharger (archiver) un site web entier sur votre machine. C’est un vieux projet, qui fonctionne encore souvent. - Waybackpy
Pour interroger l’API de la Wayback Machine et récupérer la liste des URLs archivées. - Waybackpack
Pour télécharger les pages archivées sur la Wayback Machine. - OWASP Amass
Un programme très complet, qui permet notamment de déterminer tous les sous-domaines possibles d’un domaine cible, parmi de nombreuses autres caractéristiques. Une alternative plus rapide mais moins complète pour cette fonctionnalité particulière est Sublist3r. - Photon
Photon peut extraire les données suivantes lors de l’exploration :- URLs (dans le champ d’application et hors du champ d’application)
- URLs avec paramètres (exemple.com/gallery.php?id=2)
- Intel (courriels, comptes de médias sociaux, buckets amazon etc.)
- Fichiers (pdf, png, xml, etc.)
- Clés secrètes (clés d’authentification/API et hachages)
- Fichiers JavaScript et points de terminaison présents dans ces fichiers
- Chaînes de caractères correspondant à une expression rationnelle personnalisée
- Sous-domaines et données DNS
- Carbon14
Un outil tenter de déterminer l’âge d’un site web, à partir des métadonnées des images qu’il contient.Attention : les métadonnées peuvent être manipulées, ou supprimées.
- Change Detection
Une alternative aux divers outils en ligne pour détecter les changements sur des pages web. - Metagoofil
Un outil pour télécharger tous les documents (dont l’extension est précisée) d’un site web.
Frameworks
- Spiderfoot
Un outil pour récupérer et corréler de nombreuses informations à partir d’une donnée initiale parmi :- Adresse IP
- Nom de domaine, sous-domaine
- Nom d’utilisateur
- Nom de personne
- Adresse e-mail
- Numéro de téléphone
- Adresse Bitcoin
- Recon-ng
Recon-ng est un framework entier orienté sur la reconnaissance, un environnement pour mener rapidement et en profondeur des opérations de reconnaissance basées sur le web.L’auteur fournit une explication et un exemple sur l’utilisation de l’outil, mettant en avant un manque de documentation peu développée sur le web.
D’autres frameworks sont présentés, je pense pour ma part qu’il vaut mieux se spécialiser sur un ou deux, et ne pas en dépendre, le risque étant que les fonctionnalités ne soient pas maintenues car trop nombreuses. Choisissez un projet activement maintenu et documenté !
Archivage de comptes en ligne
- Bulk Downloader For Reddit (BDFR)
Reddit peut être une source de preuves en ligne dans le cadre d’enquêtes. Cet outil permet d’archiver tous les messages postés par un utilisateur Reddit sous format json dans des dossiers étiquetés pour chaque nom de Subreddit. - Instaloader
Télécharger en masse du contenu sur Instagram. Deux autres options : Toutatis et Osintgram. L’auteur indique qu’il faut s’attendre à des difficultés avec ces trois outils, car Instagram tente activement de bloquer le scrapping.
GeoInt
- Google Earth Pro
Pour visualiser les images satellites et les cartes. Ajoute des fonctionnalités supplémentaires par rapport à la version web.
Sécurité
- KeePassXC
Pour stocker et gérer ses mots de passe dans un fichier local. Peut permettre de stocker des informations sensibles, comme des identités sock puppet. - VeraCrypt
Pour créer des fichiers-conteneurs chiffrés. - Kleopatra
Pour gérer ses clés PGP. - Metadata Cleaner
Pour nettoyer les métadonnées des fichiers.
Docker
Cette partie est une suggestion personnelle, et n’est pas mentionnée dans le livre. A vous de juger si ces applications peuvent vous être utiles. Un fichier docker compose est fourni plus bas pour déployer aisément les services présentés !
Applications
- SearxNG
Un moteur de recherche open source, à héberger soi-même, qui collecte les résultats de plusieurs moteurs de recherche. - Linkwarden
Un gestionnaire de liens open source, à héberger soi-même. Permet d’archiver des articles et sites web, de les organiser, de les partager, etc. - Stirling PDF
Un couteau suisse pour les PDF, à héberger soi-même. Permet de convertir, fusionner, diviser, compresser, etc. - CyberChef
Un outil de manipulation de données, à héberger soi-même. Permet de convertir, décoder, encoder, etc. - Excalidraw
Un outil de dessin collaboratif, à héberger soi-même. Permet de créer des diagrammes, des schémas, etc.
Mentions honorables
- Memos
Un gestionnaire de notes open source, qui prend la forme d’un fil de discussion style twitter. Cela permet de noter des éléments horodatés. Peut servir par exemple de main courante pour une enquête. - AliasVault
Un gestionnaire de mots de passe open source, qui prend en charge la génération et le stockage d’alias (nom, prénom, pseudo, e-mail jetable). Il est encore en version beta, et manque encore de fonctionnalités à mon goût. Du fait de la complexité de déploiement (nécessite un serveur mail pour générer souverainement les alias), je ne l’ai pas proposé dans le fichier docker compose. C’est un projet à suivre de près pour la gestion des sock puppets !
Mise en place
Dans mon cas, tous les fichiers sont stockés sous /home/osint/docker/
(osint étant le nom d’utilisateur de la VM). Voici les étapes pour la mise en place :
- Installation de Docker : se référer à un guide actualisé en ligne. A date d’écriture, ce guide est à jour.
- Fichier docker compose : voici le fichier
docker-compose.yaml
que j’utilise pour mes applications Docker. Il est à adapter à vos besoins. Vous pouvez à cette fin commenter les applications qui ne vous intéressent pas. (sous VSCodium :Ctrl + /
pour commenter/décommenter une ligne).1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
services: # SearxNG redis: container_name: searxng-redis image: docker.io/valkey/valkey:8-alpine command: valkey-server --save 30 1 --loglevel warning restart: unless-stopped networks: - searxng volumes: - ./searxng/valkey-data2:/data cap_drop: # comment for first run, uncomment after - ALL # comment for first run, uncomment after cap_add: - SETGID - SETUID - DAC_OVERRIDE logging: driver: "json-file" options: max-size: "1m" max-file: "1" searxng: container_name: searxng-front image: docker.io/searxng/searxng:latest restart: unless-stopped networks: - searxng ports: - 127.0.0.1:8080:8080 volumes: - ./searxng/searxng-data:/etc/searxng:rw environment: - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/ - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4} - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4} cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID logging: driver: "json-file" options: max-size: "1m" max-file: "1" # Linkwarden postgres: image: postgres:16-alpine container_name: linkwarden-db env_file: .env restart: always volumes: - ./linkwarden/pgdata:/var/lib/postgresql/data linkwarden: container_name: linkwarden-front env_file: .env environment: - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres restart: always image: ghcr.io/linkwarden/linkwarden:latest ports: - 127.0.0.1:3000:3000 volumes: - ./linkwarden/linkwarden-data:/data/data depends_on: - postgres # Stirling-PDF stirling-pdf: container_name: stirling-pdf image: stirlingtools/stirling-pdf:latest ports: - 127.0.0.1:8888:8080 volumes: #- ./trainingData:/usr/share/tessdata # Required for extra OCR languages - ./stirling-pdf/extraConfigs:/configs - ./stirling-pdf/customFiles:/customFiles/ - ./stirling-pdf/logs:/logs/ - ./stirling-pdf/pipeline:/pipeline/ environment: - DOCKER_ENABLE_SECURITY=false - LANGS=fr_FR # CyberChef cyberchef: container_name: cyberchef image: ghcr.io/gchq/cyberchef:latest ports: - 127.0.0.1:8877:80 # Memos memos: image: neosmemo/memos:stable container_name: memos volumes: - ./memos:/var/opt/memos ports: - 5230:5230 networks: searxng:
- Fichier env : voici le fichier
.env
que j’utilise. Si vous souhaitez générer les secrets aléatoirement, nommez-le.env.example
(voir la section qui suit)1 2 3 4
# ===== Linkwarden ===== NEXTAUTH_URL=http://localhost:3000/api/v1/auth NEXTAUTH_SECRET=changeme_lkwd_nextauth POSTGRES_PASSWORD=changeme_lkwd_pg
- Script de (ré)initialisation de l’environnement : à exécuter au moins une fois avant de démarrer le service si vous avez nommé votre fichier env
.env.example
.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#!/bin/bash # Asks for confirmation read -p "Are you sure you want to remove all data? This is NOT REVERSABLE (y/n) " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo "[i] Nothing done. Exiting." exit 1 fi for dir in "./linkwarden" "./memos" "./searxng" "./stirling-pdf"; do dir=${dir%*/} if [ -d "./$dir" ]; then echo "[i] Removing $dir" sudo rm -rf ./$dir fi done echo "[i] Regenerating secrets..." cp .env.example .env sed -i "s/POSTGRES_PASSWORD=changeme_lkwd_pg/POSTGRES_PASSWORD=$(openssl rand -hex 32)/" .env sed -i "s/NEXTAUTH_SECRET=changeme_lkwd_nextauth/NEXTAUTH_SECRET=$(openssl rand -hex 32)/" .env echo "[i] Done."
- Script de démarrage : pour démarrer les applications Docker, voici un exemple de script.
1 2 3 4
#!/bin/bash cd ~/docker docker compose up
- Script d’arrêt : pour arrêter les applications Docker, voici un exemple de script.
1 2 3 4
#!/bin/bash cd /home/osint/docker docker compose down
- Création d’un service pour les conteneurs : afin de démarrer les applications Docker au démarrage de la machine et les stopper lors de l’arrêt, on peut créer un service systemd. Voici un exemple de fichier de service.
1 2 3 4 5 6 7 8 9 10 11 12
[Unit] Description=VM's docker containers Requires=docker.service After=docker.service [Service] Restart=always ExecStart=/home/osint/docker/docker-start.sh ExecStop=/home/osint/docker/docker-stop.sh [Install] WantedBy=default.target
- Activation du service : pour activer le service, il suffit de copier le fichier de service dans le dossier
/etc/systemd/system/docker-apps.service
et exécuter les commandes suivantes :1 2 3
sudo systemctl daemon-reload sudo systemctl enable docker-apps sudo systemctl start docker-apps
Navigateurs
Comme le fait remarquer l’auteur :
Votre navigateur est sans doute l’élément le plus important de vos investigations OSINT. Prenez le temps de le configurer en fonction de vos besoins.
OSINT Techniques: The Ultimate Virtual Machine, Michael Bazzell.
Voyons donc ensemble les différentes options, puis les extensions et paramètres à mettre en place sur votre navigateur principal.
Quels navigateurs ?
Dans le livre, l’auteur met en avant Firefox et Brave. Nous installerons le second, mais nous tournerons vers des forks du premier. Explications.
Firefox sort de la course
Mozilla a récemment modifié les conditions d’utilisations de Firefox, et cette nouvelle version pose des questions.
- Une première version, vague, pouvait laisser entendre que toute donnée saisie dans le navigateur appartiendrait alors à Mozilla :
Vous accordez à Mozilla certains droits et autorisations
Vous accordez à Mozilla tous les droits nécessaires au fonctionnement de Firefox, dont les données de traitement tel que décrit dans l’Avis de confidentialité de Firefox, et toutes actions en votre nom destinées à aider à naviguer sur Internet. Lorsque vous chargez ou entrez des informations par le biais de Firefox, vous nous accordez une licence mondiale non exclusive et excluant toute redevance pour l’utilisation de ces informations pour vous aider à naviguer, utiliser et interagir avec du contenu en ligne dans le cadre de votre utilisation de Firefox.
Une seconde version a été publiée, précisant que les données n’appartiennent pas à Mozilla, mais reste tout de même floue.
- La mention “nous ne vendront jamais vos données” a été retirée des conditions d’utilisation. Mozilla motive cette suppression par le fait que “la notion de vente de données est désormais large et en évolution constante”.
Cela a suffi à me convaincre de ne plus utiliser Firefox dans le cadre de l’OSINT, comme en utilisation personnelle.
Pour préciser mon propos : cette sous-section ne fait pas partie du livre, c’est une opinion personnelle. Je vous invite à vous faire votre propre opinion sur le sujet.
Firefox est mort… Vive les forks !
J’utilise au quotidien deux forks de firefox :
A noter que les sections suivantes (extensions et paramètres) sont valables pour ces deux navigateurs de même que pour Firefox.
Je vous conseille de configurer un de ces deux navigateurs comme principal pour vos investigations OSINT, et d’utiliser le second avec des paramètres par défaut pour les sites nécessitant des cookies ou des scripts.
Autres navigateurs
- Brave
Navigateur recommandé par l’auteur, basé sur Chromium, pour les quelques sites qui ne fonctionnent pas avec Firefox. Il présente l’avantage de bloquer les publicités et les trackers par défaut. - Tor Browser
Tor est un sujet à part entière, et l’auteur recommande le Tor browser pour certains cas, par exemple accéder aux fameux services onion. Il met cependant en garde :Le navigateur Tor peut s’avérer exagéré pour la plupart des enquêtes. Si vous vous contentez d’effectuer des recherches et de surveiller des services courants tels que Facebook, Twitter ou YouTube, ce service n’est pas utile. Si vous visitez des sites web personnels et les blogs d’un pirate informatique averti, vous devriez vous appuyer sur votre VPN.
OSINT Techniques: The Ultimate Virtual Machine, Michael Bazzell.
Paramètres
Consultez la documentation la plus à jour. Les paramètres changent au fil du temps.
Il s’agira ici de donner des pistes de configuration :
- DNS : utiliser un DNS tiers sécurisé (Cloudflare, OpenDNS, Quad9, etc.)
- Désactiver le stockage des cookies (prévoir un navigateur où ceux-ci sont activés, afin de ne pas avoir à se reconnecter à chaque visite, et conserver des données de session)
- Désactiver l’historique de navigation (compromis à déterminer entre ergonomie et traçabilité de vos recherches, et OPSEC)
Extensions
- Conteneurs firefox
L’extension apporte une valeur ajoutée, même si la fonctionnalité est présente sans : vous pouvez associer un conteneur à un domaine. On peut donc en associer un à google ! Idem pour bing et d’autres services qui traquent votre navigation. - uBlock Origin
- Activer le mode avancé, sélectionner les listes de blocage souhaitées.
- Pour réinitialiser les modifications “manuelles” :
- Depuis le tableau de bord, cliquer sur « My Rules ».
- Dans la deuxième colonne (Temporary Rules), sélectionner tout le texte et appuyez sur Suppr.
- Cliquer sur « Save » dans cette même colonne, puis sur « Commit ».
Cela réinitialise l’extension et rétablit son utilisation par défaut, quelles que soient les modifications.
- KeePassXC-Browser
Pour intégrer KeePassXC à votre navigateur ! Fini les copier-coller. - DownThemAll
Pour télécharger les fichiers référencés sur une page web d’une traite. - Fireshot
Pour capturer des pages web entières en PDF - Nimbus
Pour capturer des pages web entières (solution de backup, en PNG cette fois). - SingleFile
Pour sauvegarder une page web entière en un seul fichier HTML.
Paramètres recommandés :- Cliquer sur l’onglet “Preferences” dans les paramètres du navigateurs => extensions => SingleFile.
- Dérouler “User Interface” et activer “Open saved pages in a new tab”.
- Dérouler “HTML Content” et désactiver “Remove hidden elements”.
- Activer “Save original URLs of embedded resources”.
- Exif Viewer
Pour visualiser les métadonnées des images. Bien que souvent peu présentes sur des images publiées sur les réseaux sociaux, elles peuvent contenir des informations intéressantes si publiées directement sur un site web ou blog. - User-Agent Switcher
Pour les sites qui bloquent Firefox, permet d’usurper un autre navigateur, ce qui peut parfois suffire à contourner les systèmes de blocage simples. - Image Search Options
Pour effectuer des recherches inversées sur les images. - Search By Image
Même fonctionnalité que l’extension précédente, mais avec des options supplémentaires. - Web Archives
Pour consulter des versions archivées de pages web. Utile pour les pages supprimées ou modifiées. - Copy Selected Links
Pour copier les liens sélectionnés sur du texte sélectionné sur une page web. - Stream Detector
Pour détecter les flux vidéo et audio sur une page web, qui remplacent de plus en plus les vidéos directement intégrées.
Astuces de navigation
- Hard Page Refresh
Pour forcer le rechargement de la page sans utiliser le cache : Shift + clic sur le bouton de rechargement ouShift + Ctrl + R
.