Está en la página 1de 6

DESARROLLO OpenVAS 4

Nos ponemos manos a la obra con OpenVAS 4

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

escaneo. POR STEFAN SCHWARZ

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

44 Nmero 79 WWW.LINUX- MAGAZINE.ES


OpenVAS 4 DESARROLLO

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.

WWW.LINUX- MAGAZINE.ES Nmero 79 45


DESARROLLO OpenVAS 4

Versiones, Paquetes y Componentes


Los nombres de los componentes en OpenVAS 4 pueden resul- se acabe con una versin obsoleta. Adems de adquiriendo un
tar confusos en cierto grado. Por ejemplo, el nmero de ver- dispositivo de escaneo con soporte completo desde Green-
sin slo tiene relacin con las libreras (actualmente la 4.0.5); bone [6] con la versin ms actual, los usuarios interesados
el escner (3.2.4) y el manager (2.0.4) usan otros nmeros [4]. pueden descargar los ltimos fuentes desde el repositorio
Los repositorios ofrecidos por la mayora de las distribuciones Subversion del proyecto [7] y compilar las herramientas que
de Linux actuales parece que tienen todos binarios antiguos; necesiten.
Ubuntu 11.04 an ofrece OpenVAS 2. Sin embargo, la comuni- Quien opte por trabajar con la ltima versin, deber obtener
dad ofrece paquetes ms recientes; por ejemplo, el servicio el cdigo a travs de Subversion. La compilacin del paquete
openSUSE Build Service [5] tiene paquetes para Debian y completo es bastante sencilla. Incluso he escrito un Makefile
Ubuntu. para ello y lo he probado en Ubuntu [8]. El archivo se encarga
Los paquetes de OpenVAS 4 ya no incluyen el cliente nativo de la descarga y las actualizaciones, instala los paquetes nece-
para OpenVAS, que muchos usuarios apreciaban porque era sarios y crea e instala las versiones actuales y las actualizacio-
fcil de usar y sus datos de configuracin eran locales. Si se nes (Listado 1). Una vez llevados a cabo estos pasos, make up
usa el gestor de paquetes para la instalacin, probablemente actualizar el software cuando queramos.

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.

46 Nmero 79 WWW.LINUX- MAGAZINE.ES


OpenVAS 4 DESARROLLO

Listado 2: Override para Nivel de Criticidad Escaneos a Proveedores


