Escanear Múltiples Hosts desde un Archivo con Nikto

Kali LinuxBeginner
Practicar Ahora

Introducción

Nikto es un popular escáner de servidores web de código abierto que realiza pruebas exhaustivas contra servidores web para múltiples elementos, incluyendo más de 6700 archivos/programas potencialmente peligrosos, comprobaciones de versiones desactualizadas de más de 1250 servidores y problemas específicos de versión en más de 270 servidores.

Escanear manualmente un gran número de hosts puede ser tedioso y consumir mucho tiempo. Un enfoque más eficiente es listar todos sus objetivos en un único archivo y hacer que Nikto los escanee secuencialmente. En este laboratorio, aprenderá a crear un archivo de texto que contenga múltiples hosts objetivo y a utilizar Nikto para realizar un escaneo de vulnerabilidades en todos ellos con un solo comando.

Crear un archivo de texto con múltiples IPs o nombres de host de destino

En este paso, creará un archivo de texto simple que contiene los nombres de host de los objetivos que desea escanear. Nikto puede leer este archivo y escanear cada host listado en él. Cada nombre de host o dirección IP debe estar en una línea nueva. Utilizaremos el editor de texto nano para crear este archivo en su directorio de trabajo actual, ~/project.

Primero, abra un archivo nuevo llamado targets.txt usando nano:

nano targets.txt

Ahora, dentro del editor nano, agregue los siguientes dos nombres de host. Estos son sitios públicos disponibles para fines de prueba.

scanme.nmap.org
example.com

Para guardar el archivo en nano, presione Ctrl+O, luego presione Enter para confirmar el nombre del archivo. Para salir de nano, presione Ctrl+X.

Puede verificar el contenido de su archivo usando el comando cat:

cat targets.txt

Debería ver la siguiente salida:

scanme.nmap.org
example.com

Ahora tiene un archivo de destino listo para Nikto.

Usar la bandera -h con la ruta a su archivo de texto

En este paso, prepararemos el comando Nikto para un escaneo de múltiples objetivos. La bandera -h (o --host) se utiliza para especificar el objetivo. Si bien normalmente acepta un único nombre de host o dirección IP, también puede aceptar una ruta de archivo. Cuando proporciona una ruta de archivo, Nikto entiende que debe leer los objetivos de ese archivo.

La sintaxis básica para esta operación es:

nikto -h /ruta/a/su/archivo.txt

Dado que nuestro archivo targets.txt se encuentra en el directorio actual (~/project), podemos usar simplemente el nombre del archivo.

Antes de ejecutar el escaneo real, es una buena práctica familiarizarse con las opciones de Nikto. Puede ver el menú de ayuda ejecutando:

nikto -Help

Desplácese por la salida y encontrará la descripción de la opción -h / -host, que confirma que puede aceptar un host o un archivo de hosts. Ejecutaremos el escaneo real en el siguiente paso.

Iniciar el escaneo de múltiples objetivos

Ahora que ha creado el archivo de destino y comprende la estructura del comando, es hora de iniciar el escaneo. Nikto leerá el archivo targets.txt y escaneará cada host listado en él, uno tras otro.

Ejecute el siguiente comando en su terminal para comenzar el escaneo. Tenga paciencia, ya que un escaneo completo de múltiples hosts puede llevar varios minutos.

nikto -h targets.txt

La terminal mostrará ahora el progreso en tiempo real del escaneo.

Monitorizar la salida mientras Nikto escanea cada host secuencialmente

En este paso, observará la salida generada por Nikto. No hay nuevos comandos que ejecutar. A medida que el escaneo progrese, verá información detallada para cada objetivo.

Primero, Nikto mostrará su banner y comenzará con el primer objetivo, scanme.nmap.org. Verá información como su dirección IP, el software del servidor y cualquier vulnerabilidad encontrada.

Un ejemplo truncado de la salida inicial para el primer host podría verse así:

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          45.33.32.156
+ Target Hostname:    scanme.nmap.org
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: Apache/2.4.7 (Ubuntu)
... (comprobaciones de vulnerabilidades y hallazgos para scanme.nmap.org) ...

Una vez que el escaneo para scanme.nmap.org se complete, Nikto comenzará automáticamente a escanear el siguiente objetivo, example.com. La salida indicará claramente el cambio al nuevo objetivo:

... (fin del escaneo para scanme.nmap.org) ...
+ 1 host(s) probados
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          93.184.216.34
+ Target Hostname:    example.com
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: ECS (sjc/4E5D)
... (comprobaciones de vulnerabilidades y hallazgos para example.com) ...

Simplemente observe la terminal hasta que todo el proceso haya finalizado.

Revisar los resultados combinados en la salida o archivo guardado

Una vez que Nikto haya terminado de escanear todos los hosts en targets.txt, imprimirá un resumen final. Este resumen incluye el número total de hosts probados y la hora de finalización del escaneo. El registro completo del escaneo para todos los hosts será visible en su terminal.

Si bien ver la salida en la terminal es útil, para documentación o análisis adicional, es mejor guardar los resultados en un archivo. Puede hacerlo utilizando la opción -o (o -output).

Volvamos a ejecutar el escaneo, pero esta vez, guardaremos la salida en un archivo llamado scan_results.txt.

nikto -h targets.txt -o scan_results.txt

Este comando realizará el mismo escaneo, pero además de mostrar la salida en pantalla, la escribirá en scan_results.txt. Después de que el escaneo se complete, puede ver el contenido del informe guardado usando el comando cat:

cat scan_results.txt

Esto le permite revisar los hallazgos de todos los hosts escaneados en cualquier momento sin tener que ejecutar el escaneo nuevamente.

Resumen

En este laboratorio, ha aprendido con éxito a automatizar el escaneo de múltiples servidores web utilizando Nikto. Practicó la creación de una lista de objetivos en un archivo de texto, con cada objetivo en una línea nueva. Luego utilizó la opción -h para dirigir Nikto a este archivo, permitiéndole escanear cada host secuencialmente. Finalmente, aprendió a guardar los resultados combinados de un escaneo de múltiples hosts en un archivo de salida utilizando la opción -o para facilitar la revisión y el mantenimiento de registros. Este método es una técnica fundamental para mejorar la eficiencia en los flujos de trabajo de reconocimiento de redes y evaluación de vulnerabilidades.