Сканеры уязвимостей · 7 min read · Sep 16, 2025
Как установить и использовать сканер уязвимостей Vuls на Ubuntu 24.04

Vuls — это безагентный, бесплатный и с открытым исходным кодом сканер уязвимостей, который можно запускать в любом месте. Вы можете запускать Vuls в облаке, на локальных серверах и в Docker, и он поддерживает основные дистрибутивы. Vuls поддерживает несколько баз данных уязвимостей, таких как NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.
С помощью Vuls вы можете сканировать несколько операционных систем, используя несколько методов. Вы можете сканировать локальные системы вашего хоста, а также удаленные хосты/серверы через SSH. Он также предоставляет несколько методов сканирования: быстрое сканирование, которое не требует прав root, и глубокое сканирование, которое требует прав root. Vuls может сканировать несколько целевых серверов одновременно. Когда сканирование завершено, вы можете отправить результат по электронной почте и в Slack.
В этом руководстве мы покажем вам, как установить сканер уязвимостей Vuls на сервере Ubuntu 24.04. Вы установите Vuls, сгенерируете базы данных CVE и просканируете Ubuntu/Debian через локальные и удаленные сканирования.
Предварительные требования
Чтобы начать с этого руководства, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04
- Непользователь с правами root
- Дополнительная машина Ubuntu/Debian для удаленного сканирования через Vuls
Установка зависимостей
Перед установкой Vuls вы должны убедиться, что Golang установлен в вашей системе. На данный момент последняя версия Vuls требует последней версии Golang, поэтому вам нужно установить Golang вручную, загрузив бинарный пакет.
Сначала выполните команду ниже, чтобы обновить индекс пакетов Ubuntu и установить зависимости, такие как ‘sqlite3‘, ‘git‘, ‘make‘ и ‘gcc‘.
sudo apt update
sudo apt install sqlite3 git debian-goodies gcc make wget -y
После установки зависимостей вам нужно установить Golang в вашей системе. В этом примере вы будете устанавливать последнюю версию Golang через ручную бинарную установку.
Выберите вашу версию Golang с помощью следующей команды. Например, Golang 1.23.2:
export latest_version=1.23.2Запустите команду ‘wget’ ниже, чтобы загрузить Golang и извлечь его в директорию ‘/usr/local‘ с помощью команды ‘tar‘.
wget https://dl.google.com/go/go$latest_version.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go$latest_version.linux-amd64.tar.gzПосле установки Golang войдите в свою учетную запись и создайте новую директорию ‘go‘ в домашней директории.
su - arvd
mkdir $HOME/goЗатем создайте новый файл окружения ‘/etc/profile.d/go-env.sh‘ с помощью редактора ‘nano‘.
sudo nano /etc/profile.d/go-env.shВставьте следующую конфигурацию, чтобы настроить PATH для Golang.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/binСохраните и выйдите из файла, когда закончите.
Теперь сделайте файл ‘/etc/profile.d/go-env.sh‘ исполняемым и загрузите его в текущую сессию с помощью команды ‘source‘.
sudo chmod +x /etc/profile.d/go-env.sh
source /etc/profile.d/go-env.shНаконец, проверьте бинарный файл для ‘go‘ и проверьте его версию с помощью следующей команды:
which go
go versionКак вы можете видеть ниже, Golang ‘1.23.2‘ установлен в ‘/usr/local/go/bin/go‘.

Установка Vuls и словарей Vuls
После установки Golang вы будете компилировать и устанавливать Vuls и его компоненты для создания баз данных CVE в формате sqlite3. Ниже приведены некоторые компоненты Vuls, которые вы будете устанавливать:
- ‘go-cve-dictionary‘ используется для создания NVD (Национальная база данных уязвимостей)
- ‘goval-dictionary‘ для создания базы данных OVAL, которая содержит CVE для большинства дистрибутивов Linux, таких как Debian, Ubuntu и RedHat
- ‘go-exploitdb‘ для поиска эксплойтов в базах данных exploitdb
- ‘go-msfdb‘ для поиска CVE в базах данных Metasploit
- ‘go-kev‘ для создания локальной копии KEV (Известные эксплуатируемые уязвимости), предоставленной CISA
- ‘go-cti‘, который будет использоваться для создания базы данных CVE из CTI (Киберугрозы)
Сначала выполните команду ниже, чтобы создать новые каталоги журналов и изменить владельца на вашего пользователя, например, ‘arvd’.
sudo mkdir /var/log/{vuls,go-exploitdb,go-msfdb,go-kev,go-cti}
sudo chown arvd /var/log/{vuls,go-exploitdb,go-msfdb,go-kev,go-cti}
sudo chmod 700 /var/log/{vuls,go-exploitdb,go-msfdb,go-kev,go-cti}Создайте новый каталог ‘$GOPATH/src/github.com/vulsio’ с помощью следующей команды:
mkdir -p $GOPATH/src/github.com/vulsioПерейдите в каталог ‘$GOPATH/src/github.com/vulsio’, загрузите исходный код инструмента ‘go-cve-dictionary‘ через ‘git’, а затем скомпилируйте и установите его.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-cve-dictionary.git
cd go-cve-dictionary; make install
Теперь выполните команду ниже, чтобы загрузить, скомпилировать и установить инструмент ‘goval-dictionary‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/goval-dictionary.git
cd goval-dictionary; make installПосле установки ‘goval-dictionary’ перейдите к следующему инструменту для установки инструмента ‘go-exploitdb‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-exploitdb.git
cd go-exploitdb; make install
ln -s $GOPATH/src/github.com/vulsio/go-exploitdb/go-exploitdb.sqlite3 $HOME/go-exploitdb.sqlite3
Далее выполните команду ниже, чтобы установить и скомпилировать инструмент ‘go-msfdb‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-msfdb.git
cd go-msfdb; make install
После этого установите инструмент ‘go-kev‘ для создания баз данных CVE для KEV (Известные эксплуатируемые уязвимости) от CISA.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-kev.git
cd go-kev; make install
ln -s $GOPATH/src/github.com/vulsio/go-kev/go-kev.sqlite3 $HOME/go-kev.sqlite3Затем установите инструмент ‘go-cti‘, который будет использоваться для создания CVE из CTI (Киберугрозы).
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-cti.git
cd go-cti; make install
ln -s $GOPATH/src/github.com/vulsio/go-cti/go-cti.sqlite3 $HOME/go-cti.sqlite3Далее выполните команду ниже, чтобы загрузить, скомпилировать и установить ‘vuls‘ на вашу машину Ubuntu.
mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git
cd vuls; make install
Когда все будет установлено, бинарный файл для каждого инструмента будет доступен в директории ‘$GOPATH/bin’. Выполните команду ниже, чтобы проверить эту директорию.
ls $GOPATH/bin/Вы можете увидеть ниже бинарные файлы для ‘vuls‘, ‘go-cve-dictionary‘, ‘goval-dictionary‘, ‘go-exploitdb‘, ‘go-msfdb‘, ‘go-kev‘ и ‘go-cti‘.
Наконец, вы также можете проверить команду ‘vuls‘ ниже. Это покажет вам справочное сообщение для ‘vuls‘.
vuls help
Загрузка баз данных CVE (Общие уязвимости и воздействия)
В этом примере вы будете загружать базы данных CVE для:
- NVD (Национальная база данных уязвимостей) через ‘go-cve-dictionary‘
- OVAL (Язык открытых уязвимостей и оценок) для Ubuntu 24.04 через ‘goval-dictionary‘
- Базы данных ExploitDB через ‘go-exploitdb‘
- Базы данных Metasploit через ‘go-msfdb‘
- Каталог KEV (Известные эксплуатируемые уязвимости) от CISA через ‘go-kev‘
- Базы данных MITRE ATT&CK и CAPEC через ‘go-cti‘
Перейдите в свою домашнюю директорию с помощью следующей команды:
cd $HOMEТеперь выполните команду ниже, чтобы загрузить и создать базы данных CVE (Общие уязвимости и воздействия).
go-cve-dictionary fetch nvd
goval-dictionary fetch ubuntu 24.04
go-exploitdb fetch exploitdb
go-msfdb fetch msfdb
go-kev fetch kevuln
go-cti fetch threat


