Vuls: Un scaner gratuit de vulnerabilități cu sursă deschisă pentru Linux
Articol tradus: https://thenewstack.io/vuls-a-free-open-source-vulnerability-scanner-for-linux/
Dacă trebuie să scanați mașinile din rețea pentru vulnerabilități și sunteți în căutarea uneia dintre cele mai simple opțiuni disponibile, Vuls este o modalitate excelentă de a merge.
Vuls vă permite să scanați mai multe sisteme de operare folosind mai multe metode, cum ar fi o scanare rapidă și o scanare profundă. Unul dintre lucrurile frumoase despre Vuls este că nu are agenți, așa că nu trebuie să vă faceți griji cu privire la instalarea agenților pe fiecare mașină pe care trebuie să o scanați. Vuls folosește mai multe baze de date cu vulnerabilități, cum ar fi NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA și Changelog - astfel încât să puteți fi sigur că dacă există o vulnerabilitate, Vuls o va prinde.
Cu Vuls, puteți face atât scanarea locală, cât și la distanță. Toată scanarea de la distanță se face prin SSH, așa că orice țintă va trebui să accepte conexiuni SSH de intrare pentru ca aceasta să funcționeze.
Permiteți-mi să vă ghidez prin procesul de instalare a Vuls. Voi demonstra pe o instanță a Ubuntu Server 22.04 . Voi demonstra două metode diferite de instalare a Vuls.
De ce vei avea nevoie
Pentru ca Vuls să funcționeze, veți avea nevoie de o instanță Linux care rulează și de un utilizator cu privilegii sudo . După cum am menționat mai devreme, voi demonstra acest lucru pe o instanță a Ubuntu Server 22.04. Ambele metode de instalare vor funcționa.
Cea mai bună metodă de instalare
Această metodă durează ceva mai mult, dar vă va oferi cea mai actualizată versiune a Vuls.
Primul lucru pe care veți dori să-l faceți este să executați o actualizare/upgrade a sistemului dumneavoastră. Amintiți-vă, dacă nucleul este actualizat, va trebui să reporniți, astfel încât modificările să aibă efect, ceea ce înseamnă că veți dori să faceți acest lucru într-un moment în care este posibilă o repornire.
Rulați actualizarea și actualizați cu comanda:
1 | sudo apt-get update && sudo apt-get upgrade -y |
Când se termină, instalați dependențele necesare cu:
1 | sudo apt-get install debian-goodies reboot-notifier -y |
Când comanda de mai sus este finalizată, descărcați scriptul de instalare cu:
1 | wget https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh |
Oferiți scriptului de instalare permisiuni executabile cu:
1 | chmod u+x install.sh |
Rulați programul de instalare cu:
1 | sudo ./install.sh |
Vi se va solicita să acceptați instalarea. Când se întâmplă acest lucru, tastați „y” și apăsați Enter pe tastatură. Instalarea va dura aproximativ 2 până la 5 minute.
Când instalarea se termină, verificați dacă a avut succes cu comanda:
1 | vuls help |
Ar trebui să vi se prezinte conținutul fișierului de ajutor.
O metodă de instalare mai ușoară
După cum am menționat mai devreme, această metodă de instalare nu va instala cea mai actualizată versiune de Vuls, dar cu siguranță este mai ușoară deoarece există o versiune de Vuls găsită în depozitul standard. Pentru a rula această instalare, reveniți la fereastra terminalului și lansați comanda:
1 | sudo apt-get install vuls -y |
Permiteți finalizarea instalării și sunteți gata să mergeți mai departe.
Configurarea Vuls
Primul lucru pe care doriți să-l faceți este să creați un director nou pentru Vuls cu comanda:
1 | sudo mkdir /opt/vuls |
Schimbați în acel director cu următoarele:
1 | cd /opt/vuls |
Creați fișierul de configurare cu:
1 | sudo nano config.toml |
Lipiți următoarele în noul fișier:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [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"] |
Rulați testul de configurare cu:
1 | sudo vuls configtest |
Dacă configurația este bună, veți vedea ceva de genul acesta în rezultat:
1 2 3 4 5 | [Nov 13 17:48:14] INFO [localhost] It can be scanned with fast scan mode even if warn or err messages are displayed due to lack of dependent packages or sudo settings in fast-root or deep scan mode [Nov 13 17:48:14] INFO [localhost] Scannable servers are below... localhost |
Crearea unei baze de date CVE
Acum, trebuie să creăm o bază de date CVE. Asigurați-vă că vă aflați în directorul /opt/vuls și apoi executați următoarele comenzi:
1 2 3 4 | sudo gost fetch debian --dbpath /opt/vuls/gost.sqlite3 sudo go-cve-dictionary fetch nvd --dbpath /opt/vuls/cve.sqlite3 sudo goval-dictionary fetch debian 12 --dbpath /opt/vuls/oval.sqlite3 sudo go-msfdb fetch msfdb --dbpath /opt/vuls/go-msfdb.sqlite3 |
Acum ar trebui să vedeți mai multe fișiere cu extensia .sqlite3.
Executați prima scanare
Să rulăm o scanare a vulnerabilităților pe localhost cu comanda:
1 | sudo vuls scan localhost |
După finalizarea scanării, puteți vizualiza rezultatele cu comanda:
1 | sudo vuls tui |
Veți vedea o fereastră cu mai multe panouri care afișează toate vulnerabilitățile descoperite.
Scanarea distribuțiilor specifice
Să presupunem că aveți un server RHEL 9 la adresa IP 192.168.1.100 și doriți să îl scanați cu Vuls. Pentru a face asta, mai întâi trebuie să descărcați baza de date OVAL CVE specifică RHEL 9 cu comanda:
1 | sudo goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3 |
Deoarece Vuls folosește SSH și depinde de autentificarea cheii SSH, va trebui să generați apoi o cheie SSH cu:
1 | ssh-keygen |
Copiați cheia pe server cu:
1 | ssh-copy-id USERNAME@192.168.1.100 |
Înlocuiți textul USERNAME de mai sus cu un nume de utilizator pe serverul de la distanță.
Apoi trebuie să edităm fișierul de configurare Vuls, așa că îl deschidem cu:
1 | sudo nano /opt/vuls/config.toml |
În partea de jos a fișierului, adăugați următoarele:
1 2 3 4 5 6 | [servers.rhel] host = "192.168.10.100" port = "22" user = "USERNAME" keyPath = "/home/USERNAME/.ssh/id_rsa" scanMode = [ "fast-root" ] # "fast", "fast-root" or "deep" |
Asigurați-vă că înlocuiți adresa IP cu adresa IP a serverului dvs. la distanță și NUME DE UTILIZATOR cu numele de utilizator real de pe mașina la distanță.
Salvați și închideți fișierul.
Încă o dată, rulați testul de configurare cu:
1 | sudo vuls configtest |
Nu ar trebui să vedeți erori.
Pentru a rula scanarea de la distanță, lansați această comandă în directorul /opt/vuls :
1 | sudo vuls scan rhel |
Când scanarea se termină, vizualizați rezultatele utilizând sudo vuls tui
comanda.
Și asta este tot ce trebuie să instalezi scanerul de vulnerabilități Vuls pe Ubuntu Server 22.04. Încercați acest instrument și vedeți dacă nu vă ajută să descoperiți vulnerabilități pe mașinile conectate la LAN.
Comentarii
Trimiteți un comentariu