Probé la herramienta de Nikto para escanear vulnerabilidades web y te cuento mis conclusiones.
En este artículo, exploraremos en detalle qué hace Nikto, su historia y evolución, las plataformas en las que se puede utilizar y las principales características que ofrece.
También discutiremos su accesibilidad, ventajas y desventajas, y finalmente, responderemos a la pregunta clave: ¿Qué tan bueno es Nikto como herramienta de seguridad cibernética?
Si estás considerando utilizar Nikto en tus evaluaciones de seguridad web, esta revisión te proporcionará información valiosa para tomar una decisión informada.
¿Qué hace Nikto?
Nikto es un potente escáner de vulnerabilidades para servidores web. Como herramienta open source, es ampliamente reconocida en la comunidad de seguridad informática por su eficacia y profundidad en el análisis de seguridad web.
Fue desarrollado por Chris Sullo en el año 2001, y desde entonces ha evolucionado con contribuciones de la comunidad de seguridad cibernética. La herramienta está construida sobre LibWhisker2 (de Rain Forest Puppy), lo que le confiere una gran flexibilidad y compatibilidad con diversas plataformas a través del entorno Perl.
Entonces, ¿qué hace Nikto? La función principal de Nikto es realizar un análisis exhaustivo de servidores web en busca de vulnerabilidades y problemas de seguridad.
Esto incluye:
- Detección de versiones obsoletas de servidores y software.
- Identificación de más de 6700 archivos y programas potencialmente peligrosos.
- Análisis de problemas específicos en más de 270 versiones de servidores.
- Revisión de configuraciones erróneas del servidor y del software.
- Búsqueda de archivos y programas inseguros.
- Orientación para pruebas manuales más efectivas.
- Realización de verificaciones de tipo «solo información».
- Escaneo de certificados SSL.
¿Cómo surge Nikto? Historia: Origen y evolución
La historia de Nikto comienza a fines de 2001, específicamente el 27 de diciembre, cuando se lanza la versión 1.00 Beta. Recuerdo claramente la expectación que causó en la comunidad de seguridad. En aquellos días, la herramienta era un pequeño proyecto, pero en poco tiempo, evolucionó para convertirse en un referente en el mundo del escáner de vulnerabilidades web, siendo de acceso open source.
Pero ¿por qué Nikto? El origen del nombre «Nikto» es curioso. Se inspira en la película «El día que la Tierra se detuvo» y ha sido objeto de múltiples interpretaciones y pronunciaciones. A lo largo de los años, hemos escuchado de todo, desde «Nikito» hasta la correcta «Nick-Toe».
Volvamos a la historia. Nos quedamos en el lanzamiento del año 2001.
Sullo, el cerebro detrás de este proyecto, lanzó una versión mejorada, la 2.0, en noviembre de 2007. Estos cambios no fueron menores; representaban años de esfuerzo y mejoras significativas. Aunque la versión principal ha permanecido estable desde entonces, el desarrollo de Nikto ha continuado en Github, adaptándose a los nuevos retos de la ciberseguridad.
En 2008, un cambio importante se produce en el equipo de Nikto. David Lodge se une y asume el liderazgo, mientras Sullo, el creador original, se aleja temporalmente.
Pero Sullo regresa en 2009, reforzando el equipo y continuando con su legado.
¿En qué sistemas operativos se puede utilizar Nikto?
Para instalar Nikto tienes varios caminos según tu necesidad. Y veremos cada uno de ellos:
- Pearl
- Docker
- Windows
- Kali Linux
Perl
Lo bueno
- Flexibilidad: Perl es un lenguaje dinámico y versátil, ideal para el procesamiento de texto y tareas administrativas. Esto hace que Nikto sea adaptable y potente en su análisis.
- Control: Al trabajar directamente con el código fuente, tienes más control sobre las actualizaciones y personalizaciones.
Lo malo
- Complejidad: Requiere conocimientos de Perl y de la gestión de módulos, lo cual puede ser una barrera para usuarios menos experimentados.
- Mantenimiento: Necesitas asegurarte de tener la versión correcta de Perl y los módulos necesarios, lo que implica un esfuerzo de mantenimiento adicional.
Docker
Lo bueno
- Portabilidad: Docker ofrece un entorno aislado y consistente, facilitando el despliegue de Nikto en cualquier sistema que soporte Docker.
- Facilidad de Uso: La construcción y ejecución de contenedores Docker es relativamente sencilla y evita muchos problemas de compatibilidad.
Lo malo
- Dependencia de Docker: Requiere conocimientos previos de Docker y su ecosistema, lo cual puede ser un obstáculo para algunos usuarios.
- Recursos: Los contenedores pueden consumir más recursos que una ejecución nativa, lo cual es un factor a considerar en sistemas con recursos limitados.
Windows (a través de WSL o Wikto)
Lo bueno
- Compatibilidad con Windows: Permite a los usuarios de Windows acceder a Nikto, ya sea a través del subsistema Linux o utilizando Wikto, una alternativa específica para Windows.
- Facilidad de Integración: Se integra con el entorno de desarrollo existente en Windows.
Lo malo
- Complejidad Adicional: Usar WSL implica un nivel adicional de configuración y podría no ser tan directo como en un sistema Linux nativo.
- Limitaciones de Wikto: Wikto, siendo una alternativa, puede no tener todas las características o actualizaciones de Nikto.
Kali Linux
Lo bueno:
- Especialización en Seguridad: Kali Linux está diseñado específicamente para pruebas de penetración y seguridad informática, por lo que Nikto se integra perfectamente en este entorno.
- Facilidad de Instalación: Generalmente viene preinstalado, y su instalación o actualización es muy sencilla.
Lo malo
- Especialización del Sistema: Kali Linux es una distribución especializada que podría no ser adecuada para uso general o para usuarios no familiarizados con Linux.
Características y funciones de Nikto
Nikto, más que un simple escáner de vulnerabilidades, es una herramienta avanzada y flexible para analizar servidores web. Aquí te detallo sus principales características y funciones, fundamentales para cualquier profesional en ciberseguridad.
Configuración personalizable
Nikto ofrece una gran flexibilidad en su configuración. Puedes utilizar un archivo de configuración alternativo en lugar del predeterminado. Esto es crucial cuando necesitas ajustes específicos para diferentes escenarios de exploración.
Control detallado de la salida
Con Nikto, controlas lo que ves. Puedes especificar qué detalles deseas visualizar, como redirecciones, cookies recibidas o respuestas 200/OK. Además, la salida de depuración detallada te ayuda a profundizar en los análisis.
Guardado de resultados
Una característica práctica es la capacidad de guardar los resultados en diferentes formatos, como CSV, HTML, TXT y XML. Esto facilita compartir y analizar los resultados después del escaneo.
Especificación de destinos
Nikto te permite apuntar a hosts específicos, ya sean direcciones IP, nombres de host o incluso un archivo de texto con múltiples hosts. Esta flexibilidad es esencial para enfocar tus exploraciones en objetivos concretos.
Gestión de plugins
Personalizar los plugins a utilizar es un aspecto vital. Nikto te permite seleccionar los plugins específicos que se ejecutarán durante el escaneo, lo cual es fundamental para adaptar la herramienta a tus necesidades particulares.
Escaneo de puertos específicos
Con la opción de puertos, puedes enfocarte en puertos TCP específicos. Esto es útil para investigaciones detalladas o cuando se conocen puertos de interés en un servidor.
Evita bloqueos con pausas
Una función inteligente es la capacidad de definir pausas entre pruebas. Esto puede ayudar a evitar ser bloqueado por un WAF (Web Application Firewall) durante la exploración.
Tiempo de espera ajustable
La opción de tiempo de espera te permite definir cuánto tiempo esperar antes de que una solicitud expire. Esto es útil en entornos de red con diferentes velocidades o capacidades de respuesta.
Para situaciones que requieren anonimato o uso de proxy, Nikto ofrece la opción de utilizar un proxy HTTP definido en el archivo de configuración.
Mantenimiento y actualización continuos
Una característica crucial es la actualización constante de elementos de exploración y complementos. Esto asegura que siempre estés utilizando la versión más actualizada de Nikto, vital en un mundo donde las vulnerabilidades y amenazas evolucionan rápidamente.
¿Cuánto cuesta Nikto? Precio
Como dije anteriormente, Nikto es un escáner de vulnerabilidades web de código abierto. ¿Qué quiere decir eso? Quiere decir que es totalmente gratuito.
Es más, si tienes Kali Linux revisa tus aplicaciones porque puede estar preinstalada.
¿Qué tan bueno es Nikto?
La hora de la verdad. ¿Es recomendable usar Nikto? Desglosemos las principales ventajas y desventajas que noté:
Lo bueno
- Accesibilidad: Como una herramienta open source, es gratuita. Esto es invaluable para profesionales y organizaciones con presupuestos limitados.
- Exhaustividad en las Comprobaciones: Realiza análisis detallados, cubriendo una amplia gama de exploits conocidos. Esta característica es particularmente útil, ya que compite con herramientas de pago en términos de profundidad de análisis.
- Especialización en Aplicaciones Web: Nikto está diseñado específicamente para servidores web y aplicaciones web, lo que lo hace muy eficaz en su nicho. Su enfoque en este área específica permite una detección más afinada de problemas.
- Integración con Kali Linux: Al estar incluido en Kali Linux, ofrece una comodidad significativa, ya que se integra en un entorno ya conocido y ampliamente utilizado por profesionales de la seguridad.
Lo malo
- Ausencia de Interfaz Gráfica (GUI): La falta de una GUI hace que su uso sea menos intuitivo y posiblemente más desafiante para los que son nuevos en el campo o prefieren interfaces visuales.
- Limitado Soporte y Desarrollo: La gestión de lanzamientos es manual y el desarrollo parece lento. Esto puede ser un problema cuando se trata de mantener el software actualizado con las últimas vulnerabilidades.
- Falta de Comunidad: No existe un foro comunitario o un sistema de soporte colaborativo. Esta ausencia limita el intercambio de conocimientos y soluciones entre usuarios, algo que suele enriquecer mucho a las herramientas open source.
- Dependencia de Listas de Vulnerabilidades Actualizadas: Para ser efectivo, Nikto necesita acceder a listas actualizadas de vulnerabilidades, lo que puede requerir suscripciones o recursos adicionales.
Conclusión
Nikto destaca por su accesibilidad, ya que es una herramienta gratuita y se encuentra preinstalada en distribuciones como Kali Linux. Ofrece un análisis exhaustivo que cubre una amplia gama de exploits conocidos, lo que lo convierte en una opción valiosa para profesionales y organizaciones con presupuestos limitados.
Sin embargo, Nikto presenta algunas limitaciones, como la falta de una interfaz gráfica (GUI), un desarrollo que puede parecer lento y la dependencia de listas actualizadas de vulnerabilidades. Además, carece de una comunidad activa que facilite el intercambio de conocimientos y soluciones entre usuarios.
En última instancia, la elección de utilizar Nikto dependerá de las necesidades específicas de seguridad cibernética de cada usuario o organización. Es una herramienta sólida para análisis de vulnerabilidades web, pero los usuarios deben considerar sus características y limitaciones antes de implementarla en su entorno de seguridad.