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
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.2Execute 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.gzUma 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/goEm seguida, crie um novo arquivo de ambiente ‘/etc/profile.d/go-env.sh‘ com o editor ‘nano‘.
sudo nano /etc/profile.d/go-env.shCole 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/binSalve 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.shPor último, verifique o arquivo binário para ‘go‘ e verifique sua versão com o seguinte:
which go
go versionComo você pode ver abaixo, o Golang ‘1.23.2‘ está instalado em ‘/usr/local/go/bin/go‘.

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/vulsioMova 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
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 installApó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
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
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.sqlite3E 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.sqlite3Em 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
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
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 $HOMEAgora 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


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 *.sqlite3Escaneando 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.tomlInsira 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 configtestSe você tiver uma configuração adequada, verá uma saída como a seguinte:

Em seguida, escaneie localhost com o comando ‘vuls scan‘ abaixo.
sudo vuls scanVocê pode ver abaixo que o processo de escaneamento está completo.

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 tuiVocê 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 12Agora 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]
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 -yDigite ‘exit‘ para sair do servidor-alvo.
Em seguida, abra a configuração do Vuls ‘config.toml‘ usando o editor ‘nano‘.
nano ~/config.tomlInsira 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 configtestDepois disso, escaneie o servidor remoto ‘debian12‘ com o comando abaixo.
vuls scan debian12Você pode ver abaixo que o escaneamento remoto via Vuls está completo.

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.