martes, 23 de octubre de 2007

Manual Nikto

Breve introducción:

Nikto es un scanner para servidores web realizado en Perl (obviamente tiene licencia Open Source GPL) que corre bajo linux y tiene una gran base de datos de ataques CGI y mas en 230 tipos de servidores distintos. Es utilizado tanto para seguridad como para buscar vulnerabilidades en servidores.
La version actual es la 1.36.

Más información: http://www.cirt.net/code/nikto.shtml

Manual:

*Para comenzar bajense el source, en lo posible el bz2 que viene mas comprimido:

http://www.cirt.net/nikto/nikto-1.36.tar.bz2

Aunque tambien esta el gz:

http://www.cirt.net/nikto/nikto-current.tar.gz

*Ahora si, una vez que lo bajan lo extraen y colocan la carpeta donde quieran. Entran a la carpeta y ejecutan el archivo principal nikto.pl con las opciones correspondientes. A continuación voy a proceder a describir las opciones más comunes (las que estan en negrita son obligatorias, las demas no):

NOTA: Se pueden abreviar escribiendo la primer letra de la palabra, ej: Cgidirs: -C, cookies -c, evasion -e

-Cgidirs: Scanear los directorios CGI; tienen que especificar. Las opciones que se pueden utilizar son: none (ninguno) all (todos) o alguno en especifico que quieran ustedes, ej: /cgi/

-cookies: muestra las cookies que son encontradas

-evasion: Esto habilita la deteccion de intrusiones por medio de tecnicas de evasion; se pueden utilizar las siguientes tecnicas:
1 Random URI encoding(cuando el encoding del webserver no es UTF8)
2 Add directory self-reference /./ (usar en servidores unix)
3 Premature URL ending
4 Prepend long random string to request
5 Fake parameters to files
6 TAB as request spacer instead of spaces
7 Random case sensitivity
8 Use Windows directory separator \ instead of / (usar en servidores windows)
9 Session splicing
ej: -e 8
En caso de que quieran usar mas de 1: -e 15 (usamos el 1 y el 5)


-findonly: encontrar solamente el puerto http(s) en el/los servidore/s y no realizar un scaneado completo.

-Format: guardar los logs con un formato a especificar, puede ser: html, csv o txt

-generic: forzar al scaner a realizar un scaneado completo (poco utilizado)

-host: el host a scanear

-id: autentificacion para el host, se suele utilizar asi: iddeusuario:contraseña (

-mutate: Utilizar técnicas de mutación (se recomienda utilizarlo para un mejor scaneo):
Mutation Techniques:
1 Test all files with all root directories (probar todos los archivos con todos los directorios de usuario root)
2 Guess for password file names (Adivinar contraseñas)
3 Enumerate user names via Apache (/~user type requests) (enumerar usuarios via apache)
4 Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests) (enumerar usuarios via cgiwrap)
Se utiliza como las tecnicas de evasion


-nolookup: No realizar el lookup a el servidor (poco utilizado)

-output: Para guardar en un fichero de salida (no es obiligatorio pero se recomienda)

-port: Puerto a scanear (generalmente 80)

-root: poner permisos de root a todos los pedidos, el formato es: /directorio (no es obligatorio, pero se recomienda)

-ssl: forzar modo ssl al puerto a scanear

-timeout: utilizar para especificar un timeout (cuando el tiempo de espera se agota) (por defecto es de 10 segundos)

-useproxy: utilizar la configuracion del proxy indicada en el archivo config.txt

-Version: mostrar version de la base de datos y de los plugins

-vhost: utilizar host virtual (requiere un argumento)

Opciones que no pueden ser abreviadas:

-config: seleccionar archivo de configuración

-debug: modo de debugging

-verbose: utilizar en modo verbose (RULEZ tongue)

-update: actualizar el programa (vease base de datos, plugins)



Espero que les haya gustado, aca les dejo un ejemplo de como utilizarlo:

root@undergroundfusion.net# ./nikto.pl -C all -e 2 -h www.underground-fusion.net -p 80 -m 2 -verbose



Autor: Tiger

1 comentario:

Anónimo dijo...

Gracias PErro esta muy bueno tu manual al igual que el blog :D:D

ojala q sigas poniendo cosas

MITM TEAM RULEZZZ !!!

xD

Saludos :)