You are on page 1of 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 vulnerabilidades. Razn de ms para ver qu hay de nuevo eliminarlo y cmo podemos crear nuestra propia solucin de escaneo. POR STEFAN SCHWARZ
Norebbo, 123rf.com

penVAS es un sistema de software libre con licencia GPL para la comprobacin de vulnerabilidades, con diversos servicios y componentes que podemos desplegar de varios modos para lograr un entorno adaptado a nuestra red. OpenVAS Manager es un servicio central para controlar el framework OpenVAS que se comunica con los componentes de escaneo mediante el protocolo OMP (OpenVAS Management Protocol), basado en XML, y almacena los resultados de los escaneos en una base de datos SQLite. OpenVAS [1] est actualmente siendo modificado y acaba de llegar a la versin 4. En este artculo presentamos el escner y echamos un ojo al sistema de clientes y sus vulnerabilidades. Tambin veremos algunos consejos para la implantacin de OpenVAS e incluso cmo escribir nuestros propios plugins.

Nuevas Funcionalidades
El framework OpenVAS ha cambiado bastante con respecto a la versin 3, pero sigue siendo compatible con las herramientas y protocolos de la versin 2. Aparte del nuevo OMP, que ayuda a gestionar los procesos de escaneo, se ha aadido el proto-

colo OAP (OpenVAS Administration Protocol) para la administracin de clientes y nuevos servicios. OpenVAS Manager gestiona la comunicacin dentro del framework y almacena los datos relativos a los escaneos en su base de datos SQLite interna, descargando as los nuevos clientes OMP y ayudando a organizar el acceso a los datos de escaneo almacenados. La comunicacin con el escner, openvassd, an se apoya en el protocolo OTP (OpenVAS Transfer Protocol). El servicio OpenVAS Administrator proporciona al administrador un medio con el que gestionar usuarios y certificados. Ahora tambin existen nuevos clientes de escaneo, aparte del cliente de OpenVAS basado en Gtk que ya haba. La aplicacin de servidor Greenbone Security Assistant (GSA) [2] se ejecuta en el navegador. Por otro lado, Greenbone Security Desktop (GSD, Figura 1) [3], que se ejecuta en Windows (gracias a Qt), o la herramienta de lnea de comandos omp, completan la seleccin de opciones libres. Los clientes de escritorio, que estaban incompletos en la versin 3, cubren actualmente la totalidad de las funcionalidades de OpenVAS. En produccin, el clsico

cliente de OpenVAS sigue siendo ms sencillo y rpido. La estructura jerrquica del cliente, as como su capacidad para organizar los objetivos del escaneo en Targets y Scopes son sus puntos ms fuertes. Tras definir las propiedades estndar del escaneo, se pueden asignar las propiedades desde el objetivo a un scope para modificarlas luego segn se necesite. Esta caracterstica simplifica y agiliza el proceso de diseo y ejecucin de nuevos escaneos, siendo tan sencillo como alternar entre los distintos objetivos y resultados. Definir un escaneo en los clientes web o de escritorio es bastante menos fluido en comparacin. El proceso comienza por la definicin de Scan Configs, Credentials, Scan Targets y Tasks. Lo que en principio promete ser un conjunto de mdulos reusables, acaba convirtindose en un obstculo a la hora de modificar las configuraciones ms tarde. Por ejemplo, no se pueden modificar los objetivos del escaneo retrospectivamente, ni tampoco se pueden reemplazar los objetivos de las tareas de escaneo, siendo necesario crear nuevas entradas. Los nuevos clientes no soportan actualmente el uso de listados basados en archivos para definir

44

Nmero 79

WWW.LINUX- MAGAZINE.ES

OpenVAS 4 DESARROLLO

los objetivos. Dicho de otro modo, si deseamos escanear cientos de hosts virtuales con el fin de determinar la ubicacin de un servidor web vulnerable, lo mejor es usar el cliente clsico, al que slo tenemos que pasarle un archivo de texto con la lista de hosts.

Comencemos
Antes de empezar a usar VAS, conviene familiarizarse con los formatos de los datos de OpenVAS y limpiar las ubicaciones donde se almacenarn los datos para estar seguros de tener la configuracin correcta para las preferencias ms importantes. As tambin se evitan errores a la hora de almacenar informacin confidencial. Si se est utilizando el cliente de OpenVAS clsico, la estructura jerarquizada de los objetivos resulta de gran ayuda, ya que se puede aplicar parte de la configuracin a otros objetivos. Podemos modificar la jerarqua de objetivos a posteriori simplemente moviendo los directorios desde el sistema de archivos. El archivo .openvasrc es particularmente interesante para cada objetivo del escaneo, ya que todas las configuraciones del mismo residen all, incluidas aquellas opciones que no se pueden definir en los clientes. Por ejemplo, con log_whole_attack = no deshabilitamos todos los registros de logs en el servidor de escaneo centralizado. En las Figuras 2 y 3 se muestran las preferencias globales, que conviene comprobar antes de pasar a escanear. Por ejemplo, si se estn evaluando servidores web conviene habilitar las peticiones inversas para evitar que se agrupen todos los resultados bajo una misma direccin IP compartida. Inicialmente, la opcin Safe checks es imprescindible, puesto que los escaneos de DoS no deberan estar entre las primeras pruebas a realizar; por desgracia, esta opcin viene deshabilitada por defecto. Tambin querremos reducir el nmero de hosts a escanear en paralelo, as como el nmero de pruebas a completar para evitar cargas innecesarias en la red y en los objetivos. Si nos ponemos de acuerdo con el administrador de la red, podemos evitar que algn cortafuegos o algn sistema de IDP provoque resultados no vlidos. Inicialmente al menos, el OpenVAS TCP scanner no es mala opcin; si usamos nmap como escner de red, debemos hacer la prueba en un proceso aparte para luego aplicar los resultados.

Los plugins definen la interfaz cliente de OpenVAS y se establecen en Prefs, bajo la opcin Options. Conviene comprobarlas despus de actualizar o cargar plugins. Por ejemplo, podemos habilitar las comprobaciones en lnea con la German Federal Office for Information Security standards for IT security (BSI IT-Grundschutz) [9] con Compliance Tests (Figura 3). Esta forma de configurar los plugins hace que al final acabemos desarrollando los nuestros propios.

Comenzamos comprobando la informacin general en general/tcp, especialmente los parmetros aadidos para el escaneo, como la configuracin, la duracin, etc.

Vulnerabilidades
Aunque el sistema objetivo est completamente actualizado, el primer escaneo suele revelar decenas de vulnerabilidades crticas, casi siempre debidas a un uso incorrecto o a programas de los plugins de escaneo que no toleran bien los fallos. Por ejemplo, los escaneos de IT-Grundschutz [9] slo devuelven resultados significativos si pueden acceder al sistema objetivo internamente, siendo necesario acreditarse. Si no hacemos login, los tests fallan y, por desgracia, devuelven un estado que se refleja en la cantidad de agujeros de seguridad crticos encontrados. Dicho de otro modo, debemos deshabilitar estos plugins o proporcionar las credenciales de acceso antes de ejecutar la prueba. Las estadsticas nos pueden llevar a engao, ya que OpenVAS an no est preparado para la realizacin de pruebas completamente automatizadas.

Un Objetivo Adecuado

El objetivo ms obvio para empezar (la seleccin de Target) tras instalar el cliente o el servidor es localhost. Ya se conoce la configuracin de la mquina y se dispone de los permisos necesarios para verificar las vulnerabilidades encontradas y repetir la prueba. Si el cliente y el servidor se ejecutan en sistemas diferentes, podemos coger como objetivo el sistema cliente propio. Aqu es preciso tener en cuenta la red que conecta las dos mquinas. Tambin se puede instalar una mquina virtual para las pruebas (por ejemplo con VirtualBox [10]), que permita modificarla fcilmente y Falsos Positivos guardar capturas de sus distintos estados. Otro problema recurrente es que los pluDespus de escoger los plugins (hay ms gins suelen identificar los que ellos creen de 21000 en estos momentos), ya podemos que son nmeros de versin obsoletos, casi empezar con el primer escaneo. Comenzasiempre en sistemas con backports [11]. En remos simulando ser completamente extraeste tipo de servicios se suelen incorporar os al sistema, es decir, sin proporcionar las soluciones para vulnerabilidades desculas credenciales de acceso para el sistema biertas en versiones antiguas pero soportaobjetivo, igual que si furamos unos extradas oficialmente. Pero el backport, a pesar os. Dependiendo de los puertos abiertos y de estar al da en materia de parches de los servicios activos, el escaneo puede lleseguridad, no tiene por qu incrementar el var desde un par de minutos hasta varias nmero de versin, lo que puede confundir horas, aunque podemos interrumpir el proa OpenVAS. Un escner de seguridad no ceso en cualquier momento. Una vez comcomprueba las vulnerabilidades, sino que pletado o cancelado, se nos presenta un busca las versiones que se sabe que son informe con los detalles del objetivo en vulnerables. base a los puertos o servicios detectados. Ubuntu 8.04 server es un buen ejemplo: Bajo la pestaa Report del cliente de OpenVAS clasifica como crtica la versin OpenVAS se muestran tres tipos de datos (Figura 4): Security Hole indica las potenciales vulnerabilidades halladas durante el escaneo; Security Note contiene informacin til sobre el puerto para la evaluacin del sistema; y por ltimo, Log Message muestra la informacin devuelta por el plugin, que Figura 1: El cliente de escritorio Greenbone Security Desktop est hecho con Qt. puede ser muy til.

WWW.LINUX- MAGAZINE.ES

Nmero 79

45

DESARROLLO OpenVAS 4

Versiones, Paquetes y Componentes


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

y False Positive. Los valores se 01 make depend # instala los paquetes necesarios almacenan 02 make # crea e instala OpenVAS 03 make initial # crea los certificados, la base de datos, etc. globalmente 04 make start # inicia en segundo plano los procesos necesarios en el archivo severity_ovede OpenSSH que utiliza, pero si investigarrides.xml (Tabla 1), desde donde podremos un poco sobre la versin y el estado de mos modificarlos ms tarde (Listado 2 y los parches, podremos comprobar que sshFigura 5) y aplicarlos a los resultados de los 2.0-openssh_4.7p1debian-8ubuntu1.2 est informes. actualizado y cuenta con todos los parches Los overrides normalmente tienen que de seguridad [12]. Los plugins sacan conver con el host mostrado en el informe clusiones errneas por pequeos detalles (192.168.178.46 en este ejemplo). Para como ste, obligndonos a borrar estos ampliar a un grupo de hosts, o a todos los mensajes a mano. hosts, slo hay que cambiar la entrada Para reducir el nmero de falsos positihost= a 192.168.178.*. Pero debemos vos en general tenemos la opcin Report tener cuidado: el cambio afectar a la regla paranoia en Global variable settings, al completo y har que OpenVAS clasifique donde podemos escoger desde Normal como falsos positivos incluso las vulnerabihasta Avoid false alarms. Pero claro, esta lides verdaderas. Es decir, que se deben opcin slo tiene efecto sobre los plugins comprobar las reglas de override frecuenteque efectivamente la evalan, que son mente. slo 130 de los ms de 21000 existentes. Vistas Por este motivo, quiz sea mejor no arriesgarse a pasar por alto alguna vulnerabiliOpenVAS distingue varias vistas de un dad real. objetivo de escaneo: Para modificar el grado de criticidad de 1. Desde Internet. las vulnerabilidades identificadas por 2. Desde la red corporativa interna, posiOpenVAS podemos usar el mecanismo de blemente desde varias zonas de seguriseverity 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 diferencia. 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 importanescaneamos nuestro propio servidor, si lo tes en el cliente de OpenVAS. hacemos a travs de una zona pblica

Listado 1: Compilacin y Ejecucin de OpenVAS

puede que estemos infringiendo las normas.

Dentro del Objetivo


Los escaneos de OpenVAS que tienen la capacidad de acreditarse en el host objetivo y analizar el host desde el interior devuelven resultados ms precisos. Nunca se debe acceder como root; con una cuenta sin privilegios es suficiente para revelar informacin acerca del sistema y sus vulnerabilidades. Debemos proteger los pares de usuario/ contrasea de los sistemas objetivo, pero por desgracia, OpenVAS no lo hace muy bien; guarda las contraseas en texto plano en su base de datos SQLite, pudiendo acceder a ellas al menos el administrador del servidor de escaneos, que no tiene por qu ser necesariamente el administrador de todos los sistemas objetivo. Con un simple comando SQL, cualquiera que tenga acceso a la base de datos podr ver la informacin confidencial:
sqlite3 tasks.db U select * from lsc_credentials;

