Nikto

Introducción al escáner de vulnerabilidades Nikto

Introducción al escáner de vulnerabilidades Nikto
En el pasado, aprendimos cómo usar Nmap, Nessus y OpenVAS para buscar vulnerabilidades. Esta vez exploraremos Nikto, un escáner de vulnerabilidades escrito en Perl, para verificar las vulnerabilidades y huellas de las aplicaciones web (obteniendo información útil sobre el objetivo).

Instalación de Nikto:

En este caso, estoy usando un sistema Debian, puede descargar Nikto para Debian en https: // paquetes.debian.org / jessie / all / nikto / download . En caso de que su sistema devuelva errores de dependencia al ejecutar "dpkg -i "(Como se explica en https: // linuxhint.com / uninstall-debian-packages /) ejecute el comando “instalación de apt -fix-broken"Y lo instalará.

Empezando con Nikto:

Al igual que con cualquier paquete de Linux, siempre puede lanzar un "man nikto" para aprender todos los parámetros. El primer parámetro que usaremos, y que es obligatorio, es -anfitrión (o -h) para especificar el objetivo. En este caso, decidí usar como objetivo un sitio web sin mantenimiento muy antiguo que puede arrojar resultados interesantes:

Como con cualquier escáner, recibimos información básica útil en un proceso de footprinting pero adicionalmente podemos ver dentro de los primeros resultados que Nikto ya descubrió una posible vulnerabilidad exponiendo el sitio web a ataques de Clickjacking.

Después de ver la recomendación de Nikto de agregar el parámetro "-C todo", detuve el escaneo, puede reiniciar incluyendo -Llamada.

CGI (Common Gateway Interface) es una forma a través de la cual los servidores web interactúan con el software o los programas instalados en el servidor.

En este caso no tuvimos suerte, pero como se muestra arriba, Nikto encontró con éxito una posible vulnerabilidad a pesar de que el sitio web no tiene contenido CGI, tenga en cuenta que las vulnerabilidades pueden ser falsos positivos, por lo tanto, no se pueden explotar.

Comprobemos un objetivo diferente, www.telered.com.ar, un sitio web de un proveedor de Internet:

El sitio web no tiene redireccionamiento a www, así que inicié el escaneo nuevamente.

Puede ver que están usando una versión antigua de Apache bajo CentOS y varias posibles vulnerabilidades como OSVDB-877, OSVDB-3092, OSVDB-3268, OSVDB-3233, en el pasado podíamos buscar en http: // www.osvdb.org, pero ahora está fuera de línea, por lo tanto, necesitaremos basar la vulnerabilidad en la información que Nikto proporciona o buscarla en Google, en este caso buscaríamos ataques de rastreo de sitios cruzados.

Combinemos Nikto con Nmap, para que podamos ver qué puertos tiene abiertos un servidor web antes de usar Nikto, lanzaremos un escaneo básico de Nmap contra el mismo objetivo para verificar si tiene puertos adicionales abiertos.


Lo interesante aquí puede ser el puerto 5060 usado para VOIP, el puerto parece asociado a vulnerabilidades conocidas según esta fuente, a través de Nikto es poco probable que dé resultados importantes pero probémoslo.

Dónde

-p = especifica el puerto.

-h = especifica el anfitrión

-useproxy = para escanear usando un proxy y evitar que el objetivo vea nuestra IP.

En contraste con el escaneo que lanzamos antes, Nikto encontró un archivo XML que nos vincula a un artículo de blog que explica la vulnerabilidad que puede representar el archivo. Es recomendable ejecutar Nmap contra un objetivo antes de usar Nikto para apuntar a puertos abiertos.

Es importante resaltar que los resultados de Nikto diferirán según los parámetros y los datos que usemos, incluso contra el mismo objetivo, por ejemplo, si usa el nombre de dominio del objetivo o la IP del objetivo o cambia el puerto. Veamos si podemos encontrar un tercer resultado diferente en el mismo objetivo:

El resultado es muy similar en este caso, a pesar de que se informaron más errores (21 frente a 18 en el primer escaneo), posiblemente debido a problemas de redirección.

Escaneo de múltiples puertos con Nikto:

Si ejecutamos Nmap para descubrir que un sitio tiene varios puertos abiertos, podemos escanearlos todos en una sola sesión de Nikto separando los puertos con coma como se muestra a continuación:

Corro:

nmap proz.com
nikto -h proz.com -p 80,111,443,5666

Como puede ver después de obtener todos los puertos abiertos por Nmap, lancé un escaneo Nikto, descarta automáticamente los puertos que no ejecutan aplicaciones web. Al agregar todos los puertos, Nikto descubrió múltiples vulnerabilidades, incluidos directorios muy sensibles que contienen posibles credenciales, vulnerabilidades de inyección SQL y XSS, posibilidades de fuerza bruta entre muchas más oportunidades para explotar el servidor.

Para reproducir los resultados de Nikto con resultados completos, simplemente ejecute:

"nikto -h proz.com -p 80,111,443,5666 "

Usando complementos de Nikto:

"Nikto -list-plugins”Mostrará una lista de complementos adicionales que pueden ayudar a escanear un objetivo o confirmar una vulnerabilidad reportada por Nikto.

Verifiquemos si los resultados anteriores que muestran vulnerabilidades XSS no son un falso positivo.
Correr:

nikto -h proz.com -Plugins "apache_expect_xss (detallado, depurado)"

Como vemos en este caso Nikto informa “'mensaje' => 'Expectativa fallida” descartando la vulnerabilidad XSS, si fuera tu servidor podrías usar diferentes plugins para descartar o confirmar el resto de vulnerabilidades.

Conclusión:

Nikto es un escáner de vulnerabilidades muy ligero para servidores web, es útil si no tienes tiempo para lidiar con escáneres pesados ​​como Nexpose o Nessus, a pesar de esto, si tienes tiempo para analizar tu objetivo te recomendaría un escáner más completo como Nexpose, Nessus, OpenVAS o Nmap, algunos de los cuales ya analizamos en LinuxHint simplemente porque no se limitan a servidores web y todos los aspectos merecen ser revisados ​​a fondo para proteger un servidor.

Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...