Dans cet article, je parlerai de ** "Shodan" **, de son fonctionnement et de son intégration dans les outils et les scripts.
Shodan détecte les appareils connectés à Internet à tout moment, l'emplacement de ces appareils et l'utilisateur actuel. Ces dispositifs peuvent être présents dans presque tous les types de systèmes, y compris les réseaux d'entreprise, les caméras de surveillance, les systèmes de contrôle industriel (ICS) et les maisons intelligentes. Shodan est la première étape importante des tests d'intrusion, car essayer d'obtenir la bannière du système permet d'identifier directement le système vulnérable. Il peut également faire plus en prenant en charge l'opérateur booléen et en fournissant des filtres pour améliorer l'efficacité de la recherche. Le moteur de recherche propose 50 résultats gratuitement et propose des abonnements payants pour un plus large éventail de résultats.
Il existe trois façons d'utiliser Shodan.
--Interface Web
Pour ce tutoriel, nous utiliserons Alibaba Cloud Elastic Compute Service (ECS). Afin de sécuriser l'instance, vous devez la configurer en conséquence.
Après avoir effectué les deux configurations ci-dessus, vous pouvez installer Apache sur ECS et y accéder avec un navigateur Web pour le tester.
Shodan, comme la plupart des autres moteurs de recherche, est accessible en accédant à shodan.io avec un navigateur Web. Je peux.
Je voudrais savoir combien de serveurs utilisent Apache dans le monde. Entrez simplement le mot-clé "apache".
Comme vous pouvez le voir sur l'image, les résultats montrent que 25 544 783 serveurs fonctionnent sur Internet.
Shodan a de nombreuses autres fonctionnalités, mais vous devez vous inscrire pour les utiliser. Une erreur s'est produite lors d'une tentative d'analyse approfondie sans compte, comme indiqué ci-dessous.
Maintenant, disons que vous avez créé un compte avec succès et vous êtes connecté. L'une des fonctionnalités de Shodan est le filtre, mais voyons ce que vous pouvez en faire.
Les filtres sont des mots clés spéciaux que Shodan utilise pour filtrer les résultats de recherche en fonction des métadonnées du service ou de l'appareil. Le format de saisie du filtre est
filtername:value
Par exemple
Par exemple, supposons que vous souhaitiez effectuer une recherche précise en recherchant tous les serveurs Apache avec Tomcat.
Le mot clé est "product:" apache to mcat "". Les résultats sont dans la capture d'écran ci-dessous.
En conséquence, nous avons constaté qu'il existe 1 445 150 serveurs exécutant Apache Tomcat dans le monde.
Vous pouvez affiner davantage votre recherche en recherchant tous les serveurs Apache Tomcat en Chine.
Product:"apache tomcat" country:cn
Ce que j'ai fait, c'est demander à Shodan de rechercher un serveur Apache à Tomcat en Chine.
Les résultats montrent qu'il existe 409 609 serveurs Apache avec Tomcat en Chine.
Supposons maintenant que vous exécutiez un service sur l'un des ECS et que vous souhaitiez voir ce qui se passe. Dans mon cas, j'utilise Alibaba ECS comme exemple, comme mentionné ci-dessus.
Pour faire la tâche, nous devons utiliser un filtre réseau et la valeur sera notre adresse IP.
Net: adresse IP
Supposons que vous ayez installé Apache, étant donné que votre groupe de sécurité n'a pas créé de règle pour autoriser le trafic entrant et sortant. Lorsque j'essaye d'y accéder en saisissant mon adresse IP dans le navigateur, je ne vois rien car Alibaba Cloud limite le trafic par défaut. Cela permet de garantir la sécurité du serveur ECS même si vous n'avez créé aucune règle pour le groupe de sécurité.
Comme vous pouvez le voir sur cette image, le serveur fonctionne sur Alibaba et l'IPS est Aliyun Computing. Puisque nous utilisons deux ports (80 443), nous avons deux services en cours d'exécution sur le serveur et la technologie Web utilisée est jQuery. Cela fera partie des informations que les pirates collectent sur le serveur pour voir s'il existe des vulnérabilités telles que les versions SSL. ..
Voyons maintenant comment utiliser Shodan en utilisant l'interface de ligne de commande (CLI).
L'interface de ligne de commande (CLI) de Shodan est fournie avec la bibliothèque officielle Python pour Shodan. Pour installer un nouvel outil, exécutez-le simplement.
$ easy_install shodan
Après avoir installé l'outil, vous devez l'initialiser avec la clé API.
$ shodan init YOUR_API_KEY
À https://account.shodan.io Accédez à la clé API de votre compte. Il sera affiché dans le coin supérieur droit du bouton Mon compte. Une fois l'API_KEY initialisée, vous pouvez maintenant commencer à utiliser les commandes de Shodan.
Vous pouvez vérifier les informations du compte.
Maintenant, imaginez que vous êtes dans une instance d'ECS et que vous voulez savoir quelle est votre adresse IP publique. Avec ifconfig, Alibaba Cloud protège le service par défaut, vous ne connaissez donc que l'adresse IP privée. Si vous souhaitez connaître votre adresse IP publique, entrez simplement la commande Shodan my ip.
$ shodan myip
Le résultat montre mon IP publique 47.89.249.0.
Si vous souhaitez avoir des informations sur un hôte, nous pouvons maintenant utiliser Shodan, par exemple où se trouve un tel hôte, quel port est ouvert, quelle organisation possède l'adresse IP, etc. Disons que 42.120.226.13 est notre serveur et que nous voulons le tester pour voir ce qui fonctionne.
$ shodan host 42.120.226.13
Notre serveur est en Chine, dernière mise à jour 2019-01-21, 2 ports fonctionnent (80, 443), le résultat nous a donné plusieurs versions, alors vérifiez la version SSL besoin de le faire.
La CLI possède d'autres fonctionnalités telles que l'analyse du réseau, les modules complémentaires maltego et les plug-ins de navigateur, mais vous devrez mettre à niveau votre compte de plan pour en profiter.
Shodan fournit une API de développeur pour accéder par programme aux informations collectées. Tous les sites Web et outils, y compris le site principal de Shodan, utilisent cette API. Tout ce que vous pouvez faire via un site Web peut être réalisé à partir de votre propre code.
L'API est divisée en deux parties. "REST API" et "Streaming API". L'API REST fournit diverses méthodes utilitaires pour rechercher Shodan, rechercher des hôtes, obtenir des informations récapitulatives pour les requêtes et faciliter le développement. L'API Streaming fournit un flux brut et en temps réel des données que Shodan collecte actuellement. Vous pouvez vous abonner à plusieurs flux, mais vous ne pouvez pas rechercher de données ni interagir avec elles d'une autre manière.
Il existe trois méthodes d'API qui sont limitées par le plan d'API.
1, ** Recherche **: Shodan utilise des crédits de requête pour limiter le nombre de recherches pouvant être effectuées en un mois. Les crédits d'une requête sont utilisés lorsque vous effectuez une recherche qui inclut un filtre ou lorsque vous passez la première page. Par exemple, si vous recherchez "apache", aucun crédit de requête ne sera utilisé. De plus, si vous recherchez "apache country: US", 1 crédit de requête sera utilisé. De même, si vous recherchez des résultats de recherche sur la deuxième page avec "apache", utilisez 1 crédit de requête. Enfin, la requête de recherche sur la deuxième page de "apache country: US" utilise également 1 crédit de requête.
2, ** Analyse **: l'API d'analyse à la demande utilise des crédits d'analyse pour limiter le nombre d'hôtes que Shodan peut demander à analyser chaque mois. Déduisez 1 crédit de scan pour tous les hôtes pour lesquels vous demandez un scan Shodan.
3, ** Alertes réseau **: Le nombre d'adresses IP pouvant être surveillées à l'aide d'alertes est limité en fonction de votre abonnement API. Seuls les clients payants peuvent accéder à cette fonctionnalité. De plus, vous ne pouvez pas créer plus de 100 alertes pour votre compte.
** Remarque **: les crédits de requête et d'analyse seront réinitialisés au début de chaque mois.
Pour installer la bibliothèque Shodan pour Python, exécutez la commande suivante:
$ easy_install shodan
Si vous l'avez déjà installé et que vous souhaitez passer à la dernière version.
$ easy_install -U shodan
La première chose à faire est d'initialiser l'objet API Shodan.
import shodan
api = shodan.Shodan('YOUR API KEY')
Ici, votre clé API est la clé API de votre compte et peut être obtenue à partir de: https://account.shodan.io
Maintenant que vous avez toutes les API, vous pouvez effectuer une recherche avec un petit script.
Comme vous pouvez le voir sur cette image, nous écrivons un petit script qui essaie de scanner Internet pour les serveurs et les requêtes. Le code est écrit en python3.
Si vous exécutez le script avec un paramètre appelé Apache, Shodan analysera Internet et vous fournira toutes les informations du serveur Apache.
Exécutons le script et voyons s'il fonctionne et quel sera le résultat.
Le résultat du script ressemble à ce qui précède. Comme vous pouvez le voir, le serveur Apache fonctionne sur l'adresse IP.
À mesure que la technologie évolue, nous devons rester à jour pour nous assurer que notre sécurité n'est pas compromise. En particulier dans les applications IoT où plusieurs appareils sont exposés au Web, la sécurité est importante non seulement pour garantir le bon fonctionnement des actifs, mais également pour protéger la confidentialité. L'un des outils les plus puissants disponibles pour cela est Shodan. Mais comme tous les bons outils, Shodan peut aussi être une épée à double tranchant. Il peut facilement être exploité par des pirates informatiques, mais il vous aide également à mieux comprendre votre réseau. Ce n'est pas l'outil lui-même qui est dangereux, mais plutôt la personne qui l'utilise.
Recommended Posts