Сканеры уязвимостей · 5 min read · Sep 15, 2025
Как установить и использовать сканер уязвимостей Vuls на Debian 12

Vuls — это безагентный, бесплатный и с открытым исходным кодом сканер уязвимостей для Linux и FreeBSD. Vuls в основном написан на Go и может работать где угодно. Вы можете запускать Vuls в облаке, на локальных серверах и в Docker, и он поддерживает основные дистрибутивы. Vuls предоставляет качественное сканирование, которое поддерживает несколько баз данных уязвимостей, таких как NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.
С помощью Vuls вы можете сканировать несколько операционных систем, используя несколько методов. Вы можете сканировать локальные системы вашего хоста, а также удаленные хосты/сервера через SSH. Он также предоставляет несколько методов сканирования: быстрое сканирование, которое не требует прав root, и глубокое сканирование, которое требует прав root. Vuls может сканировать несколько целевых серверов одновременно. Когда сканирование завершено, вы можете отправить результат по электронной почте и в Slack.
В этом руководстве вы узнаете, как установить сканер уязвимостей Vuls на сервере Debian 12. Вы установите Vuls, настроите базы данных CVE, а затем просканируете локальную систему и удаленную машину с помощью Vuls.
Предварительные требования
Перед тем как начать, убедитесь, что у вас есть следующее:
- Сервер Debian 12
- Пользователь без прав root с правами администратора
- Дополнительные серверы, такие как RockyLinux/Ubuntu, в качестве целей для удаленного сканирования
Установка зависимостей
Перед установкой 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 <( curl -s https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh )
Теперь скрипт установки установит последнюю версию Golang, затем скомпилирует и установит несколько инструментов для Vuls, таких как ‘ go-cti ‘, ‘ go-cve-dictionary ‘, ‘ goval-dictionary ‘, ‘ go-exploitdb ‘, ‘ go-kev ‘, ‘ go-msfdb ‘, и ‘ gost ‘.



После завершения установки проверьте директорию ‘ /usr/local/bin ‘, и вы увидите бинарный файл для Vuls с его инструментами.
ls /usr/local/bin/Теперь вы можете проверить сообщение справки с помощью команды ‘vuls help’ ниже.
vuls helpВы получите вывод, похожий на следующий:

Настройка Vuls
С установленным 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После завершения процесса вы увидите простой результат в вашем терминале.
Теперь выполните команду ‘ vuls tui ‘ ниже, чтобы просмотреть отчет о сканировании в деталях.
vuls tuiВ следующем вы можете увидеть подробный отчет о сканировании для localhost.

Нажмите ‘Ctrl+c’, чтобы выйти из интерфейса терминала Vuls.
Сканирование удаленного сервера с помощью Vuls
В этом разделе вы будете сканировать удаленный сервер с помощью Vuls. В этом примере целевым сервером будет сервер Rocky Linux 9 с IP-адресом ‘ 192.168.10.45 ‘ и пользователем ‘ rock ‘.
Сначала выполните команду ниже, чтобы загрузить базу данных OVAL CVE для RedHat 9:
goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3
Теперь создайте новые SSH-ключи и загрузите открытый ключ на целевой сервер. В этом примере целевой сервер — это Rocky Linux 9 с IP-адресом ‘ 192.168.10.45 ‘ и SSH-пользователем ‘ rock ‘.
ssh-keygen -t ed25519
ssh-copy-id [email protected]Теперь войдите на целевой сервер с помощью команды ‘ssh’ ниже и установите пакет ‘ lsof ‘ с помощью следующей команды.
ssh [email protected]
sudo dnf install lsof -yВведите ‘ exit ‘, чтобы выйти из сервера Rocky Linux.
Далее перейдите в директорию ‘/opt/vuls’ и отредактируйте файл ‘ config.toml ‘ с помощью редактора ‘nano’.
cd /opt/vuls/
nano config.tomlВставьте следующую конфигурацию, чтобы создать новое сканирование для удаленной системы сервера Rocky Linux 9. Также убедитесь, что вы изменили детали IP-адреса и пользователя на ваши данные.
[servers.debian-server]
host = "192.168.10.45"
port = "22"
user = "rock"
keyPath = "/root/.ssh/id_ed25519"
scanMode = [ "fast-root" ] # "fast", "fast-root" или "deep"Сохраните файл и выйдите из редактора.
С новой конфигурацией вы теперь можете протестировать ваш файл ‘config.toml’ с помощью команды ниже.
vuls configtest
Если ошибок нет, просканируйте удаленный сервер с помощью команды ‘vuls’ ниже.
vuls scan rocky9Наконец, выполните команду ‘vuls’ ниже, чтобы получить отчет о вашем удаленном сканировании.
vuls tuiВ следующем вы можете увидеть подробный отчет о удаленном сервере Rocky Linux 9.

Заключение
Поздравляем! Вы завершили установку сканера уязвимостей Vuls на сервере Debian 12. Вы также узнали, как создавать базы данных CVE с помощью дополнительных инструментов Vuls. После этого вы также узнали, как сканировать локальные и удаленные серверы/машины с помощью Vuls.
Get new posts in your inbox
No spam. Unsubscribe anytime.