01 <severity_override name=IT Hole Algunos proveedores de servicios de
Grundschutz M5.064:Secure Shell 06 severity_to=False Positive hosting, conscientes de los proble-
02 host=192.168.178.46 07 active=true> mas derivados de los escaneos por
03 port=general/IT Grund- 08 <reason> red, han desarrollado estrategias pre-
schutz 09 Backport ventivas (a veces muy diferentes).
04 OID=1.3.6.1.4.1.25623.1.0. 10 </reason> Los principales proveedores identifi-
895064 11 </severity_override> can los tpicos patrones de escaneo
05 severity_from=Security en el trfico de red de manera bas-
tante fiable y desconectan automti-
camente el objetivo del escaneo
hay que descrifrarlos durante el escaneo y, forma de acceder a ella sea usando la clave durante un breve espacio de tiempo.
La experiencia nos dice que estas
para ello, hay que guardar la clave en privada. Como slo es posible almacenar la
populares herramientas an arrojan
alguna parte de la aplicacin. frase de paso en texto plano, la mayora de buenos resultados al desplegarlas en
El cliente clsico de OpenVAS presenta los administradores querrn evitar este Internet [13]. OpenVAS da a elegir
cierta debilidad aqu, ya que guarda las cre- mtodo. Slo se puede proteger la clave entre varios escneres de puertos,
configurables desde las preferencias
denciales de acceso en plano en su archivo privada almacenndola en un medio
de la aplicacin. Tambin se puede
de configuracin local, .openvasrc (Tabla seguro (como por ejemplo un pendrive usar cualquier escner de puertos
1). Aunque no es nada recomendable, la USB) o cifrndola a su vez con TrueCrypt, externo para pasarle los resultados a
alternativa, que es almacenar la clave pri- PGP o Encrypt-FS. OpenVAS. De este modo se consigue
que los escaneos de puertos conoci-
vada, es igual de aterradora. Una solucin Lo importante aqu es que el cliente de
dos sobre los servidores web de
factible sera guardar los datos cifrados con OpenVAS slo modifique la configuracin nuestras empresas sean superfluos,
una clave que no se guarde en la aplica- de las credenciales de acceso al escanear el adems de que es posible deshabili-
cin, o incluso aadir soporte para smart- objetivo. Incluso cuando el cliente elimina tarlos definiendo opciones estticas
predeterminadas en OpenVAS.
card. Esta debilidad supone un importante las credenciales de acceso antes de cerrar el
vector para el desarrollo de posteriores ver- programa, stas siguen estando disponibles
siones de OpenVAS. en el archivo de configuracin. El adminis- que viene a ser un acceso de un solo uso
trador del sistema podr acceder, por tanto, para el escaneo.
Claves de Seguridad a pesar de almacenarse la clave central- El proceso de creacin de los pares de
El uso de claves asimtricas proporciona mente claves es similar al que se lleva a cabo con
una solucin para la distribucin de cre- Dado que la correspondiente clave OpenSSH [14]. Sin embargo, al contrario
denciales sobre mltiples sistemas, al pblica se encuentra en el sistema obje- de lo que se dice en la documentacin de
tiempo que se mitiga el problema de un tivo, en ~./.ssh/authorized_keys en el caso OpenVAS, actualmente slo funciona con
repositorio centralizado. La clave pblica de Linux, el administrador puede hacerse claves DSA, pero no con RSA [15]. Es decir,
residira en el sistema objetivo. La cuenta cargo del proceso l mismo, ya que aunque que no es buena idea usar las herramientas
debera tener deshabilitado el acceso se est en posesin tanto de la clave pri- de creacin del paquete interno (en Extras
mediante contrasea para que la nica vada como de la pblica, el acceso al sis- | LSC Credentials Manager). El mtodo slo
tema objetivo sigue estando restringido. Un necesita la clave pblica de la cuenta de
plugin especial de OpenVAS podra restrin- destino (por ejemplo sshovas) en ~/.ssh/
gir el acceso a un scan determinado authorized_keys. Una vez aadida, se
moviendo de sitio el archivo de claves des- debera poder acceder a los sistemas que se
pus del escaneo con este comando: escanearn internamente haciendo:

pread(cmd: /bin/mv, U ssh -i U


argv: make_list (mv,U directorio-con-las-claves/U
~/.ssh/authorized_keys, U sshovas_dsa.p8 U
~/.ssh/authorized_keys.bak)); sshovas@objetivo

Tabla 1: Rutas a los Archivos de Configuracin


Figura 4: Informes de escaneos.
Expediente Significado
~/.openvas Directorio para los archivos de configuracin de los obje-
tivos de los escaneos.
~/.openvasrc Configuracin global.
~/.openvas/Scope/Target Todas las configuraciones (.openvasrc) especficas de este
objetivo del escaneo y los resultados de los escaneos
(Report_date). La primera vez que creamos un objetivo,
OpenVAS copia la configuracin de Scope a Target.
~/.openvas/severity_overrides.xml El archivo XML con las definiciones de los overrides, que
inluyan sobre los resultados del escaneo al evaluar el
Figura 5: Override para un falso positivo. efecto.

WWW.LINUX- MAGAZINE.ES Nmero 79 47


DESARROLLO OpenVAS 4

Listado 3: Fragmento de unibwm1.nasl


