Cargando



Análisis de Vulnerabilidades Linux | Vuls

Tutorial con vídeo para saber cómo hacer un análisis de vulnerabilidades Linux cuando la herramienta Vuls.


may 08 2023 09:55
Avanzado

Los sistemas operativos actuales, así como sus componentes (servicios, procesos y aplicaciones), actualmente sufren ataques de diversos tipos tanto a nivel interno como externo por amenazas categorizadas de todo tipo y si somos administradores o usuarios avanzados tendremos que estar preparados antes esos ataques y aprender a tener un sistema especial de protección. Pero para esto lo básico es determinar qué vulnerabilidades presenta el equipo para trabajar en ellas, Solvetic en este tutorial explicará de manera clara cómo usar Vuls para llevar a cabo este análisis.

 

Tutorial con vídeo para monitorear la Red en Linux con la consola.

 

Qué es Vuls
Vuls se ha desarrollado como una herramienta de escaneo de vulnerabilidades de código abierto que tiene la capacidad de detectar vulnerabilidades en sistemas operativos y aplicaciones en un entorno de red local y para ello se hacen uso de diversas fuentes de información de vulnerabilidades. Dentro de éstas encontramos bases de datos de vulnerabilidades públicas, boletines de seguridad de proveedores de software y servicios de inteligencia de amenazas, esto es clave ya que cada día se actualizan estas bases y así estamos a la par con las nuevas vulnerabilidades que aparezcan.

 

Vuls es compatible con múltiples sistemas operativos y aplicaciones, y hace uso de diversos tipos de escaneo para las tareas de detección de vulnerabilidades, esto va desde análisis de puertos, verificación de versiones de software hasta la detección de vulnerabilidades en archivos y configuraciones las cuales pueden estar ocultas como algo normal peor desencadenar una serie de problemas en el sistema.

 

Características Vuls
Dentro de las principales características de Vuls encontramos:

 

  • Integración con sistemas de gestión de vulnerabilidades populares como JIRA y GitHub con el fin de automatizar la gestión de las vulnerabilidades que son detectadas.
  • Función de escaneo automático de sistemas y aplicaciones.
  • Crea informes detallados acerca las vulnerabilidades detectadas, este informe cuenta con análisis de la gravedad de la vulnerabilidad, así como una serie de recomendaciones para corregirlas.
  • Soporte para múltiples sistemas operativos y aplicaciones.
  • Compatible con Apache, MySQL y más.
  • Escaneo en modo fuera de línea sin acceso a Internet.
  • Permite escanear sin privilegios de root y sin dependencias.
  • Puede detectar procesos que son afectados por procesos de actualización usando yum-ps.
  • Modo de escaneo local.
  • No requiere SSH.
  • Es posible iniciar Vuls en modo servidor y que este escuche como un servidor HTTP.
  • Se pueden crear resultados del escaneo en formato JSON.
  • Podemos hacer análisis de middleware, bibliotecas de lenguajes de programación y frames para detectar vulnerabilidades.
  • Software de soporte registrado en CPE.

 

 

Veamos cómo usar esta potente herramienta para mantener nuestros sistemas funcionales.

 

 

Para estar al día, recuerda suscribirte a nuestro canal de YouTube!
SUSCRIBETE EN YOUTUBE

 

Cómo hacer un análisis de vulnerabilidades con Vuls

 

Paso 1

Abrimos la terminal y vamos a instalar las dependencias, creamos el directorio para los datos:
sudo mkdir /usr/share/vuls-data

 

Paso 2

Asignamos el acceso del usuario:
sudo chown -R (usuario) /usr/share/vuls-data

 

Paso 3

Actualizamos el sistema:
sudo apt update

 

 

Paso 4

Después de esto instalamos las utilidades necesarias para que todo funcione de manera óptima:
sudo apt install sqlite git debian-goodies gcc make wget 

 

Paso 5

Confirmamos la operación ingresando la letra S:

 

 

Paso 6

Esperamos que este proceso llegue a su final:

 

Paso 7

 

sqlite es un sistema de base de datos con el cual se alojará la información de las vulnerabilidades, debian-goodies integra la utilidad checkrestart la cual ofrece información sobre los paquetes que pueden y deben reiniciarse en parte del proceso.

 