No bastara con cifrar las credenciales antes de almacenarlas, porque los datos

Figura 3: Preferencias para plugins individuales.

46

Nmero 79

WWW.LINUX- MAGAZINE.ES

OpenVAS 4 DESARROLLO

Listado 2: Override para Nivel de Criticidad


01 <severity_override name=IT Grundschutz M5.064:Secure Shell 02 host=192.168.178.46 03 port=general/IT Grundschutz 04 OID=1.3.6.1.4.1.25623.1.0. 895064 05 severity_from=Security Hole 06 severity_to=False Positive 07 active=true> 08 <reason> 09 Backport 10 </reason> 11 </severity_override>

Escaneos a Proveedores
Algunos proveedores de servicios de hosting, conscientes de los problemas derivados de los escaneos por red, han desarrollado estrategias preventivas (a veces muy diferentes). Los principales proveedores identifican los tpicos patrones de escaneo en el trfico de red de manera bastante fiable y desconectan automticamente el objetivo del escaneo durante un breve espacio de tiempo. La experiencia nos dice que estas populares herramientas an arrojan buenos resultados al desplegarlas en Internet [13]. OpenVAS da a elegir entre varios escneres de puertos, configurables desde las preferencias de la aplicacin. Tambin se puede usar cualquier escner de puertos externo para pasarle los resultados a OpenVAS. De este modo se consigue que los escaneos de puertos conocidos sobre los servidores web de nuestras empresas sean superfluos, adems de que es posible deshabilitarlos definiendo opciones estticas predeterminadas en OpenVAS.

hay que descrifrarlos durante el escaneo y, para ello, hay que guardar la clave en alguna parte de la aplicacin. El cliente clsico de OpenVAS presenta cierta debilidad aqu, ya que guarda las credenciales de acceso en plano en su archivo de configuracin local, .openvasrc (Tabla 1). Aunque no es nada recomendable, la alternativa, que es almacenar la clave privada, es igual de aterradora. Una solucin factible sera guardar los datos cifrados con una clave que no se guarde en la aplicacin, o incluso aadir soporte para smartcard. Esta debilidad supone un importante vector para el desarrollo de posteriores versiones de OpenVAS.

Claves de Seguridad
El uso de claves asimtricas proporciona una solucin para la distribucin de credenciales sobre mltiples sistemas, al tiempo que se mitiga el problema de un repositorio centralizado. La clave pblica residira en el sistema objetivo. La cuenta debera tener deshabilitado el acceso mediante contrasea para que la nica

forma de acceder a ella sea usando la clave privada. Como slo es posible almacenar la frase de paso en texto plano, la mayora de los administradores querrn evitar este mtodo. Slo se puede proteger la clave privada almacenndola en un medio seguro (como por ejemplo un pendrive USB) o cifrndola a su vez con TrueCrypt, PGP o Encrypt-FS. Lo importante aqu es que el cliente de OpenVAS slo modifique la configuracin de las credenciales de acceso al escanear el objetivo. Incluso cuando el cliente elimina las credenciales de acceso antes de cerrar el programa, stas siguen estando disponibles en el archivo de configuracin. El administrador del sistema podr acceder, por tanto, a pesar de almacenarse la clave centralmente Dado que la correspondiente clave pblica se encuentra en el sistema objetivo, en ~./.ssh/authorized_keys en el caso de Linux, el administrador puede hacerse cargo del proceso l mismo, ya que aunque se est en posesin tanto de la clave privada como de la pblica, el acceso al sistema objetivo sigue estando restringido. Un plugin especial de OpenVAS podra restringir el acceso a un scan determinado moviendo de sitio el archivo de claves despus del escaneo con este comando:
pread(cmd: /bin/mv, U argv: make_list (mv,U ~/.ssh/authorized_keys, U ~/.ssh/authorized_keys.bak));

que viene a ser un acceso de un solo uso para el escaneo. El proceso de creacin de los pares de claves es similar al que se lleva a cabo con OpenSSH [14]. Sin embargo, al contrario de lo que se dice en la documentacin de OpenVAS, actualmente slo funciona con claves DSA, pero no con RSA [15]. Es decir, que no es buena idea usar las herramientas de creacin del paquete interno (en Extras | LSC Credentials Manager). El mtodo slo necesita la clave pblica de la cuenta de destino (por ejemplo sshovas) en ~/.ssh/ authorized_keys. Una vez aadida, se debera poder acceder a los sistemas que se escanearn internamente haciendo:
ssh -i U directorio-con-las-claves/U sshovas_dsa.p8 U sshovas@objetivo

