Nikto2

  • Posted on: 27 January 2014
  • By: ReYDeS

Nikto es un escaner Open Source para el servidor web, el cual realizar pruebas muy completas sobre diversos asuntos contra servidores web, incluyendo más de 6700 archivos/CGIs potencialmente peligrosos, verificación de versiones desactualizadas sobre más de 1250 servidores y problemas específicos de versión en más de 270 servidores. También verifica temas de configuración en el servidor tal como la presencia de varios archivos index, opciones HTTP del servidor, e intentará identificar servidores web y software instalado. Los temas de escaneo y plugins son frecuentemente actualizados de manera automática.

Nikto no fue diseñado como una herramienta excesivamente cautelosa. Evaluará el servidor web en el tiempo más rápido posible, siendo bastante obvio en los archivos de registro (log files). Sin embargo soporta los métodos de LibWhisker anti IDS (Intrusion Detection System) en caso se desee intentarlo (o evaluar el sistema IDS).

Cada prueba no es un problema de seguridad, aunque la mayoría lo son. Existen algunos temas que son verificaciones de tipo “solo información” para cosas que podrían no tener una falla de seguridad, pero que el webmaster o ingeniero podría ignorar de su presencia en el servidor web. Estos temas son usualmente marcados apropiadamente en la información presentada. Existen también algunas verificaciones para temas desconocidos los cuales han sido vistos en los archivos de registro (log files).

Características

A continuación se presentan las principales características de Nikto. Para una lista completa y detallada revisar la documentación.

  • Soporte SSL
  • Soporte completo para proxy HTTP
  • Verifica componentes desactualizados del servidor
  • Guarda reportes en texto plano, XML, HTML, NBE o CSV
  • Plantilla para personalizar fácilmente reportes
  • Escanea varios puertos de un servidor, o varios servidores mediante un archivo de entrada (incluyendo uno de nmap)
  • Técnicas de codificación IDS de LibWhisker
  • Fácil actualización mediante línea de comandos
  • Identifica el software instalado mediante cabeceras, favicons y archivos
  • Autenticación con Basic o NTLM
  • Adivinación de subdominios
  • Enumeración de nombres de usuario Apache y cgiwrap
  • Técnicas de mutación para “pescar” contenido de los servidores web
  • Afinación de escaneo para incluir o excluir clases completas de verificaciones de vulnerabilidad
  • Adivinación de credenciales para áreas con autenticación (incluyendo varios combos por defecto de id/pw)
  • La adivinación de autorización maneja cualquier directorio, no solo el directorio raíz
  • Mejora de la reducción de falsos positivos mediante varios métodos: cabeceras, contenido de página, y hashing de contenido
  • Reporta cabeceras “inusuales” vistas
  • Estado interactivo, pausa y cambia las configuraciones de verbosidad
  • Guarda las solicitudes y respuestas completas para los pruebas positivas
  • Reenvía solicitudes positivas guardadas
  • Tiempo de ejecución máxima por objetivo
  • Pausar automáticamente en un momento especificado
  • Verificaciones de sitios “parqueados” comunes
  • Registro hacia Metasploit Framework
  • Exhaustiva documentación

Actualizar nikto utilizando la opción “update”.

$ nikto -update

Definir la dirección IP y puerto del objetivo para realizar un escaneo sencillo.

$ nikto -host 192.168.0.17 -port 80

Anotar que en los resultados mostrados por este escaneo, no se exponen vulnerabilidades como XSS, SQL Injection, RFI u otros. Se detalla información de las tecnologías utilizadas en el servidor web objetivo, así mismo directorios o archivos que pueden revelar o contener información de utilidad para un atacante malicioso.

Nikto permite definir un directorio para realizar las pruebas, es decir este valor (nombre del directorio) precederá a todas las solicitudes.

$ nikto -host 192.168.0.27 -port 80 -root/wordpress/

En los resultados de este escaneo se muestra una vulnerabilidad RFI (Remote File Inclusion) en la versión de Wordpress instalada en el objetivo, con Código OSDVB (Open Sourced Vulnerability Database) 5292.

Al verificar manualmente esta vulnerabilidad, es factible explotarla y utilizar una webshell para controlar el objetivo.

Fuentes:

http://cirt.net/Nikto2
http://cirt.net/nikto2-docs/
http://sourceforge.net/projects/whisker/
http://osvdb.org/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1