Segurança · 8 min read · Sep 16, 2025

Como Instalar e Usar o Scanner de Vulnerabilidades Vuls no Ubuntu 24.04

Vuls é um scanner de vulnerabilidades sem agente, gratuito e de código aberto que pode ser executado em qualquer lugar. Você pode executar o Vuls na nuvem, em servidores locais e no Docker, e ele suporta as principais distribuições. O Vuls suporta múltiplos bancos de dados de vulnerabilidades, como NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.

Com o Vuls, você pode escanear múltiplos sistemas operacionais usando múltiplos métodos. Você pode escanear os locais do seu host e pode escanear hosts/servidores remotos via SSH. Ele também fornece múltiplos métodos de escaneamento, um escaneamento rápido que não requer privilégios de root e um escaneamento profundo que requer privilégios de root. O Vuls pode escanear múltiplos servidores-alvo ao mesmo tempo. Quando o escaneamento é concluído, você pode enviar o resultado por Email e Slack.

Neste guia, vamos mostrar como instalar o Scanner de Vulnerabilidades Vuls no servidor Ubuntu 24.04. Você instalará o Vuls, gerará bancos de dados CVE e escaneará Ubuntu/Debian via escaneamentos locais e remotos.

Pré-requisitos

Para começar com este guia, certifique-se de ter o seguinte:

  • Um servidor Ubuntu 24.04
  • Um usuário não-root com privilégios de root
  • Uma máquina Ubuntu/Debian adicional para escaneamento remoto via Vuls

Instalando dependências

Antes de instalar o Vuls, você deve garantir que o Golang esteja instalado em seu sistema. Até agora, a versão mais recente do Vuls requer o Golang mais recente, então você precisa instalar o Golang manualmente baixando o pacote binário.

Primeiro, execute o comando abaixo para atualizar o índice de pacotes do Ubuntu e instalar dependências como ‘sqlite3‘, ‘git‘, ‘make‘ e ‘gcc‘.

sudo apt update  
sudo apt install sqlite3 git debian-goodies gcc make wget -y

atualizar repositório e instalar deps

Após a instalação das dependências, você precisa instalar o Golang em seu sistema. Neste exemplo, você instalará a versão mais recente do Golang através da instalação binária manual.

Selecione sua versão do Golang com o seguinte. Por exemplo, Golang 1.23.2:

export latest_version=1.23.2

Execute o comando ‘wget’ abaixo para baixar o Golang e extraí-lo para o diretório ‘/usr/local‘ com o comando ‘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

Uma vez que o Golang está instalado, faça login no seu usuário e crie um novo diretório ‘go‘ dentro do diretório home.

su - arvd  
mkdir $HOME/go

Em seguida, crie um novo arquivo de ambiente ‘/etc/profile.d/go-env.sh‘ com o editor ‘nano‘.

sudo nano /etc/profile.d/go-env.sh

Cole a seguinte configuração para configurar PATH para o Golang.

export GOROOT=/usr/local/go  
export GOPATH=$HOME/go  
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Salve e saia do arquivo quando terminar.

Agora torne o ‘/etc/profile.d/go-env.sh‘ executável e carregue-o na sua sessão atual com o comando ‘source‘.

sudo chmod +x /etc/profile.d/go-env.sh  
source /etc/profile.d/go-env.sh

Por último, verifique o arquivo binário para ‘go‘ e verifique sua versão com o seguinte:

which go  
go version

Como você pode ver abaixo, o Golang ‘1.23.2‘ está instalado em ‘/usr/local/go/bin/go‘.

configurar e instalar Golang

Instalando Vuls e dicionários Vuls

