Skip to main content
Escanear un servidor web utilizando Nikto

Escanear un servidor web utilizando Nikto

Nikto es un escáner de vulnerabilidades Open Source escrito en el lenguaje Perl, siendo publicado por primera vez en el año 2011.

Bienvenidos a un nuevo post en ByteMind. En este caso les traigo un escáner de vulnerabilidades web llamado Nikto.

 

¿Qué es Nikto?

Nikto es un escáner de vulnerabilidades Open Source escrito en el lenguaje Perl, siendo publicado por primera vez en el año 2011. Proporciona la capacidad de buscar vulnerabilidades en servidores web. Este escáner busca fichero de configuración visibles, ficheros peligrosos públicos en el servidor e incluso es capaz de capturar e imprimir las cookies obtenidas durante el proceso.

Además es capaz de detectar más de 6700 verificaciones por archivos o scripts potencialmente peligrosos, realiza alrededor de 1250 pruebas para detectar problemas en versiones desactualizadas de servidores y cerca de 300 problemas específicos a versiones concretas de servidores web.

 

Instalación de Nikto

Para aquellos usuarios que utilicen Kali, como es mi caso, esta herramienta ya viene instalada por defecto. Si no es su caso, puedes instalar la misma en servidores linux basados en debian con el siguiente comando

O, si lo prefieren pueden levantar un contenedor en docker tal como indica en su página de github. Aunque os dejo los comandos para realizarlo

 

Como utilizar nikto

Como en todas las herramientas dispone de una ayuda completa que muestra la información de cada una de las opciones disponibles

Y ahora vamos a ver como podemos utilizar el mismo.

Para hacer un simple escaneo de una ip y un puerto lo haríamos con el siguiente comando:

Y podemos verlo en acción en la siguiente captura

Escanear un servidor web utilizando Nikto

 

CheatSheet

Os dejo a continuación una serie de comando útiles para su uso que puede ser muy útil en según que ocasiones.

Escaneo de varios puertos

Especificar un tiempo máximo de escaneo

Forzar el uso de ssl

Deshabilitar el uso de ssl

Evitar mostrar errores 404

Ignorar ciertos códigos de estado 30x,40x,50x

Especificar la cabecera del host

Exportar los resultados a fichero

Escanear a través de un proxy

Indicar los datos de autenticación

Actualizar los plugins y la base de datos

Comprobar el estado de la base de datos

Especificar un fichero de configuración

Deshabilitar la resolución de nombres

Deshabilitar la respuesta en caché

Deshabilitar características que requieran interacción por parte del usuario

 

Mostrar datos concretos

  1. Mostrar redirecciones
  2. Mostrar cookies
  3. Mostrar respuestas con código 200
  4. Mostrar URL que requieren autenticación
  5. Activar el debug en la salida
  6. Errores HTTP
  7. Imprimir el progreso en STDOUT
  8. Salida de depuración de IP y nombre de host
  9. Salida detallada (modo verbose)

Opciones de evasion

  1. codificación aleatoria de URI
  2. Auto-referencia de directorio /./
  3. URL final prematura
  4. Anteponer una cadena aleatoria larga
  5. parámetro falso
  6. TAB como espaciador de solicitud
  7. Cambiar el caso de la URL
  8. Separador de directorio de Windows usado \
    1. Utilice un retorno de carro (0x0d) como espaciador de solicitud
    2. Utilice el valor binario (0x0b) como espaciador de solicitud

Especificar el formato del fichero de salida

  • csv -> Comma Separated Value
  • htm -> formato HTML
  • msf+ -> formato utilizado por Metasploit
  • nbe -> formato utilizado por Nessus
  • txt -> texto plano
  • xml -> formato XML

Tuning

  • 1 -> archivo interesante
  • 2 -> configuración incorrecta
  • 3 -> Divulgación de información
  • 4 -> Inyección (XSS / Script / HTML)
  • 5 -> Recuperación remota de archivos: internal web root
  • 6 -> Denegación de servicio
  • 7 -> Recuperación remota de archivos: todo el servidor
  • 8 -> Ejecución de comandos – Shell remoto
  • 9 -> inyección SQL
  • 0 -> carga de archivos 
  • a -> bypass de autenticación
  • b -> Identificación del software
  • c -> Inclusión de fuente remota
  • x -> Opción de sintonización inversa

Mutate

  1. Testear todos los ficheros en el directorio raíz
  2. Adivina los nombres de los archivos con contraseña
  3. Enumerar nombres de usuario a través de apache
  4. Enumerar nombres de usuario a través de cgiwrap
  5. Intento de nombres de subdominios por fuerza bruta
  6. Intente adivinar los nombres de directorio de un archivo.

 

Hasta aquí todo por hoy. Espero que les sea útil en sus auditorías y cualquier duda, idea o aportación pueden realizarla en la sección de comentarios.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *