Dates des modifications : | Intervenants : | Modifications apportées : |
---|---|---|
- | Matthieu BILLAUX @_euzebius |
Nhammmber One Mentor ! |
Dimanche 8 Juin 2025 | mudpak | Mise à jour |
Vendredi 15 Avril 2022 | mudpak | Finalisation du document (v1.0.0) |
Jeudi 14 Avril 2022 | mudpak | Traitement des données (v0.0.4) |
Mercredi 13 Avril 2022 | mudpak | Mise en place du Lab (v0.0.3) |
Mardi 12 Avril 2022 | Florian MICHAUX | Mise à disposition du Lab (v0.0.2) |
Lundi 11 Avril 2022 | mudpak | Création du document (v0.0.1) |
Ce document a plusieurs objectifs
Au-delà ces deux objectifs, il a aussi vocation à sensibiliser les utilisateurs des risques encourus quant à la publication des captures d’écrans enregistrées sur les sites en ligne et publiquement accessibles.
Avertissement Légal :
Tout au long du document nous allons voir des données sensibles et qui par définition ne devraient pas être publiquement disponibles, c’est pourquoi les données affichées sur les captures ne sont pas entièrement visibles.
Si vous mettez en place et testez la solution de votre côté, ni l’auteur de l’outil ni l’auteur du document ne pourront être tenus responsables des usages qui pourront en être fait.
Voici les raisons principales qui ont conduit à la rédaction de ce document.
A travers mes documentations que je publie, j’utilise des outils de capture d’écran, et récemment j’ai souhaité changer d’outil pour en choisir un avec plus de fonctionnalités par rapport à celui proposé dans Windows.
Rapidement je me suis orienté vers « Greenshot » car il m’a été recommandé, il semblait à priori correspondre à mes attentes à savoir :
Bref l’outil correspondait à mes attentes et j’ai rapidement commencer à l’utiliser.
Souhaitant tester différents outils et sur la même lancée que Greenshot et d’autres outils captures évolués, LightShot permet de faire la même chose à la différence près qu’il upload les captures sur le site « PrntSc » et c’est cet aspect-là que nous allons retenir pour notre cas.
La suite du document se basera donc sur cet outil.
Une fonctionnalité plutôt intéressante m’a plu dans un premier temps avant de devenir un cauchemar pour certaines personnes si elles ne prennent pas de précautions.
C’est le fait de prendre une capture d’écran ET de la publier aussitôt sur internet
Ainsi l’image est en ligne et il est facile de la partager avec d’autres personnes via un lien qui sera généré automatiquement.
Pour Greenshot la fonctionnalité est activée dans une installation par défaut mais on peut ne pas l’activer en choisissant une installation personnalisée comme ci-dessous :
Quant à LightShot, il ne vous est pas possible durant le processus d’installation de choisir ou non d’activer le module pour l’envoie d’images en ligne !
La fenêtre suivante s’ouvre dans le navigateur à la fin de l’installation et nous sommes informés qu’il sera possible d’upload les captures d’écrans en ligne :
Remarques : D’autres outils captures permettent de faire la même chose mais en envoyant les captures sur d’autres sites mais le principe reste le même.
Pour certains outils il est heureusement possible de désactiver l’option d’envoi d’images en ligne via un panneau de contrôle graphique ou fichier de configuration.
Si comme moi vous êtes une personne avec le click facile, il y a de fortes probabilités que vous fassiez une capture d’écran et la publiez sur internet par inadvertance via la fonctionnalité présente sur Greenshot / LightShot.
Et selon la sensibilité des données cela peut s’avérer problématique surtout en milieu professionnel.
D’un côté vous risquez de publier sur internet des captures contenant des informations sensibles, d’un autre côté les acteurs malveillants peuvent récupérer ces mêmes captures ! Comment ? Par deux méthodes :
Certains sites proposent même de parcourir en temps réel les captures publiées par des internautes !
Aussi étonnant que cela puisse paraitre, certaines personnes envoient des tweets leur captures avec le lien complet pour les visionner comme ci-dessous.
Les raisons peuvent être diverses et variées mais quoi qu’il en soit ces informations deviennent très vite intéressantes pour de l’OSINT notamment.
Bonne nouvelle tout de même, si vous envoyez par inadvertance la capture sur internet, il vous est tout à fait possible de la supprimer de deux manières :
Partant du principe que vous publiez les captures d’écrans sur internet via LightShot pour les partager avec d’autres personnes.
Les sites sur lesquels les captures sont uploadés, génèrent des liens dont la taille peut varier, dans le cas du site « PrntSc » où sont uploadés les captures prises avec LightShot je me suis basé sur un échantillon de 100 liens et pu constater les résultats suivants :
Important : Ici l’échantillon est de 100 sur des milliards de combinaisons donc à ne pas prendre pour une donnée très fiable, seulement dans notre contexte elle est pertinente !
Voici le nombre de combinaisons possibles avec des liens de 6 caractères :
Nous pouvons en déduire que « seulement » avec des liens avec une taille de 6 caractères, avec les critères ci-dessus il y a plus de 68 milliards de combinaisons possibles.
La même méthode s’applique avec les liens de 12 caractères ce qui donne la formule suivante : 64^12.
En partant de ces informations, nous pouvons très facilement construire des dictionnaires de liens avec des outils tels que « Cewl ».
Voici les 100 liens que j’ai récupéré manuellement pour en arriver aux conclusions ci-dessus, j’ai regroupé par nombre de caractères les colonnes :
Nous pouvons regrouper les liens par tailles :
Avec ces informations nous pouvons en déduire que la quasi-totalité des liens font une longueur de 12 caractères en 2022, et que potentiellement les liens les plus courts sont plus anciens.
Comment le confirmer ? Nous allons le voir par la suite avec les captures récoltées.
Pour des raisons de facilité pour la suite nous allons nous concentrer sur les liens de 6 caractères.
Maintenant que nous savons les longueurs minimales et maximales des liens générés, les caractères qu’ils peuvent contenir (alphabet, chiffres et deux caractères spéciaux) on remarque rapidement que pour un humain il devient très difficile et long de :
Toutes ces étapes peuvent prendre beaucoup de temps sans compter les barrières de la langue puisque les captures proviennent du monde entier (=toutes les langues).
C’est pourquoi nous allons utiliser un outil nommé « Shotlooter » qui fera ce travail à notre place.
La suite du document se base sur la configuration suivante :
Si vous souhaitez mettre en place et utiliser la solution de votre côté, il est recommandé :
C’est cet outil qui va dans les grandes lignes :
Voici un schéma plus complet du fonctionnement du programme :
Voyons un peu les différentes étapes :
1 : nous fournissons un lien à l’outil
2
3 : le contenu de l’image est transformé en texte grâce à l’utilisation de la librairie « tesseract »
4 : La recherche des éléments à base du fichier « keywords.txt » est effectuée
5 : Si l’élément a une entropie trop élevée vous êtes avertis
6 : il est possible de baser les recherches sur des images tels que des logos pour retrouver des captures plus grandes, par exemple se baser sur le logo d’un gestionnaire de mot de passe pour retrouver une fenêtre plus complète
7 : OpenCV est utilisé pour déterminer de la pertinence des résultats
Une dernière étape qui consiste à enregistrer les éléments sensibles trouvés dans le dossier « output » que nous allons voir par la suite.
L’auteur de l’outil nous informe que le taux de faux positif peut être élevé avec les éléments avec une entropie élevée ainsi que les numéros de cartes bancaires.
Pour éviter cela on peut simplement les exclure de l’analyse.
Des dépendances seront nécessaires pour notre outil pour les installer saisir la commande suivante :
sudo apt install libsm6 libxext6 libxrender-dev tesseract-ocr -y
Détails de la commande :
sudo
-> pour exécuter la commande avec des privilèges élevés
apt
-> programme à utiliser, ici un installateur de paquets
install
-> paramètre demandé
libsm6 libxext6 libxrender-dev tesseract-ocr
-> paquets à installer
-y
-> pour ne pas avoir la confirmation pour l’installation car nous sommes certains de notre choix
Saisir votre mot de passe :
La liste des paquets sera chargée ainsi que des dépendances, une vérification des versions sera effectuée pour installer les versions les plus récentes :
Un résumé sera affiché avec les paquets qui seront installés, remplacés par de nouvelles versions et l’espace de stockage qui sera occupé :
La récupération des paquets commence, elle peut prendre un certain temps selon la vitesse de votre connexion :
Une fois les paquets récupérés les phases d’extraction des archives, de compilation et d’installation commencent :
Le programme que nous allons utiliser se trouve sur un dépôt GitHub.
Le programme étant développé en python3, et demandant des bibliothèques de ce même langage, l’utilitaire « pip » nous sera obligatoire pour utiliser le programme par la suite.
Saisir la commande suivante :
sudo apt install python3-pip
Le même processus que pour l’installation des dépendances commence :
Par défaut l’utilitaire « git » n’est pas installé sur le système, pour l’installer saisir la commande suivante :
sudo apt install git -y
Pour confirmer la bonne installation de git, on peut par exemple saisir la commande suivante pour afficher l’aide de l’utilitaire :
git --help
Nous pouvons constater que git est bien installé :
Pour récupérer le programme depuis le dépôt GitHub, saisir la commande suivante :
git clone https://github.com/utkusen/shotlooter.git
Détails de la commande :
git
-> programme à utiliser
clone
-> le paramètre ici pour faire une copie du dépôt distant sur le poste local
https://github.com/utkusen/shotlooter.git
-> l’adresse / chemin du dépôt à copier
Le dépôt du programme sera copié dans le dossier « shotlooter » :
Différentes étapes se succèdent pour vérifier la présence du dépôt, recensement des éléments, compression des objets et calcul de delta pour être certain de n’avoir rien oublié lors de la récupération :
Lorsque la copie est terminée nous pouvons saisir la commande suivante pour voir si le dossier est bien présent :
ls -al | grep shotlooter
Détails de la commande :
ls
-> lister les éléments
-al
-> arguments pour demander d’afficher sous forme de liste les éléments même ceux qui sont cachés
|
-> envoyer le résultat vers la commande suivante
grep
-> effectuer une opération, ici on demande de ne retenir que le mot ''shotlooter''
Nous pouvons voir que le dossier a bien été créé :
La suite se passera dans le répertoire qui contient le programme, pour se déplacer dans le dossier saisir la commande suivante :
cd shotlooter
Détails de la commande :
cd
-> pour changer de répertoire, « Change Directory »
shotlooter
-> le dossier dans lequel nous souhaitons nous déplacer
Pour afficher le contenu du répertoire saisir la commande suivante :
ls -al
Voici le contenu par défaut du dossier, nous allons voir quelques éléments en détails :
Pour installer les prérequis du programme, saisir la commande suivante :
pip3 install -r requirements.txt
Détails de la commande :
pip3
-> programme à utiliser
install
-> nous souhaitons installer des éléments
-r
-> nous souhaitons installer les prérequis
requirements.txt
-> les prérequis se trouvent dans ce fichier
La récupération des paquets commence, elle peut prendre un certain temps :
A la fin de la récupération, les phases de « build » et installation se succèdent :
Avant d’utiliser le programme, nous allons modifier le fichier pour personnaliser la recherche d’éléments correspondants à nos critères.
Pour afficher le contenu par défaut du fichier keywords.txt, saisir la commande suivante :
cat keywords.txt
Voici donc les éléments qui sont recherchés dans les captures d’écrans par défaut :
En plus des éléments existants, dans notre cas nous allons faire une recherche « simple » sur la base des éléments suivants :
Nous utiliser la commande suivante :
python3 shotlooter.py --code ID_DU_LIEN
Détails de la commande :
python3
-> la version de python utilisée
shotlooter.py
-> le programme utilisé
--code
-> on spécifie le paramètre, ici on souhaite soumettre un identifiant de lien qui sera incrémenté
ID_DU_LIEN
-> ici un identifiant de 6 caractères
L’outil commence aussitôt le scan et effectue les permutations des liens comme ci-dessous, on peut observer que les permutations se font dans un ordre alphabétique et croissants :
Tout au long du scan nous pouvons observer l’enregistrement des captures pertinentes à nos critères dans le répertoire :
Il faut considérer les informations dans les captures ci-dessous comme n’étant plus à jour, comme vous pourrez le voir par vous-même certaines captures obtenues datent de 2016 !
D’autres non datées sont peut-être plus anciennes, néanmoins cela n’efface pas le caractère confidentiel voire critique des données qu’on peut obtenir.
Il est important de garder en mémoire que les informations récoltées permettent à un acteur malveillant de commencer à effectuer des opérations de OSINT plus ou moins avancées.
Lorsqu’un élément est détecté sur une image, nous en sommes avertis en temps réel comme ci-dessous.
Dans le cas présent le mot « admin » a été trouvé sur l’image :
La même logique suit les autres captures :
![]() |
![]() |
![]() |
Si une image contient plusieurs mots clés, une ligne par mot-clé est affichée, dans le cas présent dans la même image se trouvent les éléments :
![]() |
![]() |
![]() |
En cas de détection d’un numéro de carte bancaire une alerte similaire s’affiche :
Dans le cas d’une image avec une forte entropie voici le type d’alerte affichée :
Sur cette capture apparaissent en clair les informations de connexion à un club, les champs suivants permettent de se connecter au compte :
Un acteur malveillant pourrait usurper le compte.
Ci-dessous nous pouvons observer les informations de connexion / administration d’un VPS (Virtual Private Server) chez OVH.
Un acteur malveillant pourrait utiliser ces accès dans le but d’effectuer des opérations suivantes par exemple :
On peut également observer les mêmes types d’informations chez un autre VPS :
Dans le cas présent non seulement des informations personnelles de deux interlocuteurs sont affichées mais en plus de cela nous pouvons observer les éléments suivants :
Ces informations peuvent aider un attaquant à effectuer de l’énumération et OSINT sur ces deux personnes.
Les identifiants de connexion d’un compte Steam sont en clair.
Un acteur malveillant pourrait prendre le contrôle du compte et s’octroyer les jeux vers son compte par exemple.
Une personne malveillante a oublié de masquer son IP publique ainsi que l’IP de sa cible qu’il tente de DOS via un script :
Bien que l’élément acheté ici n’est pas quelque chose de sensible, toutefois les coordonnées du client sont en clair, notamment :
Des informations sur le vendeur sont également présentes.
Voici des entrées / sorties en Bitcoin entre les différents wallets.
Généralement ce type de capture est un élément ayant une forte entropie pour cet outil.
Ici une vérification de la validité d’une carte bancaire a été effectuée :
Il est possible de trouver des informations personnelles sur des utilisateurs comme ici :
Avec autant d’informations, il devient relativement facile d’effectuer des opérations de OSINT sur les personnes.
Nous avons les informations de connexion à un portail ainsi que les informations sur la base de données, dans le cas présent nous avons très certainement un compte pour un développeur ou un administrateur du site.
Avec de tels accès un attaquant peut extraire la base de données et ainsi récolter les informations contenues dans la base :
Dans le cas présent nous avons très certainement les informations d’un développeur en phase de création d’un bot Telegram.
Cependant par inadvertant non seulement il a laissé en clair les informations de connexions à une base de données mais aussi et surtout sa clé API !
Ce type d’accès permet à un acteur malveillant d’effectuer toutes les opérations souhaitées et plus rapidement par rapport à une interface graphique.
La divulgation de ce type d’élément sensible compromet la confidentialité des échanges.
Des utilisateurs se sont partagés un compte Gmail :
Sans doute un développeur a encore oublié de masquer les informations sensibles, ici nous pouvons l’identifier grâce aux informations qu’il a fourni :
De la même manière que tout autre clé API, il est possible d’effectuer une multitude d’opérations en fonction des droits qui sont alloués à la clé API.
Cette console de gestion permet l’administration d’un serveur CSGO, en texte clair y figurent les informations suivantes :
Les portails de connexion Wordpress sont relativement simples à trouver.
Cependant le portail ci-dessous a une particularité, en effet il y a seulement besoin d’un identifiant et le mot de passe est une « simple » opération mathématique à effectuer.
L’utilisateur, a oublié de masquer les informations sensibles tels que :
Voici un portail WHM (Web Host Manager) au vu des possibilités offertes on peut clairement imaginer les impacts dévastateurs qui pourront en découler, en effet le portail ci-dessous permet d’effectuer les opérations suivantes :
Au vu de toutes les opérations que ce serveur peut gérer il est clairement crucial pour l’entreprise qui le détient, cependant il est exposé en direct sur internet et n’utilise pas les échanges chiffrés (TLS).
Un exemple de vente d’un compte Steam :
Lors de la finalisation de l’achat, les informations suivantes ont été exposées :
Ici les mêmes informations ont été exposées mais cette fois il s’agit d’une personne en France :
Comme vu précédemment avec d’autres clés API, ici il s’agit d’une clé API sur un forum :
Les identifiants de connexion ainsi que la licence du service VPN ont été envoyés en clair à l’utilisateur :
Ce portail est intéressant, car il permet une interaction avec le serveur web car au lieu de se connecter par exemple en FTPS / SFTP ici la connexion se fait via http.
Mais plus intéressant encore un actuel malveillant pourrait déposer un script malveillant et l’exécuter.
Les navigateurs proposent d’enregistrer les identifiants et mots de passe, ici ils sont récupérés et affichés en clair via le logiciel « WebBrowerPassView » :
Nous entendons souvent parler des « bots » sur les réseaux sociaux, voici une capture d’écran d’un outil qui permet de créer des faux comptes en masses sur les réseaux suivants :
Nous pouvons remarquer qu’au-delà de la simple création des comptes il est possible d’effectuer des opérations plus complexes telles que :
Voici un panneau de control d’un outil de gestion d’un réseau de postes infectés !
Ce panneau permet à l’acteur malveillant de suivre en temps réel l’état des postes infectés :
Un tableau de bord comme ci-dessous permet donc d’avoir un visuel sur le nombre de postes infectés, sous contrôle mais cela signifie surtout que ce sont des postes compromis et attendent des instructions de la part de l’acteur malveillant.
Très souvent les fichiers ayant une forte entropie, sont des fichiers contenant des informations sur des wallets cryptos.
Voici un exemple de faux positif qu’on peut obtenir, bien que techniquement le résultat correspond à nos critères.
Lors des scans, voici les erreurs que j’ai pu rencontrer, elles ne sont pas dû au scan en tant que tel et sont en réalité des « bugs » du programme.
Bien que ces erreurs s’affichent, elles n’empêchent en rien le bon déroulement du scan, vous pouvez donc les ignorer tout simplement.
Comme vous avez pu le constater l’outil est Open-Source et gratuit, il ne requiert pas de clé API pour analyser les captures d’écrans ce qui en fait quelque chose de redoutable pour les acteurs malveillants.
Il est possible de lancer le « scan » indéfiniment pour parcourir tous les liens à la recherche d’informations sensibles sans payer quoi que ce soit et sans avoir besoin d’une puissance de calcul très élevée.
Pour notre cas j’ai exécuté le scan pendant 24 heures d’affilée et obtenu 1565 images contenant des informations sensibles :
Si vous souhaitez absolument partager des captures d’écrans, je vous invite fortement à les envoyer via d’autres canaux plus « fiables / sécurisés » définis par votre entreprise que des sites qui ne proposent aucune mesure de sécurité comme :
Tant bien même si vous n’avez pas de contenu « sensible » à cacher libre à vous le publier sur ce type de sites, mais gardez en mémoire qu’une information qui à votre sens n’est pas sensible peut avoir une grande importance pour d’autres personnes.
Vous trouverez ci-dessous les liens des différentes sources utilisées tout au long du document.
Site officiel Greenshot :
https://getgreenshot.org/
Site officiel LightShot
https://app.prntscr.com/en/index.html
GitHub Shotlooter
https://github.com/utkusen/shotlooter
Site PrntSc
https://prnt.sc/
Définition OCR par Abby FineReader
https://pdf.abbyy.com/fr/learning-center/what-is-ocr/