domingo, 18 de agosto de 2013

Escanear servidores Web con Nikto (Kali Linux) parte II

En esta parte hablaremos de otras opciones con las que contamos en este Scaner web y sin mas aquí esta:

Opciones de Nikto.

A continuación se detallarán cada una de las opciones que podemos usar con Nikto.
-Cgidirs: Escanea los directorios CGI. Las palabras claves ‘all’ o ‘none’ pueden utilizarse para escanear todos los directorios o ninguno respectivamente.
-config: Indica un archivo de configuración distinto al que tenemos en el directorio de instalación config.txt.
-dbcheck: Comprueba posibles errores en nuestra base de datos.
-evasion: Habilita la detección de intrusiones por medio de técnicas de evasión (consultar documentación de LibWhisker para más información). Para elegir un tipo de detección, utilice los siguientes números (se podrían usar varios al mismo tiempo):

1 – Random URI encoding (non-UTF8)

2 – Directory self-reference (/./)

3 – Premature URL ending

4 – Prepend long random string

5 – Fake parameter

6 – TAB as request spacer

7 – Change the case of the URL

8 – Use Windows directory separator (\)
-findonly: Solo escanea puertos HTTP(S).
-Format: Guarda el log con un formato específico. Estos pueden ser csv, html, xml y txt. Si no se indica nada el formato por defecto es txt.

./nikto.pl -h host -p puerto -o nombreArchivo -Format formato
-host: Host objetivo.
-Help: Ayuda.
-id: Autentificación para el host. La estructura es id:pass.
-mutate: Especifica técnicas de mutación. Utilizando estas técnicas conseguimos un mejor escaneo. utiliza cada técnica según su número, se podrían usar varias a la vez:

1 – Test all files with all root directories

2 – Guess for password file names

3 – Enumerate user names via Apache (/~user type requests)

4 – Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)
-nolookup: No realizar lookup al servidor.
-output: Crea un archivo con el log.
-port: Elige el puerto a utilizar.
-Pause: Segundos para que termine el test.
-Display: Elige que datos quieres que aparezca en el log. Elige entre las distintas opciones.

1 – Show redirects

2 – Show cookies received

3 – Show all 200/OK responses

4 – Show URLs which require authentication

D – Debug Output

V – Verbose Output
-root: Permisos de administrador a todos los pedidos.
-ssl: Escanea puertos especificos de SSL.
-Single: Realiza una petición simple. Nikto irá pidiendo datos sobre el servidor para finalizar con el log mostrando los datos pedidos.
-timeout: Tiempo de espera antes de cerrar la conexión.
-Tuning: Estas opciones controlarán el tipo de escaneo que se realizará. Si no se especifican se realizará el escaneo con las opciones por defecto.

0 – File Upload

1 – Interesting File / Seen in logs

2 – Misconfiguration / Default File

3 – Information Disclosure

4 – Injection (XSS/Script/HTML)

5 – Remote File Retrieval – Inside Web Root

6 – Denial of Service

7 – Remote File Retrieval – Server Wide

8 – Command Execution / Remote Shell

9 – SQL Injection

a – Authentication Bypass

b – Software Identification

g – Generic (Don’t rely on banner)

x – Reverse Tuning Options (i.e., include all except specified)
-useproxy: Utilización de un proxy.
-update: Actualización de Nikto.
-Version: Muestra la versión de nikto, sus plugins y su base de datos.
-vhost: Utilizar un host virtual.


si quieren pueden visitar : http://www.jgutierrezgil.es/2008/09/23/nikto-escaneador-de-servidores-web-manual-primera-parte/

Escanear servidores Web con Nikto (Kali Linux) parte I

Antes que nada Kali linux es una "versión" de linux basada en Debian, orientada al pentest ,auditoria informática y al asunto forense de equipos de computo, pueden descargar la versión mas resiente de su pagina oficial :  http://www.kali.org/downloads/
Eso es como una pequeña intro para que vayamos agarrando sabor, lo que nos interesa en esta ocasión, o de lo que les quiero comentar es acerca de la herramienta Nikto.

