INTEGRANDO NIKTO Y NESUS

Nikto puede ser integrado con Nessus, de forma tal que cada vez que se ejecute un escaneo con Nessus, automáticamente se ejecute Nikto con una política creada en Nessus. Para conocer detalles sobre la instalación y uso básico de Nessus (y opcionalmente de su integración con MetaSploit) véase la entrada anterior aquí

Como se ha indicado en entradas anteriores Nikto es un programa liviano que se ejecuta desde linea de comandos y es fácil de utilizar, sin embargo, en muchas ocasiones resulta mucho mas optimo integrarlo en herramientas como Nessus o Metasploit.

Los pasos para la integración de Nikto en Nessus son los siguientes:

  1. Tener correctamente instalado y configurado Nessus para la ejecución de escaneos. Para esto es necesario tener un código de activación que se debe solicitar por medio de la pagina de registro de Nessus localizada en: http://www.nessus.org/products/nessus/nessus-plugins/obtain-an-activation-code el código de activación enviado, tiene una duración determinada por lo tanto es frecuente que un día, después de iniciar el servicio de Nessus e intentar acceder a la consola web, está simplemente no haga nada. Ante esta situación basta con solicitar un código de activación nuevo y volver a registrarlo sin sentir preocupación sobre políticas de escaneo o configuraciones personalizadas, dado que nada de esto se pierde cuando se vuelve a registrar un nuevo código de activación.

  2. Tener correctamente instalado y configurado Nikto para la ejecución de escaneos de servidores web, para obtener información mas detallada del proceso de instalación y configuración de Nikto, véase la entrada anterior de este blog Aquí.
    Para que Nessus localice correctamente el comando de ejecución de Nikto esté se debe de encontrar en el perfil del usuario y debe poder ser ejecutado desde linea de comandos sin necesidad de navegar hasta el directorio de instalación de Nikto, para esto se debe exportar la ruta de instalación de Nikto a la variable $PATH en el fichero /etc/profiles o <USER>/.bashrc en cualquiera de ambos casos, se debe apuntar al directorio de instalación donde se encuentra Nikto, por ejemplo:
    export PATH=/opt/nikto-2.1.4/:$PATH$

  3. Por otra parte es necesario establecer el fichero de configuración de Nikto, o bien en /etc/nikto.conf, o editando el programa nikto.pl y cambiando la linea:

    $VARIABLES{‘configfile’} = «/etc/nikto.conf»;

    Por:

    $VARIABLES{‘configfile’} = «/opt/nikto-2.1.4/nikto.conf»;

    Suponiendo que el directorio de configuración empleado para utilizar Nikto se encuentre en el directorio /opt/nikto-2.1.4/

  4. Posteriormente, es necesario iniciar sesión en la consola web de Nessus, ubicada por defecto en: https://localhost:8834/
    Desde la interfaz web, seleccionar la opción de Policies, y sobre una política previamente creada, se pueden establecer las opciones de configuración para ejecutar Nikto desde Nessus, en el caso de que no exista una política creada, se puede crear una nueva y editar los campos correspondientes.

  5. Una vez creada la política, procederemos a configurar y habilitar el plugin Nikto en Nessus, para ello:

    1. Seleccionamos editar sobre la política creada

    2. Seleccionamos la opción Preferencias y en el combo donde se listan los plugins, seleccionamos “Nikto (NASL wrapper)”

    3. Procedemos a configurar las opciones del Plugin, en primer lugar es necesario habilitar Nikto por medio del check “Enable Nikto” posteriormente, todas las opciones definidas corresponden a las soportadas por Nikto, para mayor información sobre estas opciones y su funcionamiento, ver las entradas anteriores correspondientes a: conceptos básicos y técnicas de escaneo respectivamente.

    4. Después se debe seleccionar la opción Plugins, y en la parte donde se establece el filtro, indicamos “nikto” de esta forma en el panel correspondiente a Families, debe aparecer CGI abuses, se pulsa sobre este ítem, y sobre el panel de la derecha, correspondiente a Plugins, seleccionamos el plugin “14260 Nikto (NASL wrapper)” y presionamos el botón “Enable All”, de este modo el plugin se debe cambiar de color y ponerse verde. Finalmente presionamos sobre el botón “Submit”

    5. Seleccionar la opción de “Scans” y crear un nuevo escaneo con la opción “Add”

    6. Establecemos un nombre al escaneo, definimos el tipo de ejecución “Run Now” , seleccionamos la política anteriormente creada y en el área de texto definimos las maquinas que deseamos escanear, estos serán los objetivos del escaneo que Nikto tomará como parámetros, se pueden definir segmentos de red o host individuales separados por “;” por ejemplo para ejecutar un escaneo para todas las maquinas en el segmento de la red 192.168.1.255 desde la primera máquina con dirección IP asignada por el servidor DHCP correspondiente se ejecuta 192.168.1.1/24. Finalmente seleccionamos la opción Launch Scan.

    7. Después de que Finalice el escaneo, podemos ver los resultados del mismo desde la opción “Reports”. Desde allí, seleccionar el escaneo ejecutado y pulsar el botón “Browse”.
      Donde se mostrarán todos y cada uno de los host involucrados en la ejecución del escaneo, desde allí se puede seleccionar la opción “show filters” donde se listará un formulario que separará las vulnerabilidades encontradas por Plugin, seleccionar la opción “contains” en Plugin Name e indicar la cadena “nikto” y de esta forma, se filtrarán los resultados a solamente aquellos que contengan el plugin correspondiente a Nikto.

    8. Una vez filtrados los resultados, podemos seleccionar cualquiera de los host que aparecen en el listado y aparecerán los puertos y las columnas correspondientes a la severidad de la incidencia, posteriormente es posible seleccionar la opción “Download Report” y seleccionar un formato de salida para el reporte si se selecciona un texto claro como HTML podrá verse claramente en el reporte la ejecución del comando que se ha llevado a cabo por Nikto desde Nessus.
      Los comando ejecutados por Nessus han sido similares los siguientes:
      nikto.pl -h https://192.168.1.43:8834 -ssl -Cgidirs all
      nikto.pl -h https://192.168.1.43:80 -ssl -Cgidirs all

Con los pasos anteriormente mencionados será suficiente para integrar Nikto en Nessus, de esta forma es posible tener un único entorno para realizar escaneos y recolección de información sobre un objetivo, lo que en segmentos de red con una cantidad de maquinas conectadas seria lo mas deseable y por supuesto, practico.