OpenVAS instalatuz eta erabiliz

Gaur gure azpiegituran segurtasun analisiak egiteko erabilgarri izango dugun tresna handia ikusiko dugu, zeren eta, noizbait, zenbat ahultasun ditugun jakitea ez da gutxiago nahiko, birus batetik eraso bat jasan ahal izateko seguruago egoteko, Troiar edo Ramon ware normalak. Dokumentu honetan OpenVAS instalatuko dugu 9 Debian makina batean 9 Stretch eta erabilera oinarrizkoa ikusiko dugu txosten bat ateratzeko, hurrengo dokumentu batean integratuko dugu… Nagios!

 

OpenVAS-eko iturriak eta aurre-baldintzak instalatzen eta deskargatzen hasiko gara 9 eta batzuk gehigarri:

[sourcecode]apt-get install -y build-essential cmake bison flex libpcap-dev pkg-config libglib2.0-dev libgpgme11-dev uuid-dev sqlfairy xmltoman doxygen libssh-dev libksba-dev libldap2-dev libsqlite3-dev libmicrohttpd-dev libxml2-dev libxslt1-dev xsltproc clang rsync rpm nsis alien sqlite3 libhiredis-dev libgcrypt11-dev libgnutls28-dev redis-server texlive-latex-base texlive-latex-recommended linux-headers-$(uname -r) python python-pip mingw-w64 heimdal-multidev libpopt-dev libglib2.0-dev gnutls-bin certbot nmap ufw[/sourcecode]

[sourcecode]
wget http://wald.intevation.org/frs/download.php/2420/openvas-libraries-9.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/2423/openvas-scanner-5.1.1.tar.gz
wget http://wald.intevation.org/frs/download.php/2448/openvas-manager-7.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2429/greenbone-security-assistant-7.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2397/openvas-cli-1.4.5.tar.gz
wget http://wald.intevation.org/frs/download.php/2377/openvas-smb-1.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2401/ospd-1.2.0.tar.gz
wget http://wald.intevation.org/frs/download.php/2405/ospd-debsecan-1.2b1.tar.gz
wget http://wald.intevation.org/frs/download.php/2218/ospd-nmap-1.0b1.tar.gz
[/sourcecode]

Los descomprimimos con:

[sourcecode]for i in $(ls *.tar.gz); do tar zxf $i; done[/sourcecode]

Los compilamos y los instalamos:

[sourcecode]cd openvas-libraries-9.0.1
cmake . && make && make doc && make install
cd ../openvas-manager-7.0.2
cmake . && make && make doc && make install
cd ../openvas-scanner-5.1.1
cmake . && make && make doc && make install
cd ../openvas-cli-1.4.5
cmake . && make && make doc && make install
cd ../reenbone-security-assistant-7.0.2
cmake . && make && make doc && make install
cd ../ospd-1.2.0
python setup.py build && python setup.py install
cd ../ospd-debsecan-1.2b1
python setup.py build && python setup.py install
cd ../ospd-nmap-1.0b1
python setup.py build && python setup.py install[/sourcecode]

Editamos ‘/etc/redis/redis.confpara integrar Redis con OpenVAS, modificamos el puerto a 0 y descomentamos el fichero para Unix socket & sus permisos, quedando así:

[sourcecode]port 0
unixsocket /tmp/redis.sock
unixsocketperm 700[/sourcecode]

Reiniciamos el servicio de Redis para recargar la configuración:

[sourcecode]service redis-server restart[/sourcecode]

 

Creamos un enlace simbólico para que OpenVAS use el socket de Redis, confirmamos que las librerías compiladas anteriormente se han cargado correctamente y arrancamos el demonio de OpenVAS:

[sourcecode]ln -s /tmp/systemd-private-*-redis-server.service-*/tmp/redis.sock /tmp/redis.sock
ldconfig
openvassd[/sourcecode]

 

Es hora de actualizar las bases de datos y recrear la cache:

[sourcecode]greenbone-nvt-sync
greenbone-scapdata-sync
greenbone-certdata-sync
openvasmdprogressrebuild[/sourcecode]

 

Continuamos creando el certificado autofirmado para el uso de https:

[sourcecode]openvas-manage-certs -a[/sourcecode]

 

Scanner-a OpenVAS Manager eta Greenbone Security Assistant jarraian abiarazten ditugu:

[sourcecode]openvassd
openvasmd
gsad[/sourcecode]

Admin erabiltzaile bat sortzen dugu

[sourcecode]openvasmd –create-user=admin –role=Admin[/sourcecode]

 

Fitxategi bat sortzen dugu datu-baseak programatuta eguneratu ahal izateko ‘vim/usr/local/sbin/openvas-db-update’ eta gehitzen dugu:

[sourcecode]#!/bin/bash
echo "Updating OpenVAS Databases"
greenbone-nvt-sync
greenbone-scapdata-sync
greenbone-certdata-sync[/sourcecode]

 

Exekutagarria bihurtzen dugu ‘chmod +x /usr/local/sbin/openvas-db-update’ komandoarekin, eta cron-ean programatzen dugu egunean behin, 0etan exekutatzeko, honela: :

[sourcecode]
crontab -e
0 0 * * * /usr/local/sbin/openvas-db-update[/sourcecode]

 

OpenVAS Manager zerbitzua sortzen dugu ‘vim /etc/systemd/system/openvas-manager.service’ erabiliz’

[sourcecode]
[Unit]
Description=Open Vulnerability Assessment System Manager Demonioa
Documentation=man:openvasmd(8) http://www.openvas.org/
Wants=openvas-scanner.service

[Service]
Type=forking
PIDFile=/usr/local/var/run/openvasmd.pid
ExecStart=/usr/local/sbin/openvasmd –database=/usr/local/var/lib/openvas/mgr/tasks.db

ExecReload=/bin/kill -HUP $MAINPID
# Kill the main process with SIGTERM and after TimeoutStopSec (defaults to 1m30) kill remaining processes with SIGKILL
KillMode=mixed

[Install]
WantedBy=multi-user.target[/sourcecode]

Lo hacemos ejecutable: chmod +x /etc/systemd/system/openvas-manager.service Creamos el servicio OpenVAS Scanner con: 'vim /etc/systemd/system/openvas-scanner.service’

[sourcecode]
[Unit]
Description=Open Vulnerability Assessment System Manager Demonioa
Documentation=man:openvasmd(8) http://www.openvas.org/
Wants=openvas-scanner.service

[Service]
Type=forking
PIDFile=/usr/local/var/run/openvasmd.pid
ExecStart=/usr/local/sbin/openvasmd –database=/usr/local/var/lib/openvas/mgr/tasks.db

ExecReload=/bin/kill -HUP $MAINPID
# Kill the main process with SIGTERM and after TimeoutStopSec (defaults to 1m30) kill remaining processes with SIGKILL
KillMode=mixed

[Install]
WantedBy=multi-user.target
[/sourcecode]

Lo hacemos ejecutable:

[sourcecode]chmod +x /etc/systemd/system/openvas-scanner.service[/sourcecode]

Creamos el servicio Greenbone Security Assistant con: 'vim /etc/systemd/system/greenbone-security-assistant.service’

[sourcecode]
[Unit]
Description=Greenbone Security Assistant
Documentation=man:gsad(8) http://www.openvas.org/
Wants=openvas-manager.service

[Service]
Type=simple
PIDFile=/usr/local/var/run/gsad.pid
ExecStart=/usr/local/sbin/gsad –foreground

[Install]
WantedBy=multi-user.target[/sourcecode]

Lo hacemos ejecutable:

[sourcecode]chmod +x /etc/systemd/system/greenbone-security-assistant.service[/sourcecode]

Ondo, ahora podemos probar la instalación si es correcta mediante un script que bajamos e ejecutamos:

[sourcecode]cd ~
wgetno-check-certificate https://svn.wald.intevation.org/svn/openvas/trunk/tools/openvas-check-setup
chmod +x openvas-check-setup
./openvas-check-setupv9[/sourcecode]

Si todo ha ido bien, ahora podremos poner los servicios para que arranquen con el sistema de forma automática:

[sourcecode]systemctl enable openvas-manager.service
systemctl enable openvas-scanner.service
systemctl enable greenbone-security-assistant.service[/sourcecode]

 

Editamos /etc/systemd/system/redis.service, deberemos modificar el valor ‘PrivateTmp=noy debajo de ‘ReadWriteDirectories=-/var/run/redisañadimos ‘ReadWriteDirectories=-/tmp’.

 

Creamos este fichero: ‘vim /root/arranca_openvasmd.shy lo hacemos ejecutable con el siguiente contenido:

[sourcecode]#!/bin/bash
/usr/local/sbin/openvasmd -a 127.0.0.1 -p 9391[/sourcecode]

Y finalizamos poniendolo en el cron para que cuando arranque el sistema lo ejecute, con 'crontab -e', añadimos:

[sourcecode]@reboot /root/arranca_openvasmd.sh[/sourcecode]


Por fin ya podremos abrir un navegador contra la dirección IP de la máquina https://openvas, nos validaremos con el usuario que hemos creado en los pasos anteriores!

 

Tras loguearnos veremos un panel vacio, ya que todavía no tenemos tareas de análisis, sí vemos en cambio los resultados de la BD con las vulnerabilidades que tenemos. Lo primero de todo será dar de alta las máquinas a las que haremos un escaneo. “Konfigurazioa” > “Targets”.

 

Para crear un Target, debemos pulsar sobre el icono de la estrellica,

 


Podremos añadir diferentes destinos, bien rangos IP, equipos individuales, definir diferentes rangos de puertos o métodos de detección, además si queremos realizar los chequeos con credenciales para acceso por SSH, SMB, ESXi o SNMP. Onena, en este caso analizaré sólo un equipo, es un host ESXi de VMware, versión 6 Eguneratu 3, indicamos la dirección IP & sustatu “Egin”,

 

 

Una vez definido el Target, lo que haremos será crear la Tarea para ejecutarlo, vamos a “Scans” > “Tasks”,

 

Y pulsamos de nuevo sobre la estrella para crear una Tarea nueva con “New Task”,

 

Indicamos un nombre a la tarea, añadimos el Target que queremos analizar y modificamos los parámetros a nuestro antojo para realizar los tests más o menos profundos, eta abar… “Egin” para crear la Tarea.

 

Veremos la tarea creada, si queremos ejecutarla ahora pulsaremos sobre el icono verde del Play!

 

 

… Eta ezer, esperamos mientras ejecuta todos los testeos que hayamos indicado sobre esta máquina…

 

Cuando se haya finalizado la tarea de análisis, podremos pinchar en la fecha del Report para visualizar los posibles riesgos que tiene la máquina,

 

 

Y nos mostrará las vulnerabilidades detectadas, podremos analizar el problema y su posible solución para corregir esto y evitar comprometer la información y el servicio de la máquina.

 

 

Como podréis imaginar, la herramienta nos da más posibilidades, curiosear y probar distintos tipos de escaneo. Os recomiendo que vayáis creando tareas individuales o bien una genérica con todos vuestros equipos añadiendo rangos IPs, no sólo para que nos saque los colores y nos pongamos las pilas con la corrección de los fallos de seguridad, si no por que los necesitaréis para un siguiente artículo que viene…

 

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!

Usando NagVis

5 de September de 2017