Une source
S in IoT signifie sécuritéShodan a déjà été écrit plus d'une fois, y compris ici. Je voudrais suggérer encore une fois de passer en revue les capacités de ce merveilleux outil et les principes de son fonctionnement. Je souhaite tout de suite faire une réserve sur le fait que la situation avec ce moteur de recherche est assez classique pour les chercheurs dans le domaine de la sécurité de l'information - l'outil peut être utilisé à la fois avec de bonnes intentions et fortement en dehors de la loi.
Disclamer: l'
utilisation du moteur de recherche lui-même n'est pas punissable. Entrer avec succès dans un panneau de commande ouvert d'un nœud de terminal pétrolier quelque part à Singapour et expérimenter l'ouverture des amortisseurs est déjà punissable. Les personnes hostiles peuvent venir frapper. Par conséquent, soyez raisonnable et respectez l'espace des autres. Nous sommes contre l'utilisation de Shodan à des fins autres que de recherche ou d'analyse de nos propres systèmes.
Je propose de revenir une fois sur les capacités de ce moteur de recherche, les particularités de sa syntaxe et d'essayer de trouver quelque chose d'intéressant. Et n'imprimons pas Guerre et Paix sur les imprimantes réseau d'autres personnes.
Les gens sont insouciants
Les canaux sont devenus gigabit, des outils comme ZMap sont apparus, qui permettent de scanner tout le tableau d'adresses IPv4 en quelques minutes. Et encore, il y a encore beaucoup de gens qui sont sincèrement sûrs que si vous ne parlez à personne du service augmenté, vous ne pouvez pas vous soucier de sa protection.
Malheureusement, très rapidement, d'abord, des robots automatiques viendront à vous, puis de vraies personnes, si quelque chose d'intéressant est trouvé. J'ai oublié de désactiver vsftpd en temps voulu, ce que j'ai soulevé pendant un moment. En conséquence, un mois plus tard, j'ai été surpris de constater que des fichiers texte contenant du spam, quelques petites archives cryptées et des joies similaires apparaissent et disparaissent régulièrement à l'intérieur.
Si le problème se limitait aux administrateurs juniors et aux gens ordinaires qui ne pardonnent pas une certaine insouciance et un manque de qualifications, alors je ne peux tout simplement pas justifier les entreprises qui intègrent délibérément des portes dérobées dans leurs produits matériels. Des exemples classiques sont les caméras IP populaires Hikvision et Dahua . Il y a eu des histoires similaires avec les routeurs D-link, Huawei et d'autres fabricants.
Et avec l'avènement de l'Internet des objets, avec ses approches de mise en œuvre «sûres», tout devient complètement triste. Ici, vous avez des ampoules intelligentes sans mot de passe qui fonctionnent avec Internet externe via HTTP. Ou même des aspirateurs robotiques qui serviront à attaquer votre infrastructure interne, comme cela s'est produit avec Dongguan Diqee... C'est généralement amusant là-bas - les vulnérabilités CVE-2018-10987 et CVE-2018-10988 vous ont permis d'obtenir les droits root, de prendre le contrôle de l'appareil, de conduire au point souhaité et d'obtenir une image de la caméra infrarouge de l'appareil.
Une histoire similaire s'est produite avec LG Hom-Bot , où un attaquant pouvait intercepter le contrôle et utiliser un aspirateur innocent comme point d'envahir le réseau de quelqu'un d'autre.
Comment fonctionne Shodan
Les choses ont beaucoup changé quand Shodan est arrivé. Eh bien, d'accord, en fait, tout est resté le même, mais au moins il y avait une opportunité d'évaluer l'ampleur d'une catastrophe particulière et d'essayer d'atteindre le fournisseur pour fermer la vulnérabilité. Shodan est essentiellement un hybride de nmap -sV sur toute la plage IPv4 et les résultats des moteurs de recherche. Les robots d'exploration analysent scrupuleusement l'intégralité d'Internet, tentent de se connecter aux ports ouverts et, à l'aide d'une empreinte digitale, identifient le service derrière ces ports.
Un exemple de résultat de recherche pour "vuln: cve-2014-0160".
En combinaison avec la recherche, cela permet d'estimer rapidement le nombre de versions de logiciels vulnérables après la publication de la prochaine vulnérabilité.
Les données de chaque publication sont stockées dans une structure que les développeurs appellent bannière. Voici à quoi ça ressemble:
{
"data": "Moxa Nport Device
Status: Authentication disabled
Name: NP5232I_4728
MAC: 00:90:e8:47:10:2d",
"ip_str": "46.252.132.235",
"port": 4800,
"org": "Starhub Mobile",
"location": {
"country_code": "SG"
}
}
En fonction de la quantité d'informations reçues, une bannière peut contenir beaucoup plus de champs qui peuvent être filtrés et recherchés. Par défaut, seul le champ de données est recherché, ce qui est en partie pour des raisons de sécurité. Le champ de données sera très différent dans différentes bannières, selon le type d'application, de serveur ou de périphérique.
HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Sat, 03 Oct 2015 06:09:24 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 6466
Connection: keep-alive
Voici à quoi ressemblerait un champ de données typique pour un serveur HTTP. Vous pouvez voir les principaux paramètres et la version.
Copyright: Original Siemens Equipment
PLC name: S7_Turbine
Module type: CPU 313C
Unknown (129): Boot Loader A
Module: 6ES7 313-5BG04-0AB0 v.0.3
Basic Firmware: v.3.3.8
Module name: CPU 313C
Serial number of module: S Q-D9U083642013
Plant identification:
Basic Hardware: 6ES7 313-5BG04-0AB0 v.0.3
Et voici à quoi ressemble un contrôleur industriel Siemens S7 beaucoup plus inhabituel. À ce stade, il devient déjà un peu effrayant de voir quels appareils peuvent traîner sur Internet et accéder aux résultats de recherche. D'un autre côté, la sécurité par l'obscurité n'a encore aidé personne.
Un cas d'utilisation typique suppose que vous donniez une requête générale au champ de données, puis que vous affiniez votre recherche avec de nombreux filtres. Le format de la demande ressemble à ceci:
nuclear reactor filtername1:value filtername2:value filtername3:value
Notez qu'il n'y a pas d'espace après les deux points. Dans ce cas, dans un premier temps, tous les enregistrements contenant «réacteur nucléaire» dans le champ de données générales seront sélectionnés, puis tous les filtres répertoriés seront appliqués séquentiellement pour restreindre les objets de recherche.
Une liste complète des filtres est disponible ici . Dans le même temps, une partie n'est disponible que pour les comptes payants, par exemple "tag" et "vuln".
Essayer de rechercher
Essayons quelque chose comme un contrôleur de porte.
C'est merveilleux. Voyons maintenant tous les contrôleurs HID VertX appartenant à Spectrum Business.
door controller org:"Spectrum Business"
Après cela, en cliquant sur un hôte spécifique, un bref résumé des données collectées sur celui-ci est développé. Ou vous pouvez voir la sortie complète des données brutes.
Données brutes par 70.62.170.218
Property Name Value
area_code null
asn AS10796
city Garfield Heights
country_code US
country_code3 null
country_name United States
data.0._shodan.crawler 4aca62e44af31a464bdc72210b84546d570e9365
data.0._shodan.id e85c3c1b-54ff-4194-8dc1-311da6851e5d
data.0._shodan.module http
data.0._shodan.options.referrer 5ee031c4-75c3-423f-99b8-5c06dd97cf14
data.0._shodan.ptr True
data.0.data
data.0.domains ['rr.com']
data.0.hash 0
data.0.hostnames ['rrcs-70-62-170-218.central.biz.rr.com']
data.0.http.host 70.62.170.218
data.0.http.html null
data.0.http.html_hash null
data.0.http.location /
data.0.http.redirects []
data.0.http.robots null
data.0.http.robots_hash null
data.0.http.securitytxt null
data.0.http.securitytxt_hash null
data.0.http.server null
data.0.http.sitemap null
data.0.http.sitemap_hash null
data.0.http.title null
data.0.port 443
data.0.timestamp 2020-09-02T15:26:31.443605
data.0.transport tcp
data.1._shodan.crawler 4aca62e44af31a464bdc72210b84546d570e9365
data.1._shodan.id 458e8be2-04df-4db7-8499-8e378792584e
data.1._shodan.module http
data.1._shodan.ptr True
data.1.data HTTP/1.1 301 Moved Permanently Location: https://70.62.170.218:443/ Content-Length: 0 Date: Wed, 02 Sep 2020 15:26:23 GMT Server: HID-Web
data.1.domains ['rr.com']
data.1.hash -788227878
data.1.hostnames ['rrcs-70-62-170-218.central.biz.rr.com']
data.1.http.host 70.62.170.218
data.1.http.html
data.1.http.html_hash 0
data.1.http.location /
data.1.http.redirects []
data.1.http.robots null
data.1.http.robots_hash null
data.1.http.securitytxt null
data.1.http.securitytxt_hash null
data.1.http.server HID-Web
data.1.http.sitemap null
data.1.http.sitemap_hash null
data.1.http.title null
data.1.port 80
data.1.timestamp 2020-09-02T15:26:24.253885
data.1.transport tcp
data.2._shodan.crawler 70752434fdf0dcec35df6ae02b9703eaae035f7d
data.2._shodan.id b7f280e3-cffc-4ddd-aa4b-1f9cd9e4d2be
data.2._shodan.module vertx-edge
data.2._shodan.ptr True
data.2.data HID VertX/ Edge door controller MAC: 00:06:8E:41:AB:81 Name: EdgeEHS400 Internal IP: 70.62.170.218 Type: EHS400 Firmware Version: 2.1.1.101 Firmware Date: 2018-05-03-11
data.2.domains []
data.2.hash -764264635
data.2.hostnames []
data.2.opts.raw 646973636f76657265643b3039313b30303a30363a38453a34313a41423a38313b456467654548533430303b37302e36322e3137302e3231383b313b4548533430303b322e312e312e3130313b323031382d30352d30332d31313b
data.2.port 4070
data.2.tags ['ics']
data.2.timestamp 2020-08-26T20:59:09.260224
data.2.transport udp
data.2.vertx.firmware_data 2018-05-03-11
data.2.vertx.firmware_version 2.1.1.101
data.2.vertx.internal_ip 70.62.170.218
data.2.vertx.mac 00:06:8E:41:AB:81
data.2.vertx.name EdgeEHS400
data.2.vertx.type EHS400
data.3._shodan.crawler 4aca62e44af31a464bdc72210b84546d570e9365
data.3._shodan.id 43663d5e-db76-4cba-8f14-6c1bf417ddd3
data.3._shodan.module ntp
data.3._shodan.ptr True
data.3.data NTP protocolversion: 3 stratum: 3 leap: 0 precision: -17 rootdelay: 0.108978271484 rootdisp: 0.162017822266 refid: 1209934681 reftime: 3807379353.45 poll: 3
data.3.domains ['rr.com']
data.3.hash -1317347992
data.3.hostnames ['rrcs-70-62-170-218.central.biz.rr.com']
data.3.opts.raw 1c0303ef00001be60000297a481e2359e2efff9972f64603e2f0016cc6b1f800e2f0016ceef1bb83e2f0016cef0fb34d
data.3.port 123
data.3.timestamp 2020-08-25T21:30:20.877776
data.3.transport udp
dma_code 510
domains ['rr.com']
hostnames ['rrcs-70-62-170-218.central.biz.rr.com']
ip 1178512090
ip_str 70.62.170.218
isp Spectrum Business
last_update 2020-09-02T15:26:31.443605
latitude 41.4344
longitude -81.6373
org Spectrum Business
os null
ports [80, 123, 443, 4070]
postal_code null
region_code OH
tags ['ics']
Que pouvez-vous trouver d'autre intéressant
En fait, ce qu'ils n'ont tout simplement pas trouvé. À la fois le contrôle des turbines de la centrale hydroélectrique et le contrôleur pour le contrôle des systèmes de refroidissement de la patinoire municipale. Voici quelques options intéressantes et relativement inoffensives.
"Server: Prismview Player"
Affiche des panneaux publicitaires extérieurs. Et pour toujours, les capteurs de température affichent un zéro absolu.
http.title:"Tesla PowerPack System" http.component:"d3" -ga3ca4f2
Affiche l'état actuel du Tesla PowerPack .
Internet n'est pas l'endroit le plus sûr
En fait, les listes disponibles sont tout simplement infinies. Vous pouvez trouver les panneaux de contrôle des éoliennes et les centres de médias de quelqu'un en vietnamien, qui sortent sur Internet. Tenez-vous-en à quelques règles de base et tout ira bien.
- Si l'appareil peut fonctionner hors ligne, ne l'exposez pas à Internet
- Si vous avez vraiment besoin d'exposer l'appareil à Internet, vous n'avez pas besoin d'y transférer l'accès directement. Utilisez un VPN pour vous connecter à votre réseau
- —
- ,