Wie man Vuls Vulnerability Scanner unter Debian 12 installiert und verwendet
Vuls ist ein agentenloser, freier und quelloffener Schwachstellenscanner für Linux und FreeBSD. Vuls ist hauptsächlich in Go geschrieben und kann überall ausgeführt werden. Du kannst Vuls in der Cloud, vor Ort und auf Docker betreiben und unterstützt die wichtigsten Distributionen. Vuls bietet hochwertige Scans, die mehrere Schwachstellen-Datenbanken wie NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA unterstützen.
Mit Vuls kannst du mehrere Betriebssysteme mit verschiedenen Methoden scannen. Du kannst die lokalen Systeme deines Hosts scannen und du kannst entfernte Hosts/Server über SSH scannen. Außerdem bietet es mehrere Scan-Methoden: einen schnellen Scan, für den keine Root-Rechte erforderlich sind, und einen Tiefenscan, für den Root-Rechte erforderlich sind. Vuls kann mehrere Zielserver auf einmal scannen. Wenn der Scan abgeschlossen ist, kannst du das Ergebnis per E-Mail und Slack verschicken.
In dieser Anleitung erfährst du, wie du Vuls Vulnerability Scanner auf dem Debian 12 Server installierst. Du installierst Vuls, richtest CVE-Datenbanken ein und scannst dann das lokale System und den entfernten Rechner mit Vuls.
Voraussetzungen
Bevor du loslegst, solltest du sicherstellen, dass du Folgendes hast:
- Einen Debian 12 Server
- Einen Nicht-Root-Benutzer mit Administrator-Rechten
- Zusätzliche Server wie RockyLinux/Ubuntu als Ziele für den Remote-Scan
Installieren von Abhängigkeiten
Bevor du Vuls installierst, musst du sicherstellen, dass die Abhängigkeiten installiert sind. In diesem Abschnitt wirst du die Pakete„debian-goodies“ und„reboot-notifier“ als Abhängigkeiten für Vuls installieren.
Führe zunächst den folgenden Befehl aus, um deinen Debian-Paketindex zu aktualisieren.
sudo apt update
Installiere nun die Pakete„debian-goodies“ und„reboot-notifier“ mit dem folgenden Befehl. Gib„Y“ ein, um die Installation zu bestätigen.
sudo apt install debian-goodies reboot-notifier
Installation von Vuls mit dem Installer-Skript
Nachdem die Abhängigkeiten installiert sind, installierst du Vuls mit dem Installer-Skript. Dieses kompiliert und installiert Vuls und zusätzliche Tools für Vuls automatisch auf deinem System.
Um Vuls zu installieren, führe den folgenden Befehl aus. Damit lädst du das Vuls-Installationsskript „install.sh“ herunter und führst es aus.
bash <( curl -s https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh )
Das Installationsskript installiert nun die neueste Version von Golang und kompiliert und installiert dann mehrere Tools für Vuls, wie z.B.„go-cti„,„go-cve-dictionary„,„goval-dictionary„,„go-exploitdb„,„go-kev„,„go-msfdb“ und„gost„.
Nachdem die Installation abgeschlossen ist, siehst du im Verzeichnis„/usr/local/bin“ eine Binärdatei für Vuls und seine Tools.
ls /usr/local/bin/
Du kannst nun die Hilfemeldung mit dem Befehl „vuls help“ überprüfen.
vuls help
Du wirst eine Ausgabe wie die folgende erhalten:
Vuls konfigurieren
Wenn Vuls installiert ist, musst du es konfigurieren, bevor du einen Computer oder Server scannen kannst. In diesem Abschnitt erstellst du ein neues Verzeichnis und Dateien für die Installation von Vuls. Du definierst CVE-Datenbanken für bestimmte SQLite-Datenbanken und erstellst die erste Scankonfiguration für localhost.
Erstelle ein neues Verzeichnis„/opt/vuls“ und wechsle in dieses Verzeichnis. Dann erstellst du mit dem Editor „nano“ eine neue Datei„config.toml„.
mkdir -p /opt/vuls; cd /opt/vuls nano config.toml
Gib die folgende Konfiguration ein, um CVE-Datenbanken mit Vuls zu integrieren. In der untersten Zeile legst du außerdem den Scan für localhost fest.
[cveDict] type = "sqlite3" SQLite3Path = "/opt/vuls/cve.sqlite3" [ovalDict] type = "sqlite3" SQLite3Path = "/opt/vuls/oval.sqlite3" [gost] type = "sqlite3" SQLite3Path = "/opt/vuls/gost.sqlite3" [metasploit] type = "sqlite3" SQLite3Path = "/opt/vuls/go-msfdb.sqlite3" [servers] [servers.localhost] host = "localhost" port = "local" scanMode = [ "fast-root" ] #scanMode = ["fast", "fast-root", "deep", "offline"]
Speichere und beende die Datei, wenn du fertig bist.
Führe abschließend den Befehl„vuls“ aus, um deine Konfiguration zu überprüfen.
vuls configtest
Wenn du richtig konfiguriert hast, siehst du die folgende Ausgabe:
CVE-Datenbanken mit Vuls erstellen
In diesem Abschnitt wirst du neue CVE-Datenbanken aus verschiedenen Quellen mit den Vuls-Tools erstellen. Du wirst CVE-Datenbanken für den Debian Security Tracker, NVD, OVAL und die Metasploit-Datenbanken erstellen.
Wechsle zunächst in das Verzeichnis„/opt/vuls„:
cd /opt/vuls
Führe nun den folgenden Befehl aus, um CVE-Datenbanken aus verschiedenen Quellen herunterzuladen und zu erstellen. In diesem Beispiel verwendest du die CVE-Datenbank aus dem Debian Security Tracker, NVD, OVAL und der Metasploit-Datenbank.
gost fetch debian --dbpath /opt/vuls/gost.sqlite3 go-cve-dictionary fetch nvd --dbpath /opt/vuls/cve.sqlite3 goval-dictionary fetch debian 12 --dbpath /opt/vuls/oval.sqlite3 go-msfdb fetch msfdb --dbpath /opt/vuls/go-msfdb.sqlite3
Nachdem der Prozess abgeschlossen ist, sind deine CVE-Datenbanken im Verzeichnis„/opt/vuls“ verfügbar. Überprüfe das Verzeichnis„/opt/vuls“ mit dem unten stehenden Befehl.
ls /opt/vuls/*.sqlite3
Scannen von localhost mit Vuls
Jetzt hast du Vuls konfiguriert und CVE-Datenbanken erstellt. Jetzt kannst du deinen Localhost oder deinen lokalen Rechner mit Vuls scannen.
Um deinen lokalen Rechner zu scannen, führe den unten stehenden Befehl„vuls“ aus.
vuls scan localhost
Nachdem der Vorgang abgeschlossen ist, siehst du das einfache Ergebnis in deinem Terminal.
Führe nun den unten stehenden Befehl„vuls tui“ aus, um den Scan-Bericht im Detail zu sehen.
vuls tui
Im Folgenden siehst du einen detaillierten Scan-Bericht für localhost.
Drücke „Strg+c“, um die Vuls Terminal-Benutzeroberfläche zu verlassen.
Scannen von Remote-Servern mit Vuls
In diesem Abschnitt wirst du den Remote-Server mit Vuls scannen. In diesem Beispiel ist der Zielserver der Rocky Linux 9 Server mit der IP-Adresse192.168.10.45 und dem Benutzerrock.
Führe zunächst den folgenden Befehl aus, um die OVAL CVE-Datenbank für RedHat 9 herunterzuladen:
goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3
Erstelle nun einen neuen öffentlichen und privaten SSH-Schlüssel und lade den öffentlichen Schlüssel auf den Zielserver hoch. In diesem Beispiel ist der Zielserver Rocky Linux 9 mit der IP-Adresse„192.168.10.45“ und dem SSH-Benutzer„rock„.
ssh-keygen -t ed25519 ssh-copy-id rock@192.168.10.45
Melde dich nun mit dem unten stehenden „ssh“-Befehl auf dem Zielserver an und installiere das Paket„lsof“ mit dem unten stehenden Befehl.
ssh rock@192.168.10.45 sudo dnf install lsof -y
Gib„exit“ ein, um dich vom Rocky Linux Server abzumelden.
Wechsle dann in das Verzeichnis „/opt/vuls“ und bearbeite die Datei„config.toml“ mit dem Editor „nano“.
cd /opt/vuls/ nano config.toml
Füge die folgende Konfiguration ein, um einen neuen Scan für das Remote-System Rocky Linux 9 Server zu erstellen. Achte außerdem darauf, dass du die Angaben zur IP-Adresse und zum Benutzer mit deinen Daten änderst.
[servers.debian-server] host = "192.168.10.45" port = "22" user = "rock" keyPath = "/root/.ssh/id_ed25519" scanMode = [ "fast-root" ] # "fast", "fast-root" or "deep"
Speichere die Datei und beende den Editor.
Mit der neuen Konfiguration kannst du nun deine Datei „config.toml“ mit dem folgenden Befehl testen.
vuls configtest
Wenn kein Fehler auftritt, überprüfe den Remote-Server mit dem unten stehenden Befehl „vuls“.
vuls scan rocky9
Führe abschließend den Befehl „vuls“ aus, um den Bericht deines Remote-Scans aufzurufen.
vuls tui
Im Folgenden siehst du einen detaillierten Bericht über den Remote-Server Rocky Linux 9.
Fazit
Herzlichen Glückwunsch! Du hast die Installation von Vuls Vulnerability Scanner auf dem Debian 12 Server abgeschlossen. Außerdem hast du gelernt, wie du mit Vuls zusätzlichen Tools CVE-Datenbanken erstellen kannst. Danach. Du hast auch gelernt, wie du lokale und entfernte Server/Maschinen mit Vuls scannen kannst.