01 if(description) 20 script_version($Revision: 289 $);
02 { 21 script_tag(name:risk_factor, value:None);
03 script_id(9999001); 22 script_name(UniBwM 1: Plaintext passwords);
04 script_version($Revision: 7732 $); 23 desc =
05 script_tag(name:risk_factor, value:None); 24 Overview : This script tests against plaintext pass-
06 script_name(UniBwM 1: Plaintext passwords); words for subversion.
07 desc = 25 Risk factor : None;
08 Overview : This script tests against plaintext pass- 26
words for subversion 27 script_description(desc);
09 Risk factor : None; 28 script_summary(Plaintext passwords);
10 29 script_category(ACT_GATHER_INFO);
11 script_description(desc); 30 script_copyright(Copyright (C) 2010 Stefan
12 script_summary(Plaintext passwords); Schwarz);
13 script_category(ACT_GATHER_INFO); 31 script_family(General);
14 script_copyright(Copyright (C) 2010 Stefan 32
Schwarz); script_dependencies(ssh_authorization.nasl,gath-
15 script_family(General); erflpackagefllist.nasl);
16 script_dependencies(ssh_authorization.nasl); 33 script_add_preference(name:Launch this script,
17 if(description) type:checkbox, value:yes);
18 { 34 exit(0);
19 script_id(9999001); 35 }

Para comprobarlo, habilitamos el plugin bales de Subversion en /etc/subversion en 9000001


SSH Authorization. Despus del escaneo, busca de directivas store-passwords = no o 9999991
deberamos ver en SSH | Security Note la store-plain-text-passwords = no. Estas 9999992
verificacin de que las comprobaciones de directivas no deberan estar deshabilitadas,
seguridad estn habilitadas. Ya que algu- como por desgracia ocurre con la instala- Tras ejecutar este comando, decid asignar
nos plugins han sido desarrollados de un cin predeterminada. al ejemplo el nmero 9999001. Con
modo dependiente del lenguaje en que Los detalles del plugin en la cabecera script_add_preference se crea un nuevo
estn programados (por ejemplo, el plugin son de carcter obligatorio (la descripcin), checkbox bajo las preferencias del cliente
para escanear VMware slo reconoce la y se pueden buscar desde los clientes (Lis- de OpenVAS para habilitar el nuevo plugin.
cadena command not found), lo ms lgico tado 3), permitiendo al usuario seleccionar
es usar un entorno en ingls, por ejemplo, los plugins relevantes para el escaneo y El Sistema Objetivo
definiendo la variable LANG=us en el configurar las preferencias. Las instruccio- La siguiente parte del plugin inicia una
archivo ~/.profile. nes en script_dependencies garantizan que conexin protegida por SSH con el sistema
OpenVAS ejecute los plugins necesarios y objetivo. Por desgracia, el intercambio de
Escaneos de Seguridad acceda a los resultados y las tareas previas informacin genrica no funciona en las
Personalizados (en este caso, un login de SSH y el listado pruebas locales porque los plugins son
Aunque OpenVAS cuenta actualmente con de paquetes instalados). incapaces de comunicarse a travs de la
21000 plugins, puede que necesitemos El especificar un ID nico (script_id) pro- KB (knowledge base) interna. Dicho de
desarrollar uno propio para cumplir las vocar problemas inicialmente, ya que otro modo, para las pruebas locales se ha
polticas corporativas. Para ello deberemos OpenVAS no cuenta actualmente con nin- de configurar la conexin SSH explcita-
utilizar NASL (Nessus Attack Scripting Lan- gn esquema de numeracin nica. Nin- mente.
guage). Existen varios manuales disponi- gn plugin hace uso en estos momentos
bles con los que aprender este lenguaje del nuevo OpenVAS ID, script_oid, introdu-
[16] [17], y adems se puede usar algn cido en la versin 1.0.3; en vez de eso,
plugin existente como plantilla. En un art- siguen usando una numeracin simple con
culo anterior de Linux Magazine [18] se script_id. An as, OpenVAS convierte
describe la estructura de un plugin NASL. internamente el antiguo esquema al nuevo
El cdigo fuente del ejemplo de programa- (Figura 6).
cin mostrado aqu est disponible para Podemos usar Awk para encontrar un
descarga [8] y con traduccin al castellano rango numrico vlido para nuestros pro-
[19]. pios plugins:
El ejemplo implementa un requisito de
seguridad que previene el almacenamiento find . -type f U
de contraseas en texto claro en servidores -print | xargs U
de Subversion [20]. El script busca las con- fgrep script_id | U
figuraciones de clientes que no prevengan awk -F [()] U
explcitamente el almacenamiento de con- {print $2} | sort -n
traseas en texto claro. Para ello com- <I>[...]<I> Figura 6: Propiedades de plugin del cliente de
prueba los archivos de configuracin glo- 2000201 OpenVAS.

48 Nmero 79 WWW.LINUX- MAGAZINE.ES


OpenVAS 4 DESARROLLO

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

WWW.LINUX- MAGAZINE.ES Nmero 79 49

También podría gustarte