Shutterstock 1144040330

Escaner de Vulnerabilidades Vuls


Josemoreno 300x180
José Moreno

Al igual que en otras situaciones, luego de una conferencia de la comunidad DragonJar “Cómo ser del equipo azul, cuando la billetera está en rojo”, durante el OWASP Panamá 2019, me dio la curiosidad de probar Vuls.

 

Vuls es open-source, sin un agente para escanear vulnerabilidades escrito en GO, Permite automatizar la fase analisis de vulnerabilidades de las aplicaciones instaladas en el sistema operativo, es decir es una alternativa a Nessus o  OpenVAS.

 

Esta herramienta cuenta con varias bases de vulnerabilidades como NVD (National Vulnerability Databses). Adicionalmente y la parte que me llama la atención es la generación de reportes indicando la falla y la corrección de las mismas, teniendo la opción de enviar los reportes via email o slack.

 

Requerimientos

  • Servidor con 2GB de RAM con ubuntu server 18.04, dos cuentas de usuarios el root y otro adicional.
  • Recomiendo usar el vps Vultr.com

 

Paso1: Instalación de Dependencias

 

Debemos crear un directorio para almacenar los datos relacionados a Vuls en la ruta /usr/share/vuls-data

 

# mkdir /usr/share/vuls-data

 

 

Vamos a darles permisos al usuario prueba al directorio creado anteriormente

 

# chown -R prueba /usr/share/vuls-data

 

 

Repositorios que necesitaremos en el Sistema install git, gcc, make, sqlite, debian-goodies, and wget.

 

# apt update

 

# apt install git gcc make sqlite debian-goodies wget -y

 

 

Necesitamos instalar Go y usaremos Snap

 

# snap install go --classic

 

Configuramos las variables de entorno para que funcione Go, para ello debemos crear el fichero

 

# touch /etc/profile.d/go-env.sh

 

 

Añadimos lo siguiente al fichero

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

 

Dentro del archivo pegamos la siguiente información

export GOPATH=$HOME/go

export PATH=$PATH:$GOPATH/bin:/snap/bin

 

Comprobamos que el archivo se guardara correctamente

 

Vamos hacer el archive ejecutable

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

 

Procedemos a recargar las variables de entorno

# source /etc/profile.d/go-env.sh

 

 

Paso2: Instalación y ejecución de go-cve-dictionary

Este paque descarga la base de datos NVD.

 

Crearemos un directorio para almacenar los datos de la BD

# mkdir -p $GOPATH/src/github.com/kotakanbe

 

Vamos a desplazarnos al directorio creado

# cd $GOPATH/src/github.com/kotakanbe

 

Descargamos el repositorio de nvd

# git clone https://github.com/kotakanbe/go-cve-dictionary.git

 

Dentro de la ruta accedemos a la siguiente ruta

# cd $GOPATH/src/github.com/kotakanbe/go-cve-dictionary

Listamos los contenidos dentro de go-cve-dictionary