После завершения процесса ваши базы данных CVE будут доступны в вашей домашней директории в формате ‘.sqlite3‘. Проверьте список баз данных с помощью следующей команды:
ls -ah *.sqlite3Сканирование локальной машины с помощью Vuls
Теперь, когда вы установили Vuls и его компоненты, включая базы данных CVE. В этом разделе вы будете сканировать свою локальную машину Ubuntu с помощью Vuls.
В вашей домашней директории создайте новый файл ‘config.toml‘ с помощью редактора ‘nano‘.
nano config.tomlВставьте конфигурацию ниже, чтобы настроить сканирование для localhost в режиме ‘fast’.
[servers]
[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]Сохраните файл и выйдите из редактора.
Теперь выполните команду ‘vuls’ ниже, чтобы проверить файл ‘config.toml’.
vuls configtestЕсли у вас правильная конфигурация, вы увидите вывод, похожий на следующий:

Далее просканируйте localhost с помощью команды ‘vuls scan‘ ниже.
sudo vuls scanВы можете увидеть, что процесс сканирования завершен.

Чтобы получить детали отчета о сканировании, используйте команду ‘vuls tui‘ ниже. Это покажет вам интерфейс терминала отчета Vuls.
sudo vuls tuiВы можете нажать ‘CTRL+c‘, чтобы выйти из Vuls TUI.
Сканирование удаленного сервера с помощью Vuls
В этом разделе вы узнаете, как настроить удаленное сканирование с помощью Vuls. Вы будете сканировать удаленную систему через SSH с помощью Vuls. В этом примере вы будете сканировать целевой сервер Debian 12 с IP-адресом ‘192.168.10.10‘ и пользователем ‘alice‘.
Сначала выполните команду ниже, чтобы загрузить базу данных OVAL для Debian 12.
goval-dictionary fetch debian 12Теперь сгенерируйте SSH-ключи и загрузите их на целевой сервер с помощью команды ‘ssh-copy-id‘.
ssh-keygen -t ed25519
ssh-copy-id [email protected]
Подключитесь к целевому серверу ‘192.168.10.10’, затем обновите индекс пакетов и установите зависимости, такие как ‘debian-goodies‘ и ‘reboot-notifier‘.
ssh [email protected]
sudo apt update && sudo apt install debian-goodies reboot-notifier -yВведите ‘exit‘, чтобы выйти из целевого сервера.
Далее откройте конфигурацию Vuls ‘config.toml‘ с помощью редактора ‘nano‘.
nano ~/config.tomlВставьте конфигурацию ниже, чтобы добавить данные целевого сервера. В этом случае новый целевой сервер будет называться ‘debian12‘ с IP-адресом ‘192.168.10.10‘ и аутентификацией через SSH-ключ.
[servers.debian12]
host = "192.168.10.10"
port = "22"
user = "alice"
keyPath = "~/.ssh/id_ed25519"
scanMode = [ "fast-root" ] # "fast", "fast-root" или "deep"Сохраните файл и выйдите из редактора.
Теперь выполните команду ‘vuls‘ ниже, чтобы проверить вашу конфигурацию. Убедитесь, что у вас правильная и корректная конфигурация.
vuls configtestПосле этого просканируйте удаленный сервер ‘debian12‘ с помощью команды ниже.
vuls scan debian12Вы можете увидеть, что удаленное сканирование через Vuls завершено.

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