1.4.11

un clasico... Nessus (Scanner de vulnerabilidades).


nessus es un scanner de vulnerabilidades muy utilizado tanto x administradores de red como hackers... lo mejor para evitar un ataque es usar las mismas tecnicas q el atacante. la diferencia entre un simple scanner de puertos y uno de vulnerabilidades es q el 1ero simplemente trata de conectar a puertos abiertos en el objetivo mientras q en el 2do esa es solamente la 1era parte del trabajo.

lo q hace nessus (y similares) es comenzar con un scanneo de puertos y despues en base a los resultados prueba una serie de exploits q almacena en su base de datos, estos "tests de vulnerabilidad" estan escritos en NASL (Nessus Attack Scripting Language) q es un lenguaje de scripting propio del sistema. esta base de datos es actualizable siempre y cuando registremos el software ya que hace unos años nessus dejo de ser gpl para pasar a tener licencia comercial aunque se puede registrar gratuitamente para uso hogareño.

nessus esta disponible en versiones para linux, windows, OS X, freebsd y solaris y se puede descargar desde aca despues de aceptar la licencia:

http://www.nessus.org/download/


instalacion y registro...

elegimos el paquete correspondiente a nuestro sistema y procedemos a instalarlo, en mi caso con dpkg:

dpkg -i Nessus-4.4.1-debian5_i386.deb

si fuera redhat/suse:

rpm -ivh Nessus.....rpm

y en windows... bue... click, next... como siempre ;)

en versiones anteriores nessus constaba de la parte server (la q hace el scanneo) y el cliente q se conectaba a este para indicarle lo q debe hacer. en esta version el cliente corre directamente desde cualquier browser asi q ya terminamos con la instalacion, solo hay q configurar un par de cosas para empezar a usarlo.

a continuacion creamos un user para loguear en el server, el directorio de instalacion x default es /opt/nessus/ asi que ponemos:

/opt/nessus/sbin/nessus-adduser

lo q nos devuelve en pantalla:

Login : username
Login password :
Login password (again) :
Do you want this user to be a Nessus 'admin' user ? (can upload plugins, etc...) (y/n) [n]: y
User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that username has the right to test. For instance, you may want
him to be able to scan his own host only.

Please see the nessus-adduser manual for the rules syntax

Enter the rules for this user, and enter a BLANK LINE once you are done :
(the user can have an empty rules set)

Login : username
Password : ***********
This user will have 'admin' privileges within the Nessus server
Rules :
Is that ok ? (y/n) [y] y
User added

1ero nos pide el usuario, despues password y confirmacion y si queremos darle al user derechos de admin. a continuacion podemos definir un set de reglas para el usuario, lo dejamos en blanco presionando enter y finalmente nos muestra los datos de la cuenta y pide confirmacion. con el tema de las reglas se pueden restringir usuarios a ciertos rangos de ip x ejemplo, en el manual del comando se puede encontrar mas info sobre esto.

antes de arrancar el proceso lo mejor es registrarnos en la pagina:

http://www.tenable.com/products/nessus/nessus-plugins/obtain-an-activation-code

elegimos "using nessus at home" y seguimos los pasos poniendo una direccion de correo valida ya q ahi nos envian la key de registro. una vez q la tenemos procedemos a registrarlo:

locutus:/# /opt/nessus/bin/nessus-fetch --register XXXX-XXXX-XXXX-XXXX-XXXX
Your activation code has been registered properly - thank you.
Now fetching the newest plugin set from plugins.nessus.org...

se va a pasar asi un rato hasta actualizar la base de plugins asi q tengan paciencia y no corten el proceso hasta q termine. si no me hacen caso y lo cortan o pasa algo se puede actualizar haciendo:

/opt/nessus/sbin/nessus-update-plugins

no me acuerdo si despues lanza solo el daemon pero en todo caso lo arrancamos como cualquier otro:

/etc/init.d/nessusd start


scanneando...

una vez q el server esta instalado y corriendo solo queda abrir un navegador y poner:

https://localhost:8834/

esperamos q cargue y nos muestra la pantalla de logueo:


lo 1ero es crear una politica de scanneo, vamos a "policies" y hacemos click en "add":


en el siguiente menu especificamos los detalles del scanneo q vamos a correr, es recomendable mirar bien todo segun el caso si se quiere hacer algo mas dirigido y rapido, pero tambien pueden dejar todo x default y hacer el scanneo completo. se pueden cargar credenciales (win, ssh, kerberos, etc) si tienen alguna y elegir los plugins y las preferencias de cada uno.



ahora ya podemos empezar el scaneo, vamos a "scans" y "add" y completamos los datos:



un nombre para el scan, en policy elegimos la politica q recien creamos y en scan target el objetivo(s), click en "launch scan" y ya esta corriendo:


si hacemos click en el nombre del host y despues en "browse" podemos ver el progreso y al finalizar en reports vemos el reporte completo:



y haciendo click en cada uno de los puertos se visualizan las vulnerabilidades encontradas junto con una descripcion del problema y la forma de parcharlo (o explotarlo) si esta disponible.