Tabla 1: Rutas a los Archivos de Configuracin


Figura 4: Informes de escaneos. Expediente ~/.openvas ~/.openvasrc ~/.openvas/Scope/Target Significado Directorio para los archivos de configuracin de los objetivos de los escaneos. Configuracin global. 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. El archivo XML con las definiciones de los overrides, que inluyan sobre los resultados del escaneo al evaluar el efecto.

~/.openvas/severity_overrides.xml Figura 5: Override para un falso positivo.

WWW.LINUX- MAGAZINE.ES

Nmero 79

47

DESARROLLO OpenVAS 4

Listado 3: Fragmento de unibwm1.nasl


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

Para comprobarlo, habilitamos el plugin SSH Authorization. Despus del escaneo, deberamos ver en SSH | Security Note la verificacin de que las comprobaciones de seguridad estn habilitadas. Ya que algunos plugins han sido desarrollados de un modo dependiente del lenguaje en que estn programados (por ejemplo, el plugin para escanear VMware slo reconoce la cadena command not found), lo ms lgico es usar un entorno en ingls, por ejemplo, definiendo la variable LANG=us en el archivo ~/.profile.

Escaneos de Seguridad Personalizados


Aunque OpenVAS cuenta actualmente con 21000 plugins, puede que necesitemos desarrollar uno propio para cumplir las polticas corporativas. Para ello deberemos utilizar NASL (Nessus Attack Scripting Language). Existen varios manuales disponibles con los que aprender este lenguaje [16] [17], y adems se puede usar algn plugin existente como plantilla. En un artculo anterior de Linux Magazine [18] se describe la estructura de un plugin NASL. El cdigo fuente del ejemplo de programacin mostrado aqu est disponible para descarga [8] y con traduccin al castellano [19]. El ejemplo implementa un requisito de seguridad que previene el almacenamiento de contraseas en texto claro en servidores de Subversion [20]. El script busca las configuraciones de clientes que no prevengan explcitamente el almacenamiento de contraseas en texto claro. Para ello comprueba los archivos de configuracin glo-

bales de Subversion en /etc/subversion en busca de directivas store-passwords = no o store-plain-text-passwords = no. Estas directivas no deberan estar deshabilitadas, como por desgracia ocurre con la instalacin predeterminada. Los detalles del plugin en la cabecera son de carcter obligatorio (la descripcin), y se pueden buscar desde los clientes (Listado 3), permitiendo al usuario seleccionar los plugins relevantes para el escaneo y configurar las preferencias. Las instrucciones en script_dependencies garantizan que OpenVAS ejecute los plugins necesarios y acceda a los resultados y las tareas previas (en este caso, un login de SSH y el listado de paquetes instalados). El especificar un ID nico (script_id) provocar problemas inicialmente, ya que OpenVAS no cuenta actualmente con ningn esquema de numeracin nica. Ningn plugin hace uso en estos momentos del nuevo OpenVAS ID, script_oid, introducido en la versin 1.0.3; en vez de eso, siguen usando una numeracin simple con script_id. An as, OpenVAS convierte internamente el antiguo esquema al nuevo (Figura 6). Podemos usar Awk para encontrar un rango numrico vlido para nuestros propios plugins:
find . -type f U -print | xargs U fgrep script_id | U awk -F [()] U {print $2} | sort -n <I>[...]<I> 2000201

9000001 9999991 9999992

Tras ejecutar este comando, decid asignar al ejemplo el nmero 9999001. Con script_add_preference se crea un nuevo checkbox bajo las preferencias del cliente de OpenVAS para habilitar el nuevo plugin.

El Sistema Objetivo
La siguiente parte del plugin inicia una conexin protegida por SSH con el sistema objetivo. Por desgracia, el intercambio de informacin genrica no funciona en las pruebas locales porque los plugins son incapaces de comunicarse a travs de la KB (knowledge base) interna. Dicho de otro modo, para las pruebas locales se ha de configurar la conexin SSH explcitamente.

