viernes, 11 de mayo de 2018

OpenVAS: Instalación, configuración y prueba

Vamos a instalar y configurar el escanner de vulnerabilidades de red y aplicaciones OpenVAS para luego lanzar una prueba a un único equipo de red, en este caso contra un AP de Cisco.

Es muy recomendable lanzarlo contra objetivos únicos o segmentos de red controlados ya que si lo hacemos contra toda la red es muy probable que se cuelgen los servidores, estaciones de trabajo, electrónica de Red, etc.

Instalación desde Kali Linux: Descargar el sofware e instarlo:

root@kali: # apt-get update
root@kali: # apt-get install openvas
Una vez instalado vamos a hacer un test de la configuración de OpenVAS:

root@kali: # openvas-check-setup

En este caso el test nos indica que actualizamos las definiciones de red NVT con el comando:

root@kali: # greenbone-nvt-sync
Una vez realizados los tests con éxito, ejecutamos openVAS:

root@kali: # openvas-start 
Se iniciarán los servicios de openVASy se abrirá automáticamente una ventana del explorador web con la interfaz Web. en la siguente captura se observa como se crearon las conexiones loopback:



Definir el usuario y contraseña para acceder a la interfaz web:

root@kali: # openvasmd --create-user=root --role=Admin && openvasmd --user=root --new-password=toor
Accedemos a la web con usuario: root password: toor
A continuación hacemos un scan inmediato la IP del AP, Ir al menú CONFIGURATION/TARGETS / New Target (click al icono superior izquierda en forma de estrella) / luego ir al menú SCANS / TASKS y click al icono superior iquierda en forma de estrella "New task" y seleccionar como target el que acabamos de definir en la configuración de targets. Pulsar Create e iniciar.



Pasados unos minutos vemos que ha detectado una vulnerabilidad "Form basic validation" que significa que el acceso con credenciales al AP no esta cifrado por el puerto 80:

Comprobamos con Tshark que efectivamente el trafico no esta cifrado a la hora de enviar el Usuario y contraseña al AP:

Ejemplo de un caso en el que capturamos el usuario y contraseña de una conversación previamente capturada con Tshark en una conexión sin cifrar; el siguente comando nos permite visulaizar el binario directamente:

root@kali: # less captura.cap


OpenVAS nos va ayudar a conocer  los puntos dèbiles de nuestra red y de esta forma podremos corregir sus vulnerabilidades.

_____   _____


Resumen con capturas de pantala de las fases que van desde el descubrimiendo de la vulnerabilidad con OpenVAS a su explotación con Metaesploit:

Resultados OpenVAS
En OpenVAS: Ver la Referencia CVE en los Resultados de las pruebas, apartado References
Consultar Referencia CVE en Duckduckgo.com por ejemplo.
Buscar  CVE para aplicar en Metaesploit en cvedetails.com y ver el apartado Metaexploit Modules.
Buscar el exploit con el CVE en Metaesploit con la numeración mostrada.







3 comentarios:

  1. En el caso de fallar algún servicio al iniciar OpenVAS, se puede parar y volver a iniciar con el comando openvas-stop , openvas-start

    ResponderEliminar
  2. Si sigue sin arrancar, ejecutar openvasmd y reiniciar openvas.

    ResponderEliminar
  3. La instalación anterior la instalé en un Kali emulado con un imac a través de Parallels.

    Cuando lo intenté instalar en la versión reducida de Kali ARM en la Raspberry me daba el siguiente error al arrancar OpenVAS con el comando openvas-start:

    Openvas-scanner.service FAILED: Redis connection error: cannot access redis at '/run/redis/redis.sock' no such file or directory.

    lo solucioné modificando el archivo de configuración de Redis /etc/redis/redis.conf poniendo esto: unixsocket /tmp/redis.sock

    Luego modifiqué la siguiente ruta en /etc/openvas/openvassd.conf con la ruta donde realmente se había generado el archivo redis.sock:

    kb_location=/tmp/systemmd-private-xxxxxxxxxx-redis-server.service/tmp/redis.sock

    Así, al volver a ejecutar openvas-check-setup ya funcionó:
    Checking OpenVAS Scanner ...
    OK: redis-server is present
    OK: scanner (kb_location setting) is configured properly using the redis-server socket: /tmp/systemmd-private-xxxxxxxxxx-redis-server.service/tmp/redis.sock
    OK: redis-server is running and listening on socket: /tmp/systemmd-private-xxxxxxxxxx-redis-server.service/tmp/redis.sock
    OK: redis-server configuration is OK and redis-server is running.

    ResponderEliminar