Matthieu Billaux – Tech Lead Redteam
Ce n’est pas le premier et ça ne sera pas non plus le dernier article sur ce sujet, qui continue d’évoluer sans cesse, en partie avec l’engouement pour l’OSINT. Je vous propose de faire le point sur les Google Dorks, ce qui sera un très bon moyen de découvrir ce sujet et pour les sachants, une petite piqûre de rappel et qui sait, pourquoi pas un peu de culture geek pour les diners mondains.
Pendant longtemps, on nous a dit que la complexité prévalait sur tout. En effet, ajouter des caractères spéciaux, voire exotiques sur un mot de passe, était censé nous assurer que ceux-ci deviendraient plus complexes à casser.
Les PSSI ont alors massivement été amendées à travers le monde et rapidement, on a pu lire un peu partout “un mot de passe doit comporter 8 caractères dont une majuscule, une minuscule, un caractère spécial et un chiffre”.
Cette directive, notamment poussée par le NIST a finalement été considérée comme contre-productive par celui-même qui en était à l’origine. En effet, cette manière de concevoir un mot de passe a entrainé un effet non prévu initialement : la création de patterns facilement identifiables.
En effet, les utilisateurs ont très rapidement adopté les raccourcis suivants :
Vous l’aurez compris, très rapidement la majorité des mots de passe ressemblaient à Abcdef!1 où Abcdef sont des lettres arbitraires souvent remplacées par autre chose. Mais il était souvent compliqué de trouver un mot de 6 lettres qui soit simple à retenir pour une personne lambda. Ce fût alors l’apparition des post-it sous les claviers ou sur les écrans, avec le mot de passe bien en évidence.
Pire encore, la période fatidique du changement de mot de passe imposée par l’entreprise finissait par arriver. Comment faire pour retenir un nouveau mot de passe quand on avait déjà mis 2 mois à retenir l’ancien sans post-it ? Vous l’avez deviné, on remplaçait le 1 par un 2 et ainsi de suite jusqu’à arriver à 0, et la boucle serait alors bouclée.
À présent, parlons de possibilités mathématiques pour identifier le bon mot de passe sans le connaitre. Si nous partons du principe que le pattern ébauché ci-dessus est vrai, nous avons :
Combien de mots de passe différents devrions-nous essayer pour trouver le bon ? Prenez le temps de la réflexion, posez l’opération mathématique puis revenez ici.
Il y a exactement dans notre cas : 26 * 26^5 * 10 * 10 possibilités, soit 26^6 * 10^2. De manière plus visuelle, il y a 30 891 577 600 combinaisons à tester. Oui, nous avons bien quasiment 31 milliards de possibilités. C’est conséquent, vous en conviendrez…
Néanmoins, en fonction des capacités de calcul dont dispose l’attaquant et surtout de la méthode d’attaque (en ligne ou hors ligne), celui-ci peut aujourd’hui très facilement grimper de manière conséquente. Ainsi une Geforce RTX 3080 utilisée via Hashcat pour casser hors ligne des hashes NTLM peut tester environ 101 GH/s (soit 101 * 10^9 hashes par seconde, soit 101 000 000 000, 101 milliards)*. Il faudrait donc moins d’une seconde à l’attaquant pour trouver le bon mot de passe qui suivrait ce pattern. Ajoutez à cela l’éventuelle utilisation d’un dictionnaire des mots de passe les plus courants et vous obtenez un temps de découverte imbattable.
La solution pour rendre le mot de passe plus robuste et mettre l’attaquant en difficulté est sans conteste l’augmentation de la longueur de celui-ci, sans nécessairement forcer une quelconque complexité. Prenons un exemple simple : si je passe sur un mot de passe de 12 caractères au lieu de 8, sans qu’on m’impose de complexité et que je fais le choix discutable de n’utiliser que des minuscules.
Pouvez-vous deviner le nombre de combinaisons à essayer pour être certain de trouver le bon mot de passe ?
Il y a alors 26^12 combinaisons, soit 95 428 956 661 682 176, 95 billiards de possibilités. C’est environ 3 millions de fois plus que précédemment. L’auriez-vous imaginé ?
Reprenons notre calcul de puissance de cassage de mot de passe. Toujours dans les mêmes conditions, l’attaquant mettra environ 945 000 secondes à tester toutes les combinaisons. C’est-à-dire environ 10 jours, mais je vous laisse vérifier le calcul par vous-même.
Alors bien entendu, en fonction de la détermination de l’attaquant et du temps dont il dispose, 10 jours, c’est peu. Et si je montais mon mot de passe à 18 caractères ? Combien de combinaisons y aurait-il ? En gardant strictement l’utilisation de minuscules de A à Z, nous aurions 26 ** 18 possibilités, soit 29 quadrillions (10^21). Et combien de temps pour casser le mot de passe dans ces conditions ? 3 milliards de jours. 3 milliards.
Cela semble intéressant non ?
Si en complément, vous complexifiez le travail de l’attaquant en utilisant des mots simples à retenir, mais sans rapport avec vous, et qu’entre chaque mot, vous ajoutez un chiffre par exemple, la complexité va encore grandir de manière exponentielle, surtout si la longueur de votre mot de passe finit par être de 20 caractères au lieu de 18.
Comment retenir ce nouveau mot de passe ? Utilisez un gestionnaire de mot de passe, et vous pouvez éventuellement adopter la méthode proposée dans cette bulle XKCD :
source : https://xkcd.com/936/
Rien de plus simple, pas besoin de savoir coder ou de comprendre le dernier protocole de routage à la mode. Il suffit de taper son expression dans le moteur de recherche. Les exemples donnés ici, se basent sur Google, mais il est possible d’utiliser d’autres moteurs de recherche en adaptant la syntaxe. Pour rappel, Google n’est pas sensible à la casse (majuscule/ minuscule), ni les mots de structure usuels (articles, conjonctions).
La requête se compose de 2 composants :
Il existe différentes catégories d’opérateur : les booléens, la ponctuation, les symboles et les spécifiques.
Si vous vous souvenez de vos cours de physique ou de logique, vous avez déjà compris. Ce sont les opérateurs qui viennent des fonctionslogiques.
Encore une fois, si vous manipulez un peu les expressions régulières, vous n’allez pas être perdu. Sinon voici un petit résumé.
Il en existe plusieurs dizaines. Le but n’est pas de tous vous les présenter, mais de vous donner quelques exemples pour voir comment ils fonctionnent. Si vous voulez la liste complète, c’est très facile à trouver
L’opérateur se termine par « : » suivi du motif de recherche, sans espace 😊
Bien sûr, tous ces opérateurs peuvent se mélanger entre eux. C’est ce qui donnera toute l’efficacité de la requête.
On ne va pas se le cacher, c’était l’objectif originel du dorking et ça l’est encore aujourd’hui. Cette activité est utilisée par les attaquants. Prenons la kill chain (réalisé par la société Lockheed Martin en 2011) comme exemple. Qu’est-ce que la kill chain ? En bref, c’est la modélisation des différentes étapes d’une attaque cyber.
Le dorking est présent dès la toute première étape qui est celle de la Reconnaissance, parfois appelée footprinting. Cette étape correspond à la collecte d’informations concernant la cible.
D’un point de vue technique :
Aujourd’hui il existe une base de données des requêtes, appelée ghdb pour Google Hacking Database qui vous permettra d’occuper vos longues soirées hivernales : https://www.exploit-db.com/google-hacking-database
Il ne faut pas non plus négliger le côté « humain »avec l’ingénierie sociale. Le dorking permet de faire plus facilement :
Ou encore plus directement en trouvant :
Si c’est utilisé par les attaquants, le dorking est également utilisé par les défenseurs ou encore pendant un audit de sécurité ou durant les périodes de RedTeam. Rien de mieux que de se mettre dans la peau de l’attaquant pour pouvoir se défendre.
D’un point de vue technique, voici un peu plus précisément le type de recherches basiques qui sera utilisée :
D’un point de vue plus personnel, vous pouvez rechercher s’il n’y aurait pas des informations un peu trop sensibles vous concernant avec des recherches comme :
Ces recherches sont aussi fortement utilisées dans des domaines comme l’OSINT et par des journalistes d’investigation par exemple. Le champ des possibles n’a pas vraiment de limite…
Un autre domaine dans lequel l’usage des requêtes avancées peut faire la différence est celui du Search Engine Optimisation ou encore de l’optimisation pour les moteurs de recherche. Vous savez, ce sont toutes les petites actions qui vont permettre à votre site internet d’arriver dans les premiers résultats de Google.
Prenons quelques exemples :
Enfin un dernier domaine où le dorking peut devenir un outil de tous les jours : la recherche de profil à recrutement. Avec l’avènement de l’utilisation de LinkedIn et compagnie, il est presque devenu indispensable aujourd’hui pour quelqu’un qui recherche un nouvel emploi de publier son profil sur la toile. Il est ainsi possible de le retrouver.
Quelques exemples glanés par –ci, par -là. Je pense que vous allez comprendre par vous-même le but des requêtes :
Les dorks sont parfois là où on s’y attend le moins. Encore en 2020, si on lançait la recherche site:chat.whatsapp.com, Facebook permettait d’accéder à une liste de plus 400 000 liens de groupes « normalement » fermés à la base.
Presque tout le monde peut être concerné. Petite mise en situation :
Vous avez acheté une caméra de surveillance que vous installez en 2 minutes pour surveiller votre chat quand vous êtes absent. La caméra communique avec un serveur et lit la vidéo en temps réel, vous permettant de vous connecter et d’ouvrir le flux vidéo hébergé sur ce serveur à partir de votre téléphone. Ce serveur ne demande pas de mot de passe ou c’est le mot de passe par défaut que vous avez laissé (pour que ce ne soit pas trop compliqué à utiliser) pour accéder au flux de votre webcam. Ce qui rend accessible au monde entier la vie de votre chat (et l’intérieur de chez vous, bienvenue dans Loft Story) en recherchant le texte contenu dans la page d’affichage de la caméra.
Il existe des moyens pour éviter ça. Les premiers conseils évidents mais nécessaires à rappeler sont :
Sur le plan technique, si vous administrez un serveur web,un site internet ou tout autre équipement accessible depuis internet, veillez bien à :
Pour les plus grosses sociétés, la fuite de données est également une préoccupation en bonne position dans les feuilles de route SSI. Des sociétés spécialisées proposent des services d’outils de DLP (Data LeakPrevention) ou encore des services de Threat Intelligence qui pourront entre autres scanner le darkweb à la recherche de données d’entreprise.
Maintenant, vous en savez un peu plus sur l’utilisation des moteurs de recherche. L’utilisation des dorks n’est pas compliquée, la difficulté réside dans la connaissance de la structure de l’information que vous recherchez.
Cette méthode de recherche avancée ne se limite plus à Google ou aux autres moteurs de recherche. Il en existe pour d’autres plateformes hébergeant énormément de contenu comme Github,Pastebin, Twitter…
Aujourd’hui, notre Johnny se consacre entièrement à l’organisation Hackers for Charity mais il avait publié plusieurs livres sur les Google dorks, dont le dernier date de 2015.
Sources
https://en.wikipedia.org/wiki/Johnny_Long
https://support.google.com/websearch/answer/2466433?hl=en
https://www.exploit-db.com/google-hacking-database
https://www.bruceclay.com/blog/bing-google-advanced-search-operators/
https://en.wikipedia.org/wiki/Google_hacking
https://medium.com/codex/master-at-google-hacking-dorking-27d14e7249be
https://www.lifewire.com/bing-advanced-search-3482817
https://www.schauer.fr/wp-content/uploads/2018/01/CA-Hakin9-06-2008-googlehacking.pdf
Commencez votre formation en cybersécurité
Formation
Carrière
Cybersécurité
100% en ligne
Donnez un nouveau souffle à votre carrière avec nos formations cybersécurité
La certification qualité a été délivrée au titre de la catégorie
« ACTIONS FORMATION »
© Seela – 24/11/2022
Organisme de formation
N°11755030075
Cet enregistrement ne vaut pas agrément de l’Etat.
Le certificat Qualiopi est disponible sur ce lien
A propos
Ressources