Ahora vamos a instalar Go, este es un lenguaje de programación eficiente gracias al cual será posible manejar aplicaciones grandes y complejas de manera simple, su estructura es simple y permite crear aplicaciones de alto rendimiento, algunas de sus características son.

 

  • Hace un uso efectivo de diversos núcleos de CPU y cuenta con soporte nativo para la concurrencia
  • Sus variables deben declararse con un tipo de datos específico
  • Cuenta con soporte para la compilación cruzada
  • Integra un recolector de basura que permite administrar la memoria

 

Paso 8

Para su instalación ejecutamos:
sudo snap install go –classic

 

Paso 9

Esperamos que llegue al final:

 

 

Paso 10

Para un óptimo funcionamiento, Go necesita contar con variables de entorno donde se configurará GOPATH y PATH, GOPATH especifica el directorio de trabajo para Go y PATH, es donde se alojan los directorios donde irán los programas, estas variables de entorno deben ser configuradas cada vez que el usuario inicia sesión, pero para evitar esto y automatizar la acción vamos a crear un nuevo archivo ejecutable denominado go-env.sh en /etc/profile.d, para esto ingresamos:
sudo nano /etc/profile.d/go-env.sh

 

Paso 11

Ingresamos lo siguiente. El comando “export” establece la variable de entorno con el valor especificado.
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:/snap/bin

 

 

Paso 12

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

 

Paso 13

Asignamos permisos de ejecución:
sudo chmod +x /etc/profile.d/go-env.sh

 

Paso 14

Para evitar el inicio de sesión ejecutamos lo siguiente:
source /etc/profile.d/go-env.sh

 

Paso 15

Como mencionamos las vulnerabilidades están alojadas en diversas bibliotecas a donde Vuls acudirá para actualizarse y permitir que el sistema este en óptimas condiciones, go-cve-dictionary, un paquete de Go, nos proporciona acceso a la base de datos nacional de vulnerabilidades o NVD (National Vulnerability Database), NVD es el repositorio del gobierno de EE.UU. de vulnerabilidades de seguridad cibernética que están públicamente.

 

Allí encontramos identificaciones de vulnerabilidad (CVE, vulnerabilidades), resúmenes y análisis de impacto de estas vulnerabilidades en la maquina y se encuentra en un formato legible , Go almacenara los paquetes en $GOPATH/src/, instalamos el diccionario Go-cve-dictionary, para ello creamos el directorio:

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

 

Paso 16

Accedemos a la carpeta:
cd $GOPATH/src/github.com/vulsio
Paso 17

Clonamos el diccionario desde los repositorios:
sudo git clone https://github.com/vulsio/go-cve-dictionary.git

 

Paso 18

Accedemos al directorio:
cd go-cve-dictionary
Paso 19

Compilamos los archivos:
sudo make install

 

Paso 20

Esperamos que finalice este proceso:

 

 

Paso 21

Puedes copiar los archivos al sistema base:
sudo cp $GOPATH/bin/go-cve-dictionary /usr/local/bin
Paso 22

go-cve-dictionary requiere acceso a un directorio de salida de registro, para ello lo creamos:
sudo mkdir /var/log/vuls

 

Paso 23

Asignamos los permisos:
sudo chmod 700 /var/log/vuls

 

Paso 24

Permite el acceso al usuario:
sudo chown -R (usuario) /var/log/vuls

 

Paso 25

Ejecutamos el análisis de vulnerabilidades desde NVD:
go-cve-dictionary fetchnvd --dbpath /usr/share/vuls-data/cve.sqlite3

 

Paso 26

Iniciará el proceso de análisis:

 

 

Paso 27

Veremos detalles puntuales de cada vulnerabilidad:

 

 

Paso 28

Las opciones de go-cve-dictionary son:

 

  • jvn: obtiene el diccionario de vulnerabilidades de JVN
  • nvd: recupera el diccionario de vulnerabilidades de NVD
  • --config string: configura el archivo de configuración de cadena
  • --dbpath string: es la cadena de conexión SQL
  • --debug: indica el modo de depuración (predeterminado: falso)
  • --debug-sql: es el modo de depuración SQL
  • --log-json: crea un registro de salida JSON
  • --log-to-file: crea un registro de salida en archivo

 

 