Após a instalação do Golang, você estará compilando e instalando o Vuls e seus componentes para construir bancos de dados CVE no formato sqlite3. Abaixo estão alguns componentes do Vuls que você estará instalando:

  • go-cve-dictionary‘ é usado para construir o NVD (Banco Nacional de Vulnerabilidades)
  • goval-dictionary‘ para construir o banco de dados OVAL que contém CVEs para a maioria das distribuições Linux, como Debian, Ubuntu e RedHat
  • go-exploitdb‘ para pesquisar exploits nos bancos de dados exploitdb
  • go-msfdb‘ para pesquisar CVEs dentro dos bancos de dados Metasploit
  • go-kev‘ para construir uma cópia local do KEV (Vulnerabilidades Conhecidas Exploradas) fornecida pela CISA
  • go-cti‘ que será usado para construir o banco de dados CVE do CTI (Inteligência de Ameaças Cibernéticas)

Primeiro, execute o comando abaixo para criar novos diretórios de log e mudar a propriedade para seu usuário, como ‘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}

Crie um novo diretório ‘$GOPATH/src/github.com/vulsio’ com o seguinte:

mkdir -p $GOPATH/src/github.com/vulsio

Mova para o diretório ‘$GOPATH/src/github.com/vulsio’, baixe o código-fonte da ferramenta ‘go-cve-dictionary‘ via ‘git’ e, em seguida, compile e instale-a.

cd $GOPATH/src/github.com/vulsio  
git clone https://github.com/vulsio/go-cve-dictionary.git  
cd go-cve-dictionary; make install

dicionário cve

Agora execute o comando abaixo para baixar, compilar e instalar a ferramenta ‘goval-dictionary‘.

cd $GOPATH/src/github.com/vulsio  
git clone https://github.com/vulsio/goval-dictionary.git  
cd goval-dictionary; make install

Após a instalação do ‘goval-dictionary’, passe para a próxima ferramenta para instalar a ferramenta ‘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-exploitdb

Em seguida, execute o comando abaixo para instalar e compilar a ferramenta ‘go-msfdb‘.

cd $GOPATH/src/github.com/vulsio  
git clone https://github.com/vulsio/go-msfdb.git  
cd go-msfdb; make install

go-msfdb

Depois disso, instale a ferramenta ‘go-kev‘ para construir bancos de dados CVE para KEV (Vulnerabilidades Conhecidas Exploradas) pela 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

E então instale a ferramenta ‘go-cti‘ que será usada para construir CVEs do CTI (Inteligência de Ameaças Cibernéticas).

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

Em seguida, execute o comando abaixo para baixar, compilar e instalar ‘vuls‘ em sua máquina 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

instalar vuls

Quando tudo estiver instalado, o arquivo binário para cada ferramenta estará disponível no diretório ‘$GOPATH/bin’. Execute o comando abaixo para verificar esse diretório.

ls $GOPATH/bin/

Você pode ver abaixo o arquivo binário para ‘vuls‘, ‘go-cve-dictionary‘, ‘goval-dictionary‘, ‘go-exploitdb‘, ‘go-msfdb‘, ‘go-kev‘ e ‘go-cti‘.

Por último, você também pode verificar o comando ‘vuls‘ abaixo. Isso mostrará a mensagem de ajuda para ‘vuls‘.

vuls help

verificar vuls

Baixando bancos de dados de CVEs (Vulnerabilidades e Exposições Comuns)

Neste exemplo, você estará baixando bancos de dados CVE para:

  • NVD (Banco Nacional de Vulnerabilidades) via ‘go-cve-dictionary
  • OVAL (Linguagem de Avaliação e Vulnerabilidade Abertas) para Ubuntu 24.04 via ‘goval-dictionary
  • Bancos de dados ExploitDB via ‘go-exploitdb
  • Bancos de dados Metasploit via ‘go-msfdb
  • Catálogo KEV (Vulnerabilidades Conhecidas Exploradas) pela CISA via ‘go-kev
  • Bancos de dados MITRE ATT&CK e CAPEC via ‘go-cti

Vá para o seu diretório home com o seguinte:

cd $HOME

Agora execute o comando abaixo para baixar e construir bancos de dados CVE (Vulnerabilidades e Exposições Comuns).

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

baixar banco de dados nvd

baixar banco de dados oval

baixar msfdb

Após o processo ser concluído, seus bancos de dados CVE estarão disponíveis em seu diretório home com o formato ‘.sqlite3‘. Verifique a lista de bancos de dados com o seguinte:

ls -ah *.sqlite3

Escaneando a máquina local com Vuls

Agora que você instalou o Vuls e seus componentes, incluindo os bancos de dados CVEs. Nesta seção, você escaneará sua máquina local Ubuntu com o Vuls.

Dentro do seu diretório home, crie um novo arquivo ‘config.toml‘ com o editor ‘nano‘.

nano config.toml

Insira a configuração abaixo para configurar o escaneamento para localhost com o modo ‘rápido’.

[servers]  
  
[servers.localhost]  
  host = "localhost"  
  port = "local"  
  scanMode = [ "fast" ]  
  #scanMode = ["fast", "fast-root", "deep", "offline"]

Salve o arquivo e saia do editor.

Agora execute o comando ‘vuls’ abaixo para verificar o arquivo ‘config.toml’.

vuls configtest

Se você tiver uma configuração adequada, verá uma saída como a seguinte:

verificar configuração

Em seguida, escaneie localhost com o comando ‘vuls scan‘ abaixo.

sudo vuls scan

Você pode ver abaixo que o processo de escaneamento está completo.

escanear localhost com vuls

Para obter detalhes do relatório de escaneamento, use o comando ‘vuls tui‘ abaixo. Isso mostrará a interface do usuário do terminal do relatório Vuls.

sudo vuls tui

Você pode pressionar ‘CTRL+c‘ para sair da TUI do Vuls.

Escaneando servidor remoto com Vuls

Nesta seção, você aprenderá como configurar um escaneamento remoto com o Vuls. Assim, você estará escaneando o sistema remoto através do SSH com o Vuls. Neste exemplo, você escaneará o servidor-alvo Debian 12 com o endereço IP ‘192.168.10.10‘ e o usuário é ‘alice‘.

Primeiro, execute o comando abaixo para baixar o banco de dados OVAL para Debian 12.

goval-dictionary fetch debian 12

Agora gere chaves públicas e privadas SSH e, em seguida, faça o upload para o servidor-alvo com o comando ‘ssh-copy-id‘.

ssh-keygen -t ed25519  
ssh-copy-id [email protected]

copiar chave ssh

Conecte-se ao servidor-alvo ‘192.168.10.10’ e, em seguida, atualize o índice de pacotes e instale dependências como ‘debian-goodies‘ e ‘reboot-notifier‘.

ssh [email protected]  
sudo apt update && sudo apt install debian-goodies reboot-notifier -y

Digite ‘exit‘ para sair do servidor-alvo.

Em seguida, abra a configuração do Vuls ‘config.toml‘ usando o editor ‘nano‘.

nano ~/config.toml

Insira a configuração abaixo para adicionar os detalhes do servidor-alvo. Neste caso, o novo servidor-alvo será nomeado ‘debian12‘ com o endereço IP ‘192.168.10.10‘ e a autenticação via chave SSH.

[servers.debian12]  
host = "192.168.10.10"  
port = "22"  
user = "alice"  
keyPath = "~/.ssh/id_ed25519"  
scanMode = [ "fast-root" ] # "fast", "fast-root" ou "deep"

Salve o arquivo e saia do editor.

Agora execute o comando ‘vuls‘ abaixo para verificar sua configuração. Certifique-se de que você tenha a configuração correta e adequada.

vuls configtest

Depois disso, escaneie o servidor remoto ‘debian12‘ com o comando abaixo.

vuls scan debian12

Você pode ver abaixo que o escaneamento remoto via Vuls está completo.

escanear servidor remoto com vuls

Conclusão

Parabéns! Você completou a instalação do Scanner de Vulnerabilidades Vuls no servidor Ubuntu 24.04. Você também aprendeu como gerar bancos de dados CVE com o Vuls, escanear servidores locais e remotos com o Vuls. A partir daqui, você pode agora integrar o Vuls com outro scanner, como o NMAP para escaneamento de portas, ou você também pode instalar o Vulsrepo para a interface gráfica e baseada na web.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.