[DE] Shodan - Eine etwas andere Suchmaschine

in #deutsch7 years ago (edited)

Im Zuge der Digitalisierung werden immer mehr Geräte an das Internet angebunden. Im Folgenden möchte ich eine Suchmaschine hierfür vorstellen. Mein Anspruch ist es hierbei nicht, genauer auf einzelne Funktionen einzugehen und alle abzudecken. Vielmehr möchte ich die grundsätzliche Funktionsweise und Bedienung erläutern.



Um Webseiten zu finden ist oftmals Google die erste Wahl .
Möchte man Geräte finden, die eine bestimmte Software laufen haben bietet sich Shodan.io an.

Wie funktioniert Shodan ?

Hauptsächlich werden die Daten durch Banner grabbing gesammelt.
Ein Banner ist eine textuelle Beschreibung eines Services auf einem Gerät. Der Inhalt dieser Banner ist von der Art des Services abhängig. Ein typischer HTTP Banner sieht etwa so aus:

httpbanner.png

Hier kann man also erkennen, dass ein nginx Server der Version 1.1.19 läuft.

Hier noch ein Beispiel für ein industrielles Kontrollsystem (Siemens S7)

s7.png

Dieser unterscheidet sich offensichtlich stark vom HTTP Banner.

Die Shodan crawler scannen keine Netzwerkbereiche sondern agieren rein zufällig. Dafür wird also eine zufällige IP sowie ein zufälliger Port gewählt, von dem sich der Banner geholt wird.

Neben den Bannern werden Metadaten wie Hostnamen, Betriebssystem, geographischer Standort etc. gespeichert.

Das Web Interface

Die wohl einfachste Möglichkeit Daten von Shodan zu erhalten ist das Web Interface.
Mithilfe der Filter lässt sich die Suche gut eingrenzen.
Ein paar einfache Filter sind Beispielsweise:

  • country - Geräte innerhalb eines Landes finden

  • hostname - Geräte mit einem bestimmten Hostnamen finden

  • geo - Angabe von Koordinaten

  • os - Angabe des Betriebssystems

  • port - Angabe des Ports

Suchen wir beispielsweise nach Apache Servern der Version 2.2.3 in Deutschland können diese mit apache 2.2.3 country:"DE" einfach gefunden werden.

apache2.2.3.png

Man kann unter dem Punkt "explore" des Webinterfaces auch einfach etwas rumspielen und findet so beispielsweise Windturbinen:

turbine.png

Schauen wir uns diese mal beispielsweise an können wir Daten wie diese einsehen:

diagnostics.png

Unter dem Punkt "Maps" können die Suchergebnisse zusätzlich auf einer Karte veranschaulicht werden.

Command-Line Interface

Um den Dienst produktiv nutzen zu können möchte man in der Regel nicht an dem Web Interface arbeiten sondern über das CLI.

Über das Python module easy_install lässt sich Shodan leicht installieren:
easy_install shodan

Anschließend muss shodan initialisiert werden:

shodan init <API Key>

Den API key könnt ihr in eurem Account (https://account.shodan.io) einsehen.

Nun lassen sich die Funktionalitäten bequem über die Konsole nutzen.
Beispiel:
heartbleed.png


Viele der Funktionalitäten lassen sich nur mit einem Account nutzen. Des weiteren sind manche Funktionen kostenpflichtig.


Disclaimer

Das Nutzen der Dienste und auch das Besuchen der entsprechenden Seiten ist legal. Wird eine Authentifizierung erwartet ist nicht erlaubt beispielsweise Standart Logins einzugeben (auch wenn dies wohl oft funktionieren würde)



Vielen Dank fürs Lesen !

Sort:  

Hammer was ich vor ein paar Jahren alles an offenen Geräten damit schon gefunden habe ;)

Super Blog! Genau nach meinem Geschmack! Werde hier öfters mal reinlesen, hoffe, du schreibst regelmäßig über Dinge aus dem Security und Data Saftey Bereich!

Kannte Shodan schon! Aber danke für die sehr ausführliche Erklärung. Vorallem die Bedienung über CLI habe ich mir noch nie davor angeschaut.

Meiner IOToaster-Zombie-Armee steht nichts mehr im Wege!

great contribution