
Effectuer une reconnaissance de découverte par moteur de recherche pour la fuite d'informations
Comment utiliser les moteurs de recherche pour découvrir des informations sensibles sur un site ou une application web, y compris l'utilisation d'opérateurs de recherche et de techniques de 'Google Hacking'.
Introduction
Pour que les moteurs de recherche fonctionnent, des programmes informatiques (ou `robots`) récupèrent régulièrement des données (appelées exploration) à partir de milliards de pages sur le web. Ces programmes trouvent du contenu web et des fonctionnalités en suivant des liens à partir d'autres pages, ou en regardant des plans de site. Si un site utilise un fichier spécial appelé `robots.txt` pour lister les pages qu'il ne veut pas que les moteurs de recherche récupèrent, alors les pages listées ici seront ignorées. Ceci est un aperçu de base - Google offre une explication plus approfondie de comment fonctionne un moteur de recherche.
Les testeurs peuvent utiliser les moteurs de recherche pour effectuer une reconnaissance sur les sites et les applications web. Il existe des éléments directs et indirects à la découverte et à la reconnaissance par les moteurs de recherche : les méthodes directes concernent la recherche dans les index et le contenu associé à partir des caches, tandis que les méthodes indirectes concernent l'apprentissage d'informations sensibles sur la conception et la configuration en effectuant des recherches dans les forums, les groupes de discussion et les sites d'appel d'offres.
Une fois qu'un robot de moteur de recherche a terminé l'exploration, il commence à indexer le contenu web en fonction des balises et des attributs associés, tels que `<title>`, afin de renvoyer des résultats de recherche pertinents. Si le fichier `robots.txt` n'est pas mis à jour pendant la durée de vie du site et que les balises méta HTML en ligne qui demandent aux robots de ne pas indexer le contenu n'ont pas été utilisées, il est possible que les index contiennent du contenu web qui n'était pas destiné à être inclus par les propriétaires. Les propriétaires de sites peuvent utiliser le fichier `robots.txt` mentionné précédemment, les balises méta HTML, l'authentification et les outils fournis par les moteurs de recherche pour supprimer ce contenu.
Objectifs du test
- Identifier les informations sensibles de conception et de configuration de l'application, du système ou de l'organisation qui sont exposées directement (sur le site de l'organisation) ou indirectement (via des services tiers).
Comment tester
Utilisez un moteur de recherche pour rechercher des informations potentiellement sensibles. Cela peut inclure :
- les schémas et configurations du réseau ;
- les messages archivés et les e-mails des administrateurs ou d'autres membres du personnel clé ;
- les procédures de connexion et les formats de nom d'utilisateur ;
- les noms d'utilisateur, les mots de passe et les clés privées ;
- les fichiers de configuration tiers ou de services cloud ;
- le contenu révélateur des messages d'erreur ; et
- les applications non publiques (versions de développement, de test, de test d'acceptation par l'utilisateur (UAT) et de préproduction des sites).
Moteurs de recherche
Ne limitez pas les tests à un seul fournisseur de moteur de recherche, car différents moteurs de recherche peuvent générer des résultats différents. Les résultats des moteurs de recherche peuvent varier de plusieurs manières, en fonction du moment où le moteur a exploré le contenu pour la dernière fois et de l'algorithme que le moteur utilise pour déterminer les pages pertinentes. Envisagez d'utiliser les moteurs de recherche suivants (classés par ordre alphabétique) :
- Baidu, le moteur de recherche le plus populaire de Chine.
- Bing, un moteur de recherche détenu et exploité par Microsoft, et le deuxième plus populaire au monde. Prend en charge les mots-clés de recherche avancée.
- binsearch.info, un moteur de recherche pour les groupes de discussion Usenet binaires.
- Common Crawl, "un référentiel ouvert de données d'exploration web qui peut être consulté et analysé par n'importe qui".
- DuckDuckGo, un moteur de recherche axé sur la confidentialité qui compile les résultats de nombreuses sources différentes. Prend en charge la syntaxe de recherche.
- Google, qui offre le moteur de recherche le plus populaire au monde, et utilise un système de classement pour tenter de renvoyer les résultats les plus pertinents. Prend en charge les opérateurs de recherche.
- Internet Archive Wayback Machine, "construire une bibliothèque numérique de sites Internet et d'autres artefacts culturels sous forme numérique".
- Shodan, un service de recherche d'appareils et de services connectés à Internet. Les options d'utilisation incluent un plan gratuit limité ainsi que des plans d'abonnement payants.
Opérateurs de recherche
Un opérateur de recherche est un mot-clé ou une syntaxe spéciale qui étend les capacités des requêtes de recherche régulières et peut aider à obtenir des résultats plus spécifiques. Ils prennent généralement la forme de `opérateur:requête`. Voici quelques opérateurs de recherche couramment pris en charge :
site:limitera la recherche au domaine fourni.inurl:ne renverra que les résultats qui incluent le mot-clé dans l'URL.intitle:ne renverra que les résultats qui ont le mot-clé dans le titre de la page.intext:ouinbody:ne recherchera le mot-clé que dans le corps des pages.filetype:ne correspondra qu'à un type de fichier spécifique, c'est-à-dire.pngou.php.
Par exemple, pour trouver le contenu web de owasp.org tel qu'indexé par un moteur de recherche typique, la syntaxe requise est :
site:owasp.org
Figure 4.1.1-1 : Exemple de résultat de recherche avec l'opérateur site de Google
Affichage du contenu en cache
Pour rechercher du contenu qui a déjà été indexé, utilisez l'opérateur `cache:`. Ceci est utile pour afficher du contenu qui a pu changer depuis son indexation, ou qui n'est plus disponible. Tous les moteurs de recherche ne fournissent pas de contenu en cache à rechercher ; la source la plus utile au moment de la rédaction est Google.
Pour afficher owasp.org tel qu'il est mis en cache, la syntaxe est :
cache:owasp.org
Figure 4.1.1-2 : Exemple de résultat de recherche avec l'opérateur cache de Google
Google Hacking ou Dorking
La recherche avec des opérateurs peut être une technique de découverte très efficace lorsqu'elle est combinée à la créativité du testeur. Les opérateurs peuvent être enchaînés pour découvrir efficacement des types spécifiques de fichiers et d'informations sensibles. Cette technique, appelée Google hacking ou Dorking, est également possible en utilisant d'autres moteurs de recherche, tant que les opérateurs de recherche sont pris en charge.
Une base de données de dorks, comme la Google Hacking Database, est une ressource utile qui peut aider à découvrir des informations spécifiques. Certaines catégories de dorks disponibles sur cette base de données incluent :
- Points d'appui
- Fichiers contenant des noms d'utilisateur
- Répertoires sensibles
- Détection de serveur web
- Fichiers vulnérables
- Serveurs vulnérables
- Messages d'erreur
- Fichiers contenant des informations juteuses
- Fichiers contenant des mots de passe
- Informations sensibles sur les achats en ligne
Remédiation
Examinez attentivement la sensibilité des informations de conception et de configuration avant de les publier en ligne.
Examinez périodiquement la sensibilité des informations de conception et de configuration existantes qui sont publiées en ligne.