Figura 6: Propiedades de plugin del cliente de OpenVAS.

48

Nmero 79

WWW.LINUX- MAGAZINE.ES

OpenVAS 4 DESARROLLO

Figura 7: El cliente de OpenVAS mostrando los resultados del escaneo proporcionados por el plugin de ejemplo.

lib/openvas/plugins o en cualquier subdirectorio de ste. Es mejor que la primera comprobacin de la sintaxis y la lgica de nuestros plugins la hagamos fuera del entorno de OpenVAS. El

No se puede usar la conexin existente va ssh-authorization.nasl, porque ssh_login_or_reuse_connection no devolvera un socket vlido. Por desgracia, hay que guardar en claro los datos de la conexin, y eliminarlos al terminar el plugin. Una vez ms, se puede evaluar el valor de la opcin Launch this script. Con la finalidad de indagar en el sistema objetivo, el plugin puede ejecutar comandos de terminal arbitrarios mediante ssh_cmd para luego analizar su salida. Tambin disponemos de funciones internas, como por ejemplo egrep [16]. La salida del plugin es decir, la clasificacin de vulnerabilidades la generan security_note, security_warning y security_hole. Los plugins NASL se guardan o bien en el directorio Directorio-de-la-instalacin/

comando
openvas-nasl -X U -i .. unibwm1.nasl

se encarga de ello. Aqu hemos tenido que aadir la opcin -X, porque el plugin no est firmado. El parmetro -i apunta el script a los scripts dependientes ubicados en el directorio padre. Si la prueba finaliza con xito, ya podemos incluirla en los clientes. Para ello debemos actualizar el demonio openvassd envindole una seal kill -HUP. A partir de ese momento, cualquier cliente que abra una nueva conexin con el escner recibir la actualizacin con el plugin. Tras seleccionar el plugin y escanear el sistema objetivo, los resultados aparecern I en el informe (Figura 7).

RECURSOS
[1] Software de OpenVAS Clientes, servicios y protocolos: http://www. openvas.org/about-software.html [2] Greenbone: Gestin de vulnerabilidades con el GSM: http://greenbone. net/learningcenter/vm_with_gsm. html [3] Greenbone Desktop Suite para Windows: http://greenbone.net/ technology/gds.html [4] Paquetes de instalacin de OpenVAS: http://www.openvas.org/ install-packages.html [5] Open Suse Build Service: http://de. opensuse.org/Build_Service [6] Greenbone Networks: http://greenbone.net [7] Repositorio Subversion de OpenVAS: https://svn.wald.intevation.org/ svn/openvas/trunk/ [8] Makefile y cdigo fuente para la compilacin mostrada en este artculo: https://subversion.unibw.de/ public/openvas [9] IT-Grundschutz: https://www.bsi. bund.de/DE/Themen/ITGrundschutz/ itgrundschutz_node.html [10] Virtualbox: org usando OpenSSH como ejemplo: http://packages.ubuntu.com/hardy/ openssh-server [13] Nmap: Scanning the Internet, por Gordon Lyon (Fyodor), presentacin en la Black Hat y Debconf 2008: http://insecure.org/presentations/ BHDC08/ [14] OpenVAS, Perform local security checks: http://www.openvas.org/ performing_lsc.html [15] SSH errors during scan, por John Bradley: http://wald.intevation.org/ tracker/index. php?func=detail&aid=1502&group_i d=29&atid=220 [16] Manual de referencia para NASL2, por Micel Arboi: http://michel.arboi. free.fr/nasl2ref/nasl2_reference.pdf [17] Writing Nasl Scripts (resumen), por Hemil Shah: http://www. infosecwriters.com/text_resources/ pdf/NASL_HShah.pdf [18] Analizando Linux Magazine nmero 59, pg. 64: http://www. linux-magazine.es/issue/59/ 064-070_OpenVASLM59.pdf [19] Script unibwm1 con traduccin al http://www. castellano: linux-magazine.es/Magazine/ Downloads/79/OpenVAS [20] Subversion: http://subversion.apache.org

http://www.virtualbox.

[11] Backports en desarrollo de software: http://es.wikipedia.org/wiki/Backport [12] Parcheado de paquetes en Ubuntu

WWW.LINUX- MAGAZINE.ES

Nmero 79

49

You might also like