Paso 29

Otro diccionario de vulnerabilidades es Goval, este es un paquete Go con el cual se tiene acceso a la base de datos OVAL para Ubuntu, OVAL (Open Vulnerability and Assessment Language), es un lenguaje abierto para expresar comprobaciones con el fin de determinar si existen vulnerabilidades de software en el sistema, hará uso de la base de datos del NVD como su fuente de información para las vulnerabilidades.
Vamos a instalar el diccionario Goval, para ello vamos a la ruta:
cd $GOPATH/src/github.com/vulsio
Paso 30

Clonamos el directorio:
sudo git clone https://github.com/vulsio/goval-dictionary.git

 

Paso 31

Accedemos al directorio:
cd goval-dictionary
Paso 32

Instalamos los complementos:
sudo make install

 

 

Paso 33

Ejecutamos un análisis para algunas de las distribuciones disponibles:

sudo goval-dictionary fetch-ubuntu --dbpath=/usr/share/vuls-data/oval.sqlite3 22

 

Paso 34

Con el parámetro fetch podemos agregar sistemas como:

 

  • Red Hat, CentOS, AlmaLinux, Rocky Linux
  • Ubuntu
  • Debian
  • Oracle
  • SUSE
  • Alpine

 

Paso 35

En la parte final ingresamos el numero de la versión a analizar. Es momento de instalar Vuls, instalamos Vuls desde los repositorios, en primer lugar, creamos el directorio:
sudo mkdir -p $GOPATH/src/github.com/future-architect

 

Paso 36

Accede al directorio:
cd $GOPATH/src/github.com/future-architect
Paso 37

Intenta descargar el repositorio desde el sitio oficial:
sudo git clone https://github.com/future-architect/vuls.git

 

Paso 38

Allí debemos tener cuenta creada, pero con las últimas versiones veremos lo siguiente:

 

 

Paso 39

Vemos que no se cuenta con soporte para este tipo de autenticación, en este caso accedemos como root usando "sudo -i", luego ejecutamos:
bash <( curl -s https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh )

 

Paso 40

Validamos los binarios:
ls /usr/local/bin/

 

Paso 41

Creamos un nuevo directorio y creamos el archivo de configuración:
mkdir -p /usr/share/vuls-data
touch /usr/share/vuls-data/config.toml

 

Paso 42

Editamos el archivo:
nano /usr/share/vuls-data/config.toml
Paso 43

Ingresamos los valores:
[cveDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/cve.sqlite3"
[ovalDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/oval.sqlite3"
[gost]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/gost.sqlite3"
[metasploit]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/go-msfdb.sqlite3"
[servers]
[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]

 

Paso 44

Vemos cada dato registrado:

 

 

Paso 45

Se definirán 4 bases de datos vuls usando el formato SQLite3 que son:

 

  • CVE (vulnerabilidades y exposiciones comunes)
  • OVAL (Lenguaje Abierto de Evaluación y Vulnerabilidad)
  • Gost: este usa el rastreador de seguridad de las distribuciones de Linux como Redhat, Debian, Ubuntu y Microsoft Windows.
  • CVE de los módulos de Metasploit-Framework

 

Paso 46

Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

Paso 47

Accedemos al directorio:
cd /usr/share/vuls-data/
Paso 48

Ejecuta la prueba de configuración:
vuls configtest

 

Paso 49

Creamos un archivo de configuración:
vuls discover 127.0.0.1/32

 

Paso 50

Ejecutamos un escaneo general:
vuls scan

 

Paso 51

Para un análisis en un equipo específico ejecuta:
vuls scan localhost

 

Paso 52

Allí vemos detalles como el tipo de sistema, cantidad de paquetes instalados y amenazas detectadas.
Para ver los datos de forma gráfico (aplica cuando se detectan vulnerabilidades) ejecuta:
vuls tui

 

Paso 53

Para revisar el historial ejecutamos:
vuls history

 

Vuls es una utilidad integral para comprobar nuestro sistema, u otros equipos, y así tener la certeza que no poseen ninguna amenaza que ponga en riesgo su integridad.

 

Tutorial con vídeo para saber cómo monitorear Actividad Usuarios Linux | psacct o acct de manera detallada paso a paso.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X