OpenVAS (Open Vulnerability Assessment System) es una poderosa herramienta de análisis de vulnerabilidades que forma parte de Greenbone Vulnerability Manager (GVM). Permite escanear redes, servidores y dispositivos en busca de vulnerabilidades conocidas. OpenVAS es ampliamente utilizado por profesionales de la ciberseguridad para realizar auditorías y análisis de seguridad.
OpenVAS tiene la capacidad de realizar escaneos de red, incluidas pruebas autenticadas y no autenticadas.
Es totalmente gratuito y se puede instalar con apt en Kali Linux
Instalación
Instalar requisitos
# Actualizar paquetes y instalar gvmsudoaptupdatesudoaptinstallgvmsudogvm-setup# Instalar UFW (opcional)sudoaptinstallufw# Habilita UFW y permite el acceso al servidor de OpenVAS por los puertos 80 y 9392sudoufwenablesudoufwallow80sudoufwallow9392
Si al ejecutar el gvm-setup nos da el siguiente error deberemos cambiar del clúster 16 al 17 de PostgreSQL:
sudogvm-setup[>] Starting PostgreSQL service[-] ERROR: The default PostgreSQL version (16) is not 17 that is required by libgvmd[-] ERROR: libgvmd needs PostgreSQL 17 to use the port 5432[-] ERROR: Use pg_upgradecluster to update your PostgreSQL cluster
Instalar asistente de Greenbone
# Instala el asistente de greenbonesudogvm-check-setupsudogvm-start# Abre un navegador en localhost por el puerto 9392https://localhost:9392/
sudogvm-check-setupsudogvm-start# Abre un navegador en localhost por el puerto 9392https://localhost:9392/
Errores comunes de instalación
Error de versión de PostgreSQL
sudogvm-setup[>] Starting PostgreSQL service[-] ERROR: The default PostgreSQL version (16) is not 17 that is required by libgvmd[-] ERROR: libgvmd needs PostgreSQL 17 to use the port 5432[-] ERROR: Use pg_upgradecluster to update your PostgreSQL cluster
Configurar PostgreSQL
OpenVAS necesita tener habilitado el clúster de PostgreSQL 17. Si tenemos una versión anterior podemos deshabilitarla de la siguiente manera:
# Combrobar clusters de PostgreSQLpg_lsclustersVerClusterPortStatusOwnerDatadirectoryLogfile16main5432onlinepostgres/var/lib/postgresql/16/main/var/log/postgresql/postgresql-16-main.log17main5433onlinepostgres/var/lib/postgresql/17/main/var/log/postgresql/postgresql-17-main.log# Detener cluster de PostgreSQLsudopg_ctlcluster16mainstop
Cambiar PostgreSQL 17 al puerto 5432
Edita la configuración del clúster de PostgreSQL 17 para que use el puerto 5432. Modifica el archivo postgresql.conf de la versión 17:
sudonano/etc/postgresql/17/main/postgresql.conf
Busca la línea donde se especifica el puerto y cambia 5433 por 5432:
port = 5432
Iniciar clúster PostgreSQL17
afsh4ck@kali$ sudo pg_ctlcluster 17 main start
afsh4ck@kali$ sudo gvm-setup
Este comando hará lo siguiente:
Configura los servicios necesarios (PostgreSQL, Redis, etc.).
Descarga el feed de vulnerabilidades de Greenbone actualizado.
Configura las bases de datos y los servicios de OpenVAS.
Anota las credenciales generadas. Al final del proceso, verás algo como:
User created: admin
Password: some-random-password
Si lo necesitas, puedes cambiar la contraseña usando:
sudogvmd--user=admin--new-password=admin
Eliminar el clúster antiguo (opcional)
Si confirmas que PostgreSQL 17 está funcionando correctamente, puedes eliminar el clúster antiguo (versión 16):
sudopg_dropcluster16main--stop
Error de collation
[*] Creating database
createdb: error: falló la creación de la base de datos: ERROR: discordancia en la versión de «collation» de la base de datos patrón «template1»
DETALLE: La base de datos patrón fue creada usando la versión 2.38, pero el sistema operativo provee la versión 2.40.
SUGERENCIA: Reconstruya todos los objetos de la base de datos patrón afectados por este ordenamiento y ejecute ALTER DATABASE template1 REFRESH COLLATION VERSION, o construya PostgreSQL con la versión correcta de la biblioteca.
El mensaje indica que la base de datos PostgreSQL tiene una discordancia de versión de collation entre lo que fue usado al crearla y lo que ofrece nuestro sistema actual.
Sigue los pasos sugeridos para corregir el problema de collation en la base de datos:
1. Accede a PostgreSQL como usuario postgres:
sudo-upostgrespsql
2. Permitir cambios en template1:
UPDATE pg_database SET datistemplate = FALSE WHERE datname ='template1';
3. Reconstruir índices y actualizar la collation en template1: