sábado, enero 22

Instalación Full Setup OpenVas 3.1 en Debian Squeeze/Ubuntu Karmic-Lucid

Para aquellos que no lo conocen, OpenVas es un escaneador de vulnerabilidades opensource bajo licencia GNU GPL.
OpenVas es prácticamente un fork de Nessus, que desde la versión 3 es closed source. Lo bueno es que OpenVas no tiene límite en licencias y es totalmente compatible con Metasploit.
Desde los repositorios de Debian/Ubuntu podríamos instalar la version 2, pero desde diciembre del año 2009 existe ya la versión 3 y actualmente posee mas de 20 mil plugins para el escaneo por vulnerabilidades.

Aquí tienen los pasos para instalar la última version de OpenVas 3.1 + Greenbone Security Assistant + Greenbone Security Desktop (Full Setup) en Debian Squeeze o Ubuntu Karmic/Lucid (revision extendida del 22 de enero de 2011 en SalineOS 1.0):


1. Instalar las dependencias:

# apt-get install build-essential libgtk2.0-dev libglib2.0-dev libssl-dev htmldoc libgnutls-dev libpcap0.8-dev bison libgpgme11-dev libsmbclient-dev snmp pnscan
# apt-get install cmake uuid-dev doxygen xmltoman libsqlite3-dev libxml2-dev libxslt1-dev libmicrohttpd-dev qt4-dev-tools


2. Bajamos desde la página de Openvas los paquetes siguientes:
wget http://wald.intevation.org/frs/download.php/784/openvas-libraries-3.1.4.tar.gz
wget http://wald.intevation.org/frs/download.php/792/openvas-scanner-3.1.1.tar.gz
wget http://wald.intevation.org/frs/download.php/802/openvas-client-3.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/829/openvas-manager-1.0.4.tar.gz
wget http://wald.intevation.org/frs/download.php/828/openvas-administrator-1.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/785/openvas-cli-1.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/791/greenbone-security-assistant-1.0.3.tar.gz
wget http://wald.intevation.org/frs/download.php/819/gsd-1.0.1.tar.gz

3. Descomprimir cada paquete, cambiarse a la carpeta de cada uno y compilamos:
los paquetes de openvas-libraries (librerias), openvas-scanner (el servidor), openvas-client (el cliente) simplemente con

./configure
make
# make install

Atención! Cuando tengan el paquete openvas-libraries compilado fíjense en el output de la consola, hay que anexar una ruta en ld.so.conf y poner dos rutas en nuestro ambiente, que será así:
sudo vim /etc/ld.so.conf y anexar /usr/local/lib/;
vim .bashrc y anexar PATH=$PATH:/usr/local/bin:/usr/local/sbin;
Cuando terminemos las compilaciones:
# ldconfig.


4. Los paquetes openvas-manager, openvas-administrator, openvas-cli, greenbone-security-assistent y greenbone-security-desktop se compilan con cmake, los pasos son:

cmake .
make
# make doc
# make install
# make rebuild_cache
# ldconfig


5. Creamos los certificados, añadimos el usuario 'om' (necesario para que el manager puede conectarse al servidor) y un usuario cualquiera con derechos de conectarse al servidor, luego instalamos todos los plugins (dependiendo de la linea que tengan puede durar unos cuantos minutos).

# openvas-mkcert (crear certificado local);
# openvas-adduser (crear el usuario. Atención! aquí le damos permisos al usuario cuales redes le esta permitido de escanear, ejemplos fáciles de entender se encuentran en la manpage: man openvas-adduser);
# openvas-nvt-sync (bajar los ultimos plugins).

Nota: Si te da un error como "mktemp: too few X's in template `openvas-nvt-sync' ", es un bug, tienes que editar el ejecutable openvas-nvt-sync y cambiar la linea
SYNC_TMP_DIR=`mktemp -d openvas-nvt-sync`
a
SYNC_TMP_DIR=`mktemp -d openvas-nvt-sync.XXXXXXXXXX`.


6. Ya los últimos pasos, configuraciones, arranque del demon y las GUI:

# openvassd (arranca el demonio):

Ctrl+F2 "OpenVAS-Client" (esto arranca la GUI clásica, nos conectamos ignorando lo del certificado o sea, lo aceptamos así y ya está).

Los pasos para poder utilizar el manager y los clientes de Greenstone son un poco mas complicados. Para que se entienda mejor un simple gráfico:

servidor <---- manager <---- cliente
(openvassd) ----> (openvasmd) ----> (gsad/gsd)

El servidor o scanner escucha en puerto 9390, openvas-manager funciona como una capa entre cualquier cliente que quiere conectarse al servidor, por ende le decimos al manager por que puerto conectarse al servidor (en nuestro caso 9390) y en que puerto debe escuchar (digamos 9391) para que se pueda establecer una conexión desde el cliente. El manager esta por defecto configurado usar un usuario 'om' para la conexión al scanner, pero este usuario no se crea por defecto, por eso lo hemos creado anteriormente (vease los ficheros README). Además se conecta solamente con este usuario certificado, lo creamos desde luego, arrancamos el manager y los clientes:

# openvas-mkcert-client -n om -i
# openvasmd --port 9391 --sport 9390
# gsad --mport 9391 -v –http-only

openvassd (escucha en 9390)
openvasmd --port 9391 --sport 9390 (escucha en 9391 y conecta a openvassd en 9390)
gsad --mport 9391 -v --http-only (conecta al manager en 9391)

Abrimos los clientes usando los credenciales del usuario anteriormente creado:
http://localhost:9392 (Greenbone Security Assistant)
Ctrl+F2 “gsd” (Greenbone Security Desktop)

Con esto terminamos nuestro setup completo de OpenVas 3.1 y estamos listos para comprobar nuestra red por vulnerabilidades. Por supuesto, esto se pone más interesante se lo utilizamos junto con Metasploit. Cuidado, son herramientas muy potentes.
Happy hacking.

Sitios para consultar en inglés:
http://retrohack.com/installing-openvas-on-ubuntu-9-10/
http://wikisecure.net/security/how-to-install-openvas-ubuntu9