Bueno vamos a iniciar y tratar de ser breves.

¿Que es Nikto?.

Nikto es un escaneador de servidores web de código abierto (Licencia GPL) que realiza exhaustivos tests, incluyendo más de 3200 ficheros/CGI que potencialmente son dañinos, en más de 625 tipos de servidores, y problemas típicos de versiones en más de 230 servidores. Lo que se escanea así como sus plugins se actualizan muy frecuentemente y pueden descargarse gratuitamente si se desea.

¿Donde conseguirlo?.
Este programita se puede conseguir desde la web oficial del proyecto:
http://www.cirt.net/nikto2
o kali ya lo trae instalado por defecto, esa es una gran ventaja ¿no lo creen?. =D

Ahora pasemos a la parte mas interesante.

¿Como lo instalo en otras versiones de linux?
La instalación de este software no contiene ningún misterio, una vez que cumplamos los requisitos anteriores y hayamos descargado el software, tan solo deberemos descomprimir el archivo descargado para empezar a utilizarlo.

tar -xvf nikto-current.tar.gz

Una vez descomprimido, tan solo debemos entrar en el nuevo directorio creado y ejecutar la aplicación mediante el script ‘nikto.pl’.
Por ejemplo, para realizar un escaner común ejecutaremos la siguiente instrucción:

nikto -h hostAEscanear

Refiriéndose la clave ‘-h’ al host que queremos escanear.

¿Como mas puedo usarlo?
Para ejecutar un escaner básico con Nikto basta con ejecutar la sentencia anteriormente mencionada. Tal y como se ha comentado, -h nos indica el host que queremos escanear pudiendo ser este una dirección IP o un nombre de dominio.

nikto -h xxx.xxx.xxx.xxx o http://www.dominio.xx

Si no indicamos lo contrario, el puerto por defecto que utiliza Nikto es el 80, si deseamos cambiarlo deberemos indicarlo en la sentencia con la clave -p.

nikto -h host -p puerto

Siendo ‘host’ la maquina que escaneamos y ‘puerto’ el puerto por el que vamos a realizar el escaneo.
Por defecto, Nikto realiza un escaner común HTTP, si este falla, intenta realizar uno mediante SSL (HTTPS). Aunque también tenemos la opción de señalar que lo haga SSL ahorrándonos el primero (HTTP), para ello utilizaremos la clave -ssl.

nikto -h host -p puerto -ssl

Escaneo de múltiples puertos y hosts.
Para realizar un escaneo por múltiples puertos en una misma sesión separaremos los mismos mediante comas, es decir:

nikto -h host -p puerto1,puerto2,puerto3,…,puertoN

Así mismo, podemos realizar un escaneo a distintos hosts. Para ello necesitamos crear previamente un documento de texto en el que se especifiquen los hosts y el puerto a usar, quedando cada host uno por línea tal y como queda en el siguiente ejemplo.

hosts.txt
www.hostUno.com
www.hostDos.es:443
www.hostTres.es:80


Como se ha comentado anteriormente, si no se especifica un número de puerto se utilizará el puerto 80 por defecto.
La instrucción quedaría de la siguiente forma:

nikto -h hosts.txt
Usando un proxy con Nikto.
Con Nikto también podemos especificar un proxy para realizar nuestros escaneos, para ello deberemos modificar el archivo de configuración.
En el directorio donde estamos ejecutando ‘nikto.pl’ hay un archivo llamado ‘config.txt’, al abrirlo con nuestro editor de textos debemos irnos a la línea donde pone:

# PROXY STUFF

Y modificar ahí los datos de nuestro proxy. Posteriormente debemos indicar la clave -u para que Nikto utilice el proxy señalado.

nikto -h host -p puerto -u
Actualizar Nikto.
Para actualizar Nikto tan solo debemos señalar la opción -update en línea de comandos.
nikto -update
Si necesitara alguna actualización, este sería el mensaje recibido:


+ Retrieving ‘nikto_core.plugin’

+ Retrieving ‘CHANGES.txt’

En si, es lo mas básico que podemos saber, en la parte II hablaremos de otras opciones.