Scanner de vulnerabilidades con GVM 20|21 (OpenVAS)

INDEX

1. Introduccion a GVM.
2. Implementacion de un servidor GVM para scan de vulnerabilidades.
  2.1. Pasos de post-intalacion.
  2.2. Creacion del primer scan.

1. Introduccion a GVM

Greenbone Vulnerability Management (GVM)

GVM es un framework originalmente construido como un proyecto comunitario, denominado OpenVAS y es principalmente desarrollado y dirigido por Greenbone Networks. Consiste en Greenbone Vulnerability Manager Daemon (gvmd), Greenbone Security Assistant (GSA) con el Greenbone Security Assistant Daemon (gsad) y la aplicacion de escaneo ejecutable, que corre las pruebas de vulnerabilidad (Vulnerability Tests VT), contra los sistemas que son objeto de las pruebas.

Greenbone Vulnerability Manager Daemon (gvmd)

Es el servicio central que consolida el escaneo simple de vulnerabilidades en una solucion completa de administracion de vulnerabilidad. El gvmd controla el escaner OpenVAS a traves del Open Scanner Protocol (OSP).

GVDM controla una base de datos PostgreSQL, donde todas las configuraciones y resultados de escaneos son almacenados de forma centralizada. Ademas, gvmd maneja la administracion de usuarios incluyendo los permisos de control con grupos y roles.

Greenbone Security Assistant (GSA)

GSA es la interfaz web de GVM con la que el usuario interactua con la solucion de escaneo de vulnerabilidades. Es el punto de contacto principal para el usuario con el GVM. Se conecta al gvmd a través del servidor web Greenbone Security Assistant Daemon (gsad) para proveer una aplicacion web completa, para la administracion de vulnerabilidades.

OpenVAS Scanner

El pricipal escaner, OpenVAS Scanner, es un motor de escaneo con todas las funciones que ejecuta pruebas de vulnerabilidad (VTs) contra sistemas de destino. Para esto, usa las diariamente actualizadas bases, comercial Greenbone Security Feed (GSF) o libre Greenbone Community Feed (GCF).

El escaner OpenVAS es controlado via Open Scanner Protocol (OSP). El demonio OSP del escaner OpenVAS (ospd-openvas) se comunica con el gvmd a traves del OSP (los datos de VT son coleccionados), los escaneos son iniciados y detenidos y los resultados son transferidos al gvmd a traves del ospd).

OSP Scanner

Los usuarios pueden desarrollar y conectar sus propios escaners OSP, usando el framework generico ospd scanner.

Clientes GMP

El Greenbone Vulnerability Management Tools (gvm-tools) es una coleccion de herramientas que ayuda con el control remoto de un dispositivo Greenbone Security Manager (GSM) y su gvmd subyacente. Las herramientas ayudan en el acceso de los protocolos de comunicacion Greenbone Management Protocol (GMP) y OSP.

2. Implementacion de un servidor GVM para scan de vulnerabilidades

Las caracteristicas de la VM utilizada, fueron las siguientes:

  • OS: Ubuntu 20.04
  • CPU: 8 vCPUs
  • RAM: 4 GB
  • DISK: 15 GB

Descargar el script de instalacion de GVM:

wget https://raw.githubusercontent.com/yu210148/gvm_install/master/install_gvm.sh && \
chmod +x install_gvm.sh && \
./install_gvm.sh --help

El script ofrece las siguientes opciones:

options:
-v | --version -- supported versions are 20|21
-a | --api -- Install and configure gsa api
-u | --ufw -- enable ufw and open ports 22,443
-h | --help -- displays this

examples:
./install_gvm.sh -v 21

Antes de iniciar la instalacion, se recomienda generar un password seguro y agregarlo al script, para sustituir el que ya viene por defecto StrongPass:

apt install -y rand && \
StrongPass=$(openssl rand -base64 8) && \
sed -i '/${StrongPass}$/s/^/#/' /etc/fstab && \
sed -i "s/StrongPass/$(echo $StrongPass)/g" "install_gvm.sh"

Iniciar la instalacion:

./install_gvm.sh -v 21 -u

La instalacion habra terminado cuando devuelva al final, lo siguiente:

# [...]
The installation is done, but there may still be an update in progress.
Please be patient if you aren't able to log in at first.
You may also need to restart

If you're unable to log in to the web interface try restarting
and running all of the update commands in the gvm user's crontab
sudo su gvm -c "crontab -l"
and ensure they complete successfully. Alternatively, leave the machine running
for 24 hours and let cron handle it.

Username is gvmadmin and pasword is QYQhP1oPffM=
Remember to change this default password
sudo -Hiu gvm gvmd --user=gvmadmin --new-password=<StrongPass>

De la salida anterior, interesa saber las credenciales del GSA:

- user: `gvmadmin`
- password: `QYQhP1oPffM=`

2.1. Pasos de post-intalacion

NOTA: Al parecer, para la version de GVM 20 se necesita reiniciar el servidor tras la instalacion.

Acceder al GSA:
https://your.gvm.ip

Verificar el estado de los feeds:
Administration > Feed Status

  • Si el estado de los feeds no aparece en «Current» o en formato de fecha, y se muestran en «Update in progress» es que se encuentran en progreso de actualizacion y se necesita darle un tiempo. Cuando estos cambien a «Current estaran listos».
  • Si falta alguno (normalmente el de los NVTs), forzar la descarga:
sudo -Hiu gvm /opt/gvm/sbin/greenbone-feed-sync --type SCAP && \
sudo -Hiu gvm /opt/gvm/bin/greenbone-nvt-sync && \
sudo -Hiu gvm /opt/gvm/sbin/greenbone-feed-sync --type CERT && \
sudo -Hiu gvm /opt/gvm/sbin/greenbone-feed-sync --type GVMD_DATA && \
sudo -Hiu gvm /usr/bin/sudo /opt/gvm/sbin/openvas --update-vt-info

NOTA:Repetir lo anterior hasta tanto se haya logrado descargar todos los feeds y esten en estado «Current» (en este caso basto con hacerlo dos veces).

Cuando el feed faltante este en estado «Current», entonces ya se podra hacer uso del scanner OpenVAS.

2.2. Creacion del primer scan

NOTA: Para GVM 20 es necesario hacer lo siguiente:

Configuration > Scan Configs
Clonar Full and fast.
Editar Full and fast Clone 1.
Habilitar Port scanners.
Editar Port scanner*.
Dejar habilitado solamente NMAP (NASL wrapper).
Configuration > Credentials > New Credential

En este caso se usuara SSH passwordless. Previamente se debe tener una cuenta con su par de llaves privadas y publica, siendo la privada la que se importara al GVM y la publica debe estar en el authorized_keys de cada usuario remoto que se vaya a usar.

- Name: `ccecasa`
- Comment: `SSH Private key`
- Type: `Username + SSH Key`
- Username: `root`
- Private Key: `ccecasa-id_rsa`

Configuration > Targets > New Target

- Name: `gvm`
- Hosts (Manual): `192.168.10.200`
- Credentials for autheticated checks:
- SSH: `ccecasa`

Scans > Tasks > New Task*

- Name: `task1`
- Comment: `Task for localhost`
- Scan targets: `gvm`
- Scanner: `OpenVAS default`
- Scan Config: `Full and fast`

NOTA: Si se instalo GVM 20, debe usarse el la configuracion de scan clonada y editada Full and fast Clon 1.

Iniciar el scan. Debera demorar unos minutos (en este caso duro 10min).

A continuacion, se muestra el consumo de recursos durante el scan:

Una vez terminado el scan (100% completado), verificar el reporte generado:
Scans > Reports

Clic encima del reporte generado para ver el numero de incidencias reportadas y su severidad. Lo que queda es trabajar sobre dichas vulnerabilidades y hacer del sistema, uno mas seguro.


Referencias bibliograficas

– https://github.com/yu210148/gvm_install
– https://github.com/yu210148/gvm_install/issues/26
– https://kifarunix.com/install-and-setup-gvm-11-on-ubuntu-20-04/

Autores

– Ing. Franco Diaz Hurtado
– Ing. Frank Luis Morales Toledo

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.9 / 5. Recuento de votos: 7

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Franco Diaz Hurtado 27 artículos
Ing. Telecomunicaciones y Electrónica; 1er Especialista en Redes de ECASA Nivel Central