Vuls – это бесплатный сканер уязвимостей с открытым исходным кодом для Linux и FreeBSD. Vuls написан в основном на Go и может быть запущен где угодно. Вы можете запустить Vuls в облаке, на месте, в Docker, и поддерживает основные дистрибутивы. Vuls обеспечивает высококачественное сканирование с поддержкой множества баз данных уязвимостей, таких как NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.
С помощью Vuls вы можете сканировать несколько операционных систем, используя различные методы. Вы можете сканировать локальные системы вашего хоста, а также удаленные хосты/серверы через SSH. Vuls также предоставляет несколько методов сканирования: быстрое сканирование, не требующее прав root, и глубокое сканирование, требующее прав root. Vuls может сканировать несколько целевых серверов одновременно. По окончании сканирования вы можете отправить результат по электронной почте и в Slack.
В этом руководстве вы узнаете, как установить Vuls Vulnerability Scanner на сервер Debian 12. Вы установите Vuls, настроите базы данных CVE, а затем просканируете локальную систему и удаленную машину Vuls.
Установка зависимостей
Перед установкой Vuls необходимо убедиться, что установлены зависимости. В этом разделе вы установите ‘debian-goodies‘ и ‘reboot-notifier‘ пакеты в качестве зависимостей для Vuls.
Сначала выполните следующую команду, чтобы обновить индекс пакетов Debian.
sudo apt update
Теперь установите пакеты ‘debian-goodies‘ и ‘reboot-notifier‘ с помощью следующей команды. Введите ‘Y‘, чтобы подтвердить установку.
sudo apt install debian-goodies reboot-notifier
Установка Vuls с помощью скрипта установщика
После установки зависимостей вы будете устанавливать Vuls с помощью скрипта установщика. Он автоматически скомпилирует и установит Vuls и дополнительные инструменты для Vuls в вашу систему.
Чтобы установить Vuls, выполните следующую команду. С ее помощью вы загрузите скрипт установщика Vuls ‘install.sh’ и запустите его.
bash
Now the installer script will install the latest version of Golang, then compile and install multiple tools for Vuls, such as ‘go-cti‘, ‘go-cve-dictionary‘, ‘goval-dictionary‘, ‘go-exploitdb‘, ‘go-kev‘, ‘go-msfdb‘, and ‘gost‘.
После завершения установки проверьте ‘/usr/local/bin‘ каталог, и вы увидите бинарный файл для Vuls с его инструментами.
ls /usr/local/bin/
Теперь вы можете проверить сообщение справки с помощью команды ‘vuls help’, приведенной ниже.
vuls help
Вы получите результат, подобный следующему:
Настройка вулса
После установки Vuls вам нужно будет настроить его перед сканированием любого компьютера или сервера. В этом разделе вы создадите новую директорию и файлы для установки Vuls. Вы определите базы данных CVE для конкретных баз данных SQLite и создадите первую конфигурацию сканирования для localhost.
Создайте новую директорию ‘/opt/vuls‘ и перейдите в него. Затем создайте новый файл ‘config.toml‘ с помощью редактора ‘nano’.
mkdir -p /opt/vuls; cd /opt/vuls nano config.toml
Введите следующую конфигурацию для интеграции баз данных CVE с Vuls. Также в нижней строке вы определяете сканирование для localhost.
[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”]
Сохраните и выйдите из файла после завершения.
Наконец, запустите команду ‘vuls‘ команду ниже, чтобы проверить конфигурацию.
vuls configtest
Если конфигурация выполнена правильно, вы увидите следующий результат:
Создание баз данных CVE с помощью Vuls
В этом разделе вы будете создавать новые базы данных CVE из различных источников с помощью инструментов Vuls. Вы создадите базы данных CVE для трекера безопасности Debian, баз данных NVD, OVAL и Metasploit.
Сначала перейдите к разделу ‘/opt/vuls‘ директория:
cd /opt/vuls
Теперь выполните приведенную ниже команду, чтобы загрузить и собрать базы данных CVE из нескольких источников. В этом примере вы будете использовать базы данных CVE из трекера безопасности Debian, NVD, OVAL и базы данных Metasploit.
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
После завершения процесса ваши базы данных CVE будут доступны в ‘/opt/vuls‘ каталог. Проверьте каталог ‘/opt/vuls‘ каталог с помощью следующей команды.
ls /opt/vuls/*.sqlite3
Сканирование localhost с помощью Vuls
На данном этапе вы настроили Vuls и создали базы данных CVE. Теперь вы готовы к сканированию localhost или локальной машины с помощью Vuls.
Чтобы просканировать локальную машину, запустите команду ‘vuls‘ команда ниже.
vuls scan localhost
После завершения процесса вы увидите в терминале результат simple.
Теперь запустите команду ‘vuls tui‘ команда ниже, чтобы просмотреть отчет о сканировании в деталях.
vuls tui
Ниже показан подробный отчет о сканировании для localhost.
Нажмите ‘Ctrl+c’, чтобы выйти из интерфейса пользователя терминала Vuls.
Сканирование удаленного сервера с помощью Vuls
В этом разделе вы будете сканировать удаленный сервер с помощью Vuls. В данном примере целевым сервером будет сервер Rocky Linux 9 с IP-адресом ‘192.168.10.45‘ и пользователь ‘рок‘.
Сначала выполните приведенную ниже команду для загрузки базы данных OVAL CVE для RedHat 9, используя следующее:
goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3
Теперь сгенерируйте новый открытый и закрытый ключ SSH, а затем загрузите открытый ключ на целевой сервер. В этом примере целевым сервером является Rocky Linux 9 с IP-адресом ‘192.168.10.45‘ и пользователя SSH ‘качать‘.
ssh-keygen -t ed25519 ssh-copy-id [email protected]
Теперь войдите на целевой сервер с помощью команды ‘ssh’ ниже и установите ‘lsof‘ пакет с помощью следующей команды.
ssh [email protected] sudo dnf install lsof -y
Введите ‘выход‘, чтобы выйти из сервера Rocky Linux.
Далее перейдите в раздел ‘/opt/vuls’ и отредактируйте каталог ‘config.toml‘ файл с помощью редактора ‘nano’.
cd /opt/vuls/ nano config.toml
Вставьте следующую конфигурацию, чтобы создать новое сканирование для удаленной системы Rocky Linux 9 server. Также не забудьте изменить IP-адрес и пользователя на свои данные.
[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"
Сохраните файл и выйдите из редактора.
С новой конфигурацией вы можете протестировать ваш ‘config.toml’ файл с помощью приведенной ниже команды.
vuls configtest
Если ошибок нет, просканируйте удаленный сервер с помощью программы ‘vuls’ команда ниже.
vuls scan rocky9
Наконец, выполните команду ‘vuls’ выполните команду ниже, чтобы получить отчет об удаленном сканировании.
vuls tui
Ниже показан подробный отчет об удаленном сервере Rocky Linux 9.
Заключение
Поздравляем! Вы завершили установку сканера уязвимостей Vuls на сервер Debian 12. Вы также узнали, как создавать базы данных CVE с помощью дополнительных инструментов Vuls. После этого. Вы также узнали, как сканировать локальные и удаленные серверы/машины с помощью Vuls.