Romolo Tavani - stock.adobe.com
Mit OpenVAS in Netzwerken nach Schwachstellen suchen
OpenVAS ist ein Open-Source-Schwachstellenscanner, mit dem Admins in Netzwerken auf Geräten nach Lücken suchen. Wir zeigen Einrichtung und Einatz mit Kali Linux und ParrotOS.
OpenVAS ist ein Schwachstellenscanner für Linux-Systeme, mit dem Admins über eine Weboberfläche nach Schwachstellen auf anderen Netzwerkgeräten suchen können. Für die Tests zur Erkennung von Schwachstellen bezieht der Scanner die notwendigen Informationen aus einem Feed, der eine lange Historie besitzt und tägliche Aktualisierungen erhält.
OpenVAS wird seit 2006 von der Firma Greenbone entwickelt. Neben den kommerziellen Produkten der Firma gibt es den Schwachstellenscanner als Open-Source-Version in der Greenbone Community Edition, mit der wir in diesem Artikel arbeiten.
Der Betrieb von OpenVAS bietet sich auf Kali-Linux oder ParrotOS an, da hier noch mehr Sicherheits-Tools zur Verfügung stehen. Allerdings ist OpenVAS auf beiden Systemen nicht vorinstalliert. Für die Einrichtung ist es sinnvoll, Kali Linux oder ParrotOS und die verwendeten Quellen auf einen aktuellen Stand zu bringen. Das geht mit:
sudo apt-get update
sudo apt upgrade -y
sudo apt dist-upgrade -y
Die Installation läuft auf einem Ubuntu-System ähnlich ab. Nach erfolgreicher Aktualisierung ist ein Neustart mit reboot sinnvoll.
Danach erfolgt die Installation von OpenVAS:
sudo apt install openvas
OpenVAS einrichten
Nach der Installation der Systemdateien von OpenVAS besteht der nächste Schritt in der Einrichtung von OpenVAS:
sudo gvm-setup
Der Befehl muss noch verschiedene Definitionen für Schwachstellen herunterladen, auf deren Basis OpenVAS die Geräte im Netzwerk nach Schwachstellen untersucht. Zu den Definitionen gehören: Notus files, NASL files, SCAP data, CRET-Bund data, gvmd data.
Wichtig ist, dass OpenVAS im Rahmen der Einrichtung das Kennwort für den Benutzernamen admin anzeigt. Falls Sie vergessen haben, es sich zu notieren, lässt es sich mit dem folgenden Befehl zurücksetzen:
sudo gvmd --user=admin --new-password=<Neues Kennwort>
oder
sudo openvasmd --user=admin --new-password=<Neues Kennwort>
Hinweis: Das neue Kennwort wird ohne die spitzen Klammern eingegeben.
Nach der Anmeldung lassen sich Nutzer und Gruppen sowie die Kennwörter der Benutzer über den Menüpunkt Administration/Users konfigurieren. Nach der Installation sollten Sie auf jeden Fall das Kennwort des ersten Admin-Nutzers ändern.
Generell sollten Sie vor dem Einsatz die Installation überprüfen:
sudo gvm-check-setup
Hier sollten keine Fehler angezeigt werden. Teilweise kommt es aber zu Fehlern bei der Integration der Schwachstellen-Feeds. Diese lassen sich teilweise durch die beiden folgenden Befehle beheben. Der Start sollte in einer Sudo-Shell erfolgen:
runuser -u _gvm -- greenbone-feed-sync --type SCAP
runuser -u _gvm -- greenbone-feed-sync --type CERT
runuser -u _gvm -- greenbone-feed-sync --type GVMD_DATA
Der folgende Befehl hilft ebenfalls bei der Aktualisierung der Feeds:
sudo greenbone-feed-sync
Nach der Ausführung der Befehle ist eine weitere Überprüfung sinnvoll.
Die Dienste von OpenVAS lassen sich wiederum mit dem folgenden Befehl starten:
sudo gvm-start
Wenn auf ParrotOS und Kali Linux aber OpenVAS aktuell nicht genutzt wird, macht es Sinn die Dienste wieder zu beenden:
sudo gvm-stop
Erste Schritte mit OpenVAS
Die Verwendung von OpenVAS erfolgt über eine Weboberfläche. Der Zugriff erfolgt über die IP-Adresse des Rechners oder mit dem Browser auf Kali/ParrotOS mit "localhost" und dem Port 9392, zum Beispiel mit https://localhost:9392. Nach der Bestätigung des Zertifikats erfolgt die Anmeldung mit dem Benutzernamen "admin" und dem Kennwort, dass bei der Einrichung verwendet wurde. Um Geräte nach Schwachstellen zu scannen, startet man über "Scans -> Tasks" den Einrichtungs-Assistenten für Tasks in OpenVAS. Durch einen Klick auf Task Wizard die Einrichtung des ersten Scans. Das kleine Icon ist auch oben links in der Weboberfläche von OpenVAS zu finden. Hierüber lässt sich der "Task Wizard" starten.
Im ersten Schritt kann es sinnvoll sein den Host selbst zu scannen, um Schwachstellen auf OpenVAS auszuschließen und sich einen Überblick zu verschaffen. Natürlich kann an dieser Stelle auch jede andere IP-Adresse eingetragen werden, die OpenVAS auf Schwachstellen untersuchen soll. Ein Scan dauert eine Weile, da hier OpenVAS das jeweilige Gerät, also in diesem Fall den lokalen OpenVAS-Host nach den Schwachstellen untersuchen muss, die in den jeweiligen Dateien hinterlegt sind.
Erweiterte Scans durchführen und Scan-Configs anpassen
Um weitere Geräte zu scannen, wählen Sie New Task. Hier erfolgt bei Scan Targets die Eingabe der IP-Adressen, die OpenVAS mit dem Scan überprüfen soll. Bei Configuration können Sie dazu verschiedene Ziele definieren, die sich anschließend über das Menü zum Erstellen von neuen Scan-Tasks bei Scan Targets auswählen lassen.
Bei Scanner erfolgt die Auswahl mit welcher Engine der Scan erfolgen soll. Hier bietet sich zu Beginn OpenVAS Default an. Bei Scan Config lässt sich auswählen, wie tiefgehend der Scan sein soll. Hier passen Sie die einzelnen Scankonfigurationen an, die beim Erstellen von neuen Scans angezeigt werden. Diese Scan-Configs verwenden die Voreinstellungen, die bei Configuration/Scan Configs für die jeweilige Konfiguration eingestellt sind. Generell kann es auch sinnvoll sein, eine eigene Scan-Config anzulegen. Diese steht anschließend im Assistenten zum Erstellen von neuen Tasks mit den Einstellungen zur Verfügung, die in den Scan-Configs definiert wurden. Beim Erstellen einer neuen Scan-Configs lassen sich vorhandene Konfigurationen als Vorlage nutzen.
Beim Anlegen einer neuen Scan-Config über Configuration/Scan Configs bietet sich Full and fast als Vorlage an, oder selbst erstellte Konfigurationen zu verwenden. Auch diese lassen sich bei Scan Configs anpassen. Bevor der Scan gestartet wird, sollte im Bereich Configuration/Scan Configs daher eine komplett neue oder angepasste Scan-Configs erstellen. Wenn Sie im Netzwerk zum Beispiel parallel mit Nmap und anderen Tools nach Schwachstellen suchen, macht es Sinn, dies in der Konfiguration des Scans zu berücksichtigen oder die Liste der Ports zu notieren, die OpenVAS bei der Auswahl einer bestimmten Konfiguration scannen soll.
Nmap und OpenVAS lassen sich dazu optimal zusammen nutzen. Wir haben die Pentesting-Möglichkeiten von Nmap in einem eigenen Beitrag behandelt. Diese Informationen lassen sich gut mit einem Scan über OpenVAS ergänzen. Es macht zum Beispiel keinen Sinn, Scanziele auf Ports und Dienste zu scannen, die nach einem ersten Scan mit Nmap ohnehin nicht offen sind. Das kann Stunden an Scanzeit einsparen und liefert am Ende ein effektiveres Ergebnis.
Scans und Schwachstellen auswerten und Schwachstellen schließen
Wenn ein neuer Scan-Task angelegt wurde, lässt sich dieser über den Bereich Actions starten. Nach dem Scanvorgang stehen die Ergebnisse beim Anklicken des Scans oder über Scans/Reports zur Verfügung. Auf diesem Weg lassen sich mit OpenVAS mehrere Scans parallel durchführen und auswerten. Für jeden Scan-Task speichert OpenVAS einen Bericht, der sich jederzeit öffnen lässt.
Hier sind alle Schwachstellen erkennbar, die auf dem System vorhanden sind und von OpenVAS identifiziert wurden. Durch einen Klick auf eine Schwachstelle zeigt OpenVAS detaillierte Ergebnisse an. Die Berichte kann man in verschiedenen Formaten herunterladen und dadurch auch außerhalb von OpenVAS auswerten oder in dort nutzen, um die Schwachstellen analysieren. Für alle Schwachstellen zeigt OpenVAS in den Details darüber hinaus auch an, wie die Lücke geschlossen werden kann. Das ist direkt in den Berichten zu sehen.