Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Misin
OpenVAS
El proyecto OpenVAS ya ha publicado la versin 4 del sistema OpenVAS de comprobacin de vulnerabilida-
Norebbo, 123rf.com
des. Razn de ms para ver qu hay de nuevo eliminarlo y cmo podemos crear nuestra propia solucin de
O
penVAS es un sistema de software colo OAP (OpenVAS Administration Proto- cliente de OpenVAS sigue siendo ms sen-
libre con licencia GPL para la com- col) para la administracin de clientes y cillo y rpido. La estructura jerrquica del
probacin de vulnerabilidades, con nuevos servicios. OpenVAS Manager ges- cliente, as como su capacidad para organi-
diversos servicios y componentes que tiona la comunicacin dentro del frame- zar los objetivos del escaneo en Targets y
podemos desplegar de varios modos para work y almacena los datos relativos a los Scopes son sus puntos ms fuertes. Tras
lograr un entorno adaptado a nuestra red. escaneos en su base de datos SQLite definir las propiedades estndar del esca-
OpenVAS Manager es un servicio central interna, descargando as los nuevos clien- neo, se pueden asignar las propiedades
para controlar el framework OpenVAS que tes OMP y ayudando a organizar el acceso desde el objetivo a un scope para modifi-
se comunica con los componentes de esca- a los datos de escaneo almacenados. La carlas luego segn se necesite.
neo mediante el protocolo OMP (OpenVAS comunicacin con el escner, openvassd, Esta caracterstica simplifica y agiliza el
Management Protocol), basado en XML, y an se apoya en el protocolo OTP (Open- proceso de diseo y ejecucin de nuevos
almacena los resultados de los escaneos en VAS Transfer Protocol). El servicio Open- escaneos, siendo tan sencillo como alternar
una base de datos SQLite. VAS Administrator proporciona al adminis- entre los distintos objetivos y resultados.
OpenVAS [1] est actualmente siendo trador un medio con el que gestionar usua- Definir un escaneo en los clientes web o de
modificado y acaba de llegar a la versin 4. rios y certificados. escritorio es bastante menos fluido en com-
En este artculo presentamos el escner y Ahora tambin existen nuevos clientes paracin. El proceso comienza por la defi-
echamos un ojo al sistema de clientes y sus de escaneo, aparte del cliente de OpenVAS nicin de Scan Configs, Credentials, Scan
vulnerabilidades. Tambin veremos algu- basado en Gtk que ya haba. La aplicacin Targets y Tasks.
nos consejos para la implantacin de de servidor Greenbone Security Assistant Lo que en principio promete ser un con-
OpenVAS e incluso cmo escribir nuestros (GSA) [2] se ejecuta en el navegador. Por junto de mdulos reusables, acaba convir-
propios plugins. otro lado, Greenbone Security Desktop tindose en un obstculo a la hora de
(GSD, Figura 1) [3], que se ejecuta en Win- modificar las configuraciones ms tarde.
Nuevas Funcionalidades dows (gracias a Qt), o la herramienta de Por ejemplo, no se pueden modificar los
El framework OpenVAS ha cambiado bas- lnea de comandos omp, completan la objetivos del escaneo retrospectivamente,
tante con respecto a la versin 3, pero sigue seleccin de opciones libres. ni tampoco se pueden reemplazar los obje-
siendo compatible con las herramientas y Los clientes de escritorio, que estaban tivos de las tareas de escaneo, siendo nece-
protocolos de la versin 2. Aparte del incompletos en la versin 3, cubren actual- sario crear nuevas entradas. Los nuevos
nuevo OMP, que ayuda a gestionar los pro- mente la totalidad de las funcionalidades clientes no soportan actualmente el uso de
cesos de escaneo, se ha aadido el proto- de OpenVAS. En produccin, el clsico listados basados en archivos para definir
los objetivos. Dicho de otro modo, si desea- Los plugins definen la interfaz cliente de Comenzamos comprobando la informa-
mos escanear cientos de hosts virtuales OpenVAS y se establecen en Prefs, bajo la cin general en general/tcp, especialmente
con el fin de determinar la ubicacin de un opcin Options. Conviene comprobarlas los parmetros aadidos para el escaneo,
servidor web vulnerable, lo mejor es usar despus de actualizar o cargar plugins. Por como la configuracin, la duracin, etc.
el cliente clsico, al que slo tenemos que ejemplo, podemos habilitar las comproba-
pasarle un archivo de texto con la lista de ciones en lnea con la German Federal Vulnerabilidades
hosts. Office for Information Security standards Aunque el sistema objetivo est completa-
for IT security (BSI IT-Grundschutz) [9] con mente actualizado, el primer escaneo suele
Comencemos Compliance Tests (Figura 3). Esta forma de revelar decenas de vulnerabilidades crticas,
Antes de empezar a usar VAS, conviene configurar los plugins hace que al final aca- casi siempre debidas a un uso incorrecto o a
familiarizarse con los formatos de los datos bemos desarrollando los nuestros propios. programas de los plugins de escaneo que no
de OpenVAS y limpiar las ubicaciones toleran bien los fallos. Por ejemplo, los esca-
donde se almacenarn los datos para estar Un Objetivo Adecuado neos de IT-Grundschutz [9] slo devuelven
seguros de tener la configuracin correcta El objetivo ms obvio para empezar (la resultados significativos si pueden acceder
para las preferencias ms importantes. As seleccin de Target) tras instalar el cliente o al sistema objetivo internamente, siendo
tambin se evitan errores a la hora de el servidor es localhost. Ya se conoce la necesario acreditarse. Si no hacemos login,
almacenar informacin confidencial. Si se configuracin de la mquina y se dispone los tests fallan y, por desgracia, devuelven
est utilizando el cliente de OpenVAS cl- de los permisos necesarios para verificar un estado que se refleja en la cantidad de
sico, la estructura jerarquizada de los obje- las vulnerabilidades encontradas y repetir agujeros de seguridad crticos encontrados.
tivos resulta de gran ayuda, ya que se la prueba. Si el cliente y el servidor se eje- Dicho de otro modo, debemos deshabili-
puede aplicar parte de la configuracin a cutan en sistemas diferentes, podemos tar estos plugins o proporcionar las creden-
otros objetivos. coger como objetivo el sistema cliente pro- ciales de acceso antes de ejecutar la
Podemos modificar la jerarqua de objeti- pio. Aqu es preciso tener en cuenta la red prueba. Las estadsticas nos pueden llevar
vos a posteriori simplemente moviendo los que conecta las dos mquinas. Tambin se a engao, ya que OpenVAS an no est
directorios desde el sistema de archivos. El puede instalar una mquina virtual para preparado para la realizacin de pruebas
archivo .openvasrc es particularmente inte- las pruebas (por ejemplo con VirtualBox completamente automatizadas.
resante para cada objetivo del escaneo, ya [10]), que permita modificarla fcilmente y
que todas las configuraciones del mismo guardar capturas de sus distintos estados. Falsos Positivos
residen all, incluidas aquellas opciones Despus de escoger los plugins (hay ms Otro problema recurrente es que los plu-
que no se pueden definir en los clientes. de 21000 en estos momentos), ya podemos gins suelen identificar los que ellos creen
Por ejemplo, con log_whole_attack = no empezar con el primer escaneo. Comenza- que son nmeros de versin obsoletos, casi
deshabilitamos todos los registros de logs remos simulando ser completamente extra- siempre en sistemas con backports [11]. En
en el servidor de escaneo centralizado. os al sistema, es decir, sin proporcionar este tipo de servicios se suelen incorporar
En las Figuras 2 y 3 se muestran las pre- las credenciales de acceso para el sistema las soluciones para vulnerabilidades descu-
ferencias globales, que conviene compro- objetivo, igual que si furamos unos extra- biertas en versiones antiguas pero soporta-
bar antes de pasar a escanear. Por ejemplo, os. Dependiendo de los puertos abiertos y das oficialmente. Pero el backport, a pesar
si se estn evaluando servidores web con- los servicios activos, el escaneo puede lle- de estar al da en materia de parches de
viene habilitar las peticiones inversas para var desde un par de minutos hasta varias seguridad, no tiene por qu incrementar el
evitar que se agrupen todos los resultados horas, aunque podemos interrumpir el pro- nmero de versin, lo que puede confundir
bajo una misma direccin IP compartida. ceso en cualquier momento. Una vez com- a OpenVAS. Un escner de seguridad no
Inicialmente, la opcin Safe checks es pletado o cancelado, se nos presenta un comprueba las vulnerabilidades, sino que
imprescindible, puesto que los escaneos de informe con los detalles del objetivo en busca las versiones que se sabe que son
DoS no deberan estar entre las primeras base a los puertos o servicios detectados. vulnerables.
pruebas a realizar; por desgracia, esta Bajo la pestaa Report del cliente de Ubuntu 8.04 server es un buen ejemplo:
opcin viene deshabilitada por defecto. OpenVAS se muestran tres tipos de datos OpenVAS clasifica como crtica la versin
Tambin querremos reducir el nmero de (Figura 4): Security
hosts a escanear en paralelo, as como el Hole indica las poten-
nmero de pruebas a completar para evitar ciales vulnerabilida-
cargas innecesarias en la red y en los obje- des halladas durante
tivos. el escaneo; Security
Si nos ponemos de acuerdo con el admi- Note contiene infor-
nistrador de la red, podemos evitar que macin til sobre el
algn cortafuegos o algn sistema de IDP puerto para la eva-
provoque resultados no vlidos. Inicial- luacin del sistema;
mente al menos, el OpenVAS TCP scanner y por ltimo, Log
no es mala opcin; si usamos nmap como Message muestra la
escner de red, debemos hacer la prueba informacin devuelta
en un proceso aparte para luego aplicar los por el plugin, que Figura 1: El cliente de escritorio Greenbone Security Desktop est
resultados. puede ser muy til. hecho con Qt.
Listado 1: Compilacin y Ejecucin de y False Posi- puede que estemos infringiendo las nor-
OpenVAS tive. Los mas.
01 make depend # instala los paquetes necesarios valores se
02 make # crea e instala OpenVAS almacenan Dentro del Objetivo
03 make initial # crea los certificados, la base de datos, etc. globalmente Los escaneos de OpenVAS que tienen la
04 make start # inicia en segundo plano los procesos necesarios en el archivo capacidad de acreditarse en el host objetivo
severity_ove- y analizar el host desde el interior devuel-
de OpenSSH que utiliza, pero si investiga- rrides.xml (Tabla 1), desde donde podre- ven resultados ms precisos. Nunca se
mos un poco sobre la versin y el estado de mos modificarlos ms tarde (Listado 2 y debe acceder como root; con una cuenta
los parches, podremos comprobar que ssh- Figura 5) y aplicarlos a los resultados de los sin privilegios es suficiente para revelar
2.0-openssh_4.7p1debian-8ubuntu1.2 est informes. informacin acerca del sistema y sus vul-
actualizado y cuenta con todos los parches Los overrides normalmente tienen que nerabilidades.
de seguridad [12]. Los plugins sacan con- ver con el host mostrado en el informe Debemos proteger los pares de usuario/
clusiones errneas por pequeos detalles (192.168.178.46 en este ejemplo). Para contrasea de los sistemas objetivo, pero
como ste, obligndonos a borrar estos ampliar a un grupo de hosts, o a todos los por desgracia, OpenVAS no lo hace muy
mensajes a mano. hosts, slo hay que cambiar la entrada bien; guarda las contraseas en texto plano
Para reducir el nmero de falsos positi- host= a 192.168.178.*. Pero debemos en su base de datos SQLite, pudiendo acce-
vos en general tenemos la opcin Report tener cuidado: el cambio afectar a la regla der a ellas al menos el administrador del
paranoia en Global variable settings, al completo y har que OpenVAS clasifique servidor de escaneos, que no tiene por qu
donde podemos escoger desde Normal como falsos positivos incluso las vulnerabi- ser necesariamente el administrador de
hasta Avoid false alarms. Pero claro, esta lides verdaderas. Es decir, que se deben todos los sistemas objetivo. Con un simple
opcin slo tiene efecto sobre los plugins comprobar las reglas de override frecuente- comando SQL, cualquiera que tenga
que efectivamente la evalan, que son mente. acceso a la base de datos podr ver la infor-
slo 130 de los ms de 21000 existentes. macin confidencial:
Por este motivo, quiz sea mejor no arries- Vistas
garse a pasar por alto alguna vulnerabili- OpenVAS distingue varias vistas de un sqlite3 tasks.db U
dad real. objetivo de escaneo: select * from lsc_credentials;
Para modificar el grado de criticidad de 1. Desde Internet.
las vulnerabilidades identificadas por 2. Desde la red corporativa interna, posi- No bastara con cifrar las credenciales
OpenVAS podemos usar el mecanismo de blemente desde varias zonas de seguri- antes de almacenarlas, porque los datos
severity override, reclasificando el mensaje dad diferenciadas.
generado por el escner entre Security Hole 3. Desde el interior del propio objetivo tras
la debida acreditacin.
Las vistas 1 y 2 slo difieren con respecto
a la posicin ocupada por el escner de
OpenVAS; desde el punto de vista del
cliente del escaneo no hay ninguna diferen-
cia. El cliente de OpenVAS puede abrir
conexiones con un nmero determinado
de escneres y usarlos en paralelo. Aqu
entran en juego las polticas de seguridad
de cada red implicada. Incluso cuando
Figura 2: Configuraciones globales importan- escaneamos nuestro propio servidor, si lo Figura 3: Preferencias para plugins indivi-
tes en el cliente de OpenVAS. hacemos a travs de una zona pblica duales.
lib/openvas/plugins o en
cualquier subdirectorio
de ste. Es mejor que la
primera comprobacin
de la sintaxis y la lgica
Figura 7: El cliente de OpenVAS mostrando los resultados del de nuestros plugins la
escaneo proporcionados por el plugin de ejemplo. hagamos fuera del
entorno de OpenVAS. El
No se puede usar la conexin existente comando
va ssh-authorization.nasl, porque
ssh_login_or_reuse_connection no devolve- openvas-nasl -X U
ra un socket vlido. Por desgracia, hay que -i .. unibwm1.nasl
guardar en claro los datos de la conexin, y
eliminarlos al terminar el plugin. Una vez se encarga de ello. Aqu hemos tenido que
ms, se puede evaluar el valor de la opcin aadir la opcin -X, porque el plugin no
Launch this script. est firmado. El parmetro -i apunta el
Con la finalidad de indagar en el sistema script a los scripts dependientes ubicados
objetivo, el plugin puede ejecutar coman- en el directorio padre. Si la prueba finaliza
dos de terminal arbitrarios mediante con xito, ya podemos incluirla en los
ssh_cmd para luego analizar su salida. clientes. Para ello debemos actualizar el
Tambin disponemos de funciones inter- demonio openvassd envindole una seal
nas, como por ejemplo egrep [16]. La kill -HUP. A partir de ese momento, cual-
salida del plugin es decir, la clasificacin quier cliente que abra una nueva conexin
de vulnerabilidades la generan con el escner recibir la actualizacin con
security_note, security_warning y secu- el plugin.
rity_hole. Tras seleccionar el plugin y escanear el
Los plugins NASL se guardan o bien en sistema objetivo, los resultados aparecern
el directorio Directorio-de-la-instalacin/ en el informe (Figura 7).
RECURSOS
[1] Software de OpenVAS Clientes, ser- usando OpenSSH como ejemplo:
vicios y protocolos: http://www. http://packages.ubuntu.com/hardy/
openvas.org/about-software.html openssh-server
[2] Greenbone: Gestin de vulnerabili- [13] Nmap: Scanning the Internet, por
dades con el GSM: http://greenbone. Gordon Lyon (Fyodor), presentacin
net/learningcenter/vm_with_gsm. en la Black Hat y Debconf 2008:
html http://insecure.org/presentations/
[3] Greenbone Desktop Suite para Win- BHDC08/
dows: http://greenbone.net/ [14] OpenVAS, Perform local security
technology/gds.html checks: http://www.openvas.org/
[4] Paquetes de instalacin de Open- performing_lsc.html
VAS: http://www.openvas.org/ [15] SSH errors during scan, por John
install-packages.html Bradley: http://wald.intevation.org/
[5] Open Suse Build Service: http://de. tracker/index.
opensuse.org/Build_Service php?func=detail&aid=1502&group_i
d=29&atid=220
[6] Greenbone Networks:
http://greenbone.net [16] Manual de referencia para NASL2,
por Micel Arboi: http://michel.arboi.
[7] Repositorio Subversion de Open- free.fr/nasl2ref/nasl2_reference.pdf
VAS: https://svn.wald.intevation.org/
svn/openvas/trunk/ [17] Writing Nasl Scripts (resumen),
por Hemil Shah: http://www.
[8] Makefile y cdigo fuente para la infosecwriters.com/text_resources/
compilacin mostrada en este art- pdf/NASL_HShah.pdf
culo: https://subversion.unibw.de/
public/openvas [18] Analizando Linux Magazine
nmero 59, pg. 64: http://www.
[9] IT-Grundschutz: https://www.bsi. linux-magazine.es/issue/59/
bund.de/DE/Themen/ITGrundschutz/ 064-070_OpenVASLM59.pdf
itgrundschutz_node.html
[19] Script unibwm1 con traduccin al
[10] Virtualbox: http://www.virtualbox. castellano: http://www.
org linux-magazine.es/Magazine/
[11] Backports en desarrollo de software: Downloads/79/OpenVAS
http://es.wikipedia.org/wiki/Backport [20] Subversion:
[12] Parcheado de paquetes en Ubuntu http://subversion.apache.org