ADMIN
2024
10
2024-09-29T12:00:00
Identitäts- und Datenschutz
PRAXIS
040
Security-Tipp
Sicherheit
IT-Infrastrukturen mit Ivre visualisieren
Kartografiert
von Dr. Matthias Wübbeling
Veröffentlicht in Ausgabe 10/2024 - PRAXIS
Das eigene Netzwerk im Hinblick auf Verwundbarkeiten im Blick zu haben, ist essenziell für IT-Verantwortliche. Die Suchmaschine Shodan erlaubt umfangreiche Analysen von Endpunkten, die über das Internet erreichbar sind. So bietet Shodan einen Blick auf das eigene Netzwerk, wenn auch nur von außen. Der Security-Tipp in diesem Monat stellt Ihnen mit Ivre ein Tool vor, mit dem Sie eine Art privates Shodan aufsetzen und Ihr Netzwerk aktiv und passiv untersuchen.

Um die Bedrohungslage für Ihr Unternehmensnetzwerk einzuschätzen, ist Shodan [1] das vermutlich bekannteste Werkzeug. Natürlich blickt Shodan nur von außen auf Ihr Netzwerk. Um ähnliche Einsichten in das Netzwerk hinter der DMZ zu erhalten, bieten sich unterschiedliche Tools wie NMAP, Masscan oder Zgrab an. Um nun die Ergebnisse ähnlich übersichtlich aufbereitet nutzen zu können, so wie Sie das von Shodan kennen, steht Ihnen mit dem Open-Source-Tool Ivre [2] ein passendes Framework mit allen notwendigen Bestandteilen zur Verfügung.
Mit Ivre scannen und kartografieren Sie nicht nur Ihre IT-Infrastruktur, sondern analysieren die Ergebnisse gesammelt und lassen diese interaktiv darstellen. Ivre importiert dabei die Ausgaben der gängigen Scanning-Werkzeuge und führt diese in der eigenen Datenbank zusammen. Damit können Sie es auch in Ihr bestehendes Toolset eingliedern. Im Folgenden zeigen wir Ihnen, welche Funktionalität Ivre bereitstellt und wie Sie Ivre zum Testen aufsetzen sowie erste Daten in das Framework importieren.
Ivre installieren und starten
Ivre weist einige Abhängigkeiten auf und ist nicht immer so einfach zu installieren, wie auf der Webseite angegeben. Wenn Sie Kali Linux in Ihrem Umfeld verwenden, können Sie es dort in den meisten Fällen ohne Probleme mit "apt" installieren. In unserem Setup starten wir Ivre unter Linux und verwenden dafür die von den Entwicklern im Git [3] bereitgestellte Vagrant-Beschreibung. Klonen Sie dafür das Repository mit dem Kommando
Um die Bedrohungslage für Ihr Unternehmensnetzwerk einzuschätzen, ist Shodan [1] das vermutlich bekannteste Werkzeug. Natürlich blickt Shodan nur von außen auf Ihr Netzwerk. Um ähnliche Einsichten in das Netzwerk hinter der DMZ zu erhalten, bieten sich unterschiedliche Tools wie NMAP, Masscan oder Zgrab an. Um nun die Ergebnisse ähnlich übersichtlich aufbereitet nutzen zu können, so wie Sie das von Shodan kennen, steht Ihnen mit dem Open-Source-Tool Ivre [2] ein passendes Framework mit allen notwendigen Bestandteilen zur Verfügung.
Mit Ivre scannen und kartografieren Sie nicht nur Ihre IT-Infrastruktur, sondern analysieren die Ergebnisse gesammelt und lassen diese interaktiv darstellen. Ivre importiert dabei die Ausgaben der gängigen Scanning-Werkzeuge und führt diese in der eigenen Datenbank zusammen. Damit können Sie es auch in Ihr bestehendes Toolset eingliedern. Im Folgenden zeigen wir Ihnen, welche Funktionalität Ivre bereitstellt und wie Sie Ivre zum Testen aufsetzen sowie erste Daten in das Framework importieren.
Ivre installieren und starten
Ivre weist einige Abhängigkeiten auf und ist nicht immer so einfach zu installieren, wie auf der Webseite angegeben. Wenn Sie Kali Linux in Ihrem Umfeld verwenden, können Sie es dort in den meisten Fällen ohne Probleme mit "apt" installieren. In unserem Setup starten wir Ivre unter Linux und verwenden dafür die von den Entwicklern im Git [3] bereitgestellte Vagrant-Beschreibung. Klonen Sie dafür das Repository mit dem Kommando
git clone https://github.com/ivre/ivre
Nun legen Sie vorbereitend die Verzeichnisse für die Arbeitsdaten von Ivre an und setzen die Zugriffsrechte entsprechend:
mkdir -m 777 var_lib_mongodb ivre-share dokuwiki_data
Die Vagrant-Beschreibung nutzt Docker als Backend und führte bei der Erstellung des Artikels immer mal wieder zu Problemen beim Herunterladen der Images. Sollten der erste Durchlauf von vagrant up
bei Ihnen nicht direkt erfolgreich sein, starten Sie das Kommando einfach ein oder zwei weitere Male. Alternativ können Sie auch die in der Datei "docker-compose.yaml" bereitgestellte Definition für Docker anpassen und direkt verwenden. In beiden Fällen kommen fünf Docker-Container zum Einsatz: ein Container mit der Clientanwendung, eine MongoDB als Backend-Datenbank, der WSGI-Server für die API sowie der Webserver als grafische Oberfläche und ein Dokuwiki für die Dokumentation der Ergebnisse.
Wenn der Start erfolgreich war, können Sie in Ihrem Browser die URL "http://localhost/" aufrufen und gelangen so in die Webanwendung von Ivre. Hier sind aktuell noch keine Inhalte zu sehen, da Ivre noch keine Ergebnisdaten in die Datenbank übernommen hat. Es gibt nun unterschiedliche Möglichkeiten, Daten für den Import zu erstellen. Theoretisch könnten Sie nun einfach NMAP auf Ihrem System starten. Nutzen Sie etwa für den Scan eines privaten Heimnetzes den entsprechenden Netzwerkpräfix im Kommando
nmap -Sv -oX localnet.xml 192.168.0.0/24
Die Ergebnisse des Scans sind nun in der Datei "localnet.xml". Diese müssten Sie nun innerhalb des Containers für die Weiterverarbeitung durch Ivre bereitstellen. Einfacher ist es jetzt für die Tests daher, wenn Sie NMAP direkt innerhalb des Containers und direkt über Ivre aufrufen. Finden Sie mit dem folgenden Kommando zunächst die ID oder den Namen des Docker-Containers ivreclient heraus und starten Sie darin eine interaktive Shell:
docker ps
docker exec -ti ivreclient /bin/bash
In der Kommandozeile können Sie nun direkt mit Ivre arbeiten. Der obige Befehl entsprechend umgesetzt lautet nun
ivre runscans --network 192.168.0.0/24 --output=XMLFork
Geben Sie Ivre jetzt einige Zeit, um Ihr Netzwerk zu scannen. Leider gibt es währenddessen keine Fortschrittsanzeige. Wenn Sie wieder im Prompt landen und die Ausgabe keine schweren Fehler anzeigt, können Sie nun mit dem folgenden Kommando die Ergebnisse der XML-Dateien aller erreichbaren Rechner in die Datenbank von Ivre übertragen:
ivre scan2db -c IT-Administrator -s NMAP -r scans/NET-192.168.0.0-24/up
Mit "-c" geben Sie einen beliebigen Namen der Kategorie der Einträge an. Das könnte auch ein Hinweis auf Netzwerksegmente oder genutzt Werkzeuge sein. Die Ausgabe des Importers zeigt Ihnen die Anzahl der importierten Ergebnisse an. Wenn Sie direkt nach dem Import wieder auf der Weboberfläche nachsehen, werden Sie enttäuscht. Die Daten sind jetzt in der Datenbank und lassen sich etwa mit ivre scancli --port 80
im Terminal durchsuchen. Als Ausgabe erhalten Sie die NMAP-Ergebnisse für alle Endpunkte, die Port 80 bedienen.
Um die Daten nun auch in der Weboberfläche bereitzustellen, führen Sie ivre db2view
aus. Die Ausgabe gibt auch Hinweise aus, dass Ivre versucht, aus weiteren Quellen zusätzliche Informationen zu den gefundenen Endpunkten zu sammeln. Um diese zu verwenden, führen Sie einmal das Kommando ivre getwebdata
aus und starten dann mit db2view die Bereitstellung erneut.
Nun werden die Ergebnisse erfolgreich und nur noch mit wenigen Warnungen für die Anzeige vorbereitet. Dieses Kommando müssen Sie regelmäßig ausführen, damit Sie immer aktuelle Daten aus diesen externen Quellen vorhalten. Aktualisieren Sie nun die Webansicht, sollten Sie die ersten Ergebnisse in Ihrem Dashboard sehen.
Mit Ivre lassen sich diese Daten nach verschiedenen Kriterien filtern und durchsuchen. Zum Beispiel können Sie nach spezifischen IP-Bereichen, Ports oder Diensten suchen, um gezielt Endpunkte und Informationen auszuwählen. Diese Filterung hilft einem Analysten dabei, die Aufmerksamkeit auf die wichtigsten Ergebnisse zu fokussieren und damit potenzielle Schwachstellen schneller zu identifizieren.
Das integrierte Dokuwiki können Sie für jeden gefundenen Endpunkt um einen informativen Eintrag erweitern. Klicken Sie dafür auf das kleine Stiftsymbol am Rand der Ergebniskarte. Im rechten Fensterbereich öffnet sich dann das Dokuwiki, wo Sie die Dokumentation erstellen.
Aktives vs. passives Netzwerkmonitoring
Was Sie bis hierhin mit Ivre gemacht haben, basierte alles auf manueller (aktiver) Durchführung. Es ist aber auch möglich, dass Sie im Hintergrund kontinuierlich Daten bereitstellen (passiv) und Ivre diese dann analysiert und aufbereitet. Bei der aktiven Überwachung geht es darum, gezielt einzelne Netzwerke zu scannen und Daten über die darin enthaltenen Endpunkte sowie offene Ports, laufende Dienste und andere Netzwerkkomponenten zu sammeln. Diese Methode ist besonders effektiv, wenn Sie ad hoc einen Überblick über die Struktur und Sicherheit eines Netzwerks erhalten möchten.
Ein typisches Beispiel für einen aktiven Scan ist die Verwendung von Nmap, wie oben beschrieben. Durch die Integration der Nmap-Scans in Ivre lassen sich die Daten detailliert analysieren und visuell darstellen. Aktive Überwachung ist jedoch nicht ohne Risiken – insbesondere in Produktionsumgebungen kann sie auffällig sein und möglicherweise Alarme auslösen.
Im Gegensatz dazu steht die passive Überwachung, also das eher klassische Monitoring, bei der keine direkten Interaktionen mit den Zielsystemen stattfinden. Stattdessen werden Informationen aus öffentlich zugänglichen Quellen gesammelt, wie etwa Netzwerkverkehrsüberwachung, DNS-Anfragen oder Daten öffentlicher Dienste. Ivre ermöglicht das passive Monitoring durch die Analyse von Daten, die dauerhaft im Hintergrund aus unterschiedlichen Quellen importiert werden können. Damit könnten Sie auch ein Offline-Monitoring umsetzen, beispielsweise mit PCAP-Dateien, die Sie aus Netzwerkmitschnitten erstellt haben, um weniger invasiv interessante Informationen über das beobachtete Netzwerk einzuholen.
Fazit
Mit Ivre erhalten Sie mehr als nur ein Werkzeug für die Aufklärung in Ihrem privaten Netzwerk. Es ist ein flexibles Framework, das sich ohne große Schwierigkeiten in bestehende IT-Infrastrukturen integrieren lässt und sowohl für aktive als auch passive Netzwerkerkennung eingesetzt werden kann. Durch die Unterstützung verschiedener Werkzeuge, die Möglichkeit zur Automatisierung und die Visualisierungswerkzeuge ist Ivre eine lokale Alternative zu kommerziellen Diensten wie Shodan. Einmal in einer Produktivumgebung aufgesetzt, trägt Ivre dazu bei, Netzwerke abzusichern und Bedrohungen frühzeitig zu erkennen.
(dr)