Archive for the “Auditoria” Category

A la hora de auditar la fortaleza de la contraseña de nuestra conexión wireless, o de quien nos haya contratado para ello, protegida con WPA/WPA2 necesitaremos un diccionario, seguramente varios, de claves los cuales ocupan unos cuantos gigas de capacidad.

Una alternativa a usar un diccionario, si no lo tenemos, es usar el programa criptográfico John the Ripper, el cual irá probando una a una todas las posibles combinaciones de claves que pueda haber. A esto se le conoce como un ataque de fuerza bruta.

El comando para usarlo con la suite aircrack es el siguiente:

john --stdout --incremental:all | aircrack-ng -b BSSID -w - fichero.cap

Con la flag –incremental:all conseguimos que pruebe con todos los caracteres posibles y así, asegurarnos que la contraseña será encontrada. Este argumento se puede cambiar para que pruebe con letras solo, con números, etc., para más información al respecto, habría que leerse la documentación en la web de John The Ripper.

Cabe decir que una clave WPA2 puede llegar a tener un total de 64 caracteres, si tenemos una clave de 8 caracteres, teniendo números y letras en mayúsculas y minúsculas, tenemos un total de 26+26+10=62 combinaciones posibles sin contar los caracteres especiales. El número de combinaciones totales que John The Ripper tendría que hacer para obetener la contraseña es de 62*62*62*62*62*62*62*62=218 340 105 584 896, y si hacemos una media de 600 comprobaciones por segundo, según manuales encontrados por internet, tardaríamos un total de 11539 años en obtener la clave.

Comments 8 Comments »

A continuación veremos un pequeño manual sobre la herramienta Nikto, un software bastante interesante.

IMPORTANTE: El mal uso de estas herramientas puede concluír en situaciones de bloqueo, lentitud en tu velocidad de conexión e incluso denegación de servicio de las máquinas analizadas. Estas herramientas sólo deben ser lanzadas contra máquinas ajenas, única y exclusivamente cuando sus responsables nos hayan autorizado a ello. Bajo ninguna circunstancia deben ser empleadas contra máquinas que no sean de nuestra propiedad sin consentimiento expreso por parte de sus propietarios, informando en cada caso de la actividad que vayamos a realizar.

El único fin de este manual es didáctivo. Estas herramientas han sido diseñadas para realizar auditorías en seguridad informática por lo que no me hago responsable de un uso delictivo del texto aquí recogido.

Empecemos…

¿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

La descarga del software la podemos hacer en dos tipos de formatos, en .gz como en .bz2.

Requisitos.

Nikto está disponible tanto para plataformas Windows, MAC OS y Linux. En este manual describiremos la instalación y señalaremso que paquetes están disponibles en los repositorios de Ubuntu (estando disponibles también para otras distribuciones como Linux Mint por ejemplo, ya que utiliza los mismos repositorios).

Con esto, tendremos Nikto listo para instalar.
Instalación de Nikto.
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.pl -h hostAEscanear
Refiriéndose la clave ‘-h’ al host que queremos escanear.
Escaner básico.
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.pl -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.pl -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.pl -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.pl -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.pl -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.pl -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.pl -update
Si necesitara alguna actualización, este sería el mensaje recibido:

+ Retrieving ‘nikto_core.plugin’

+ Retrieving ‘CHANGES.txt’

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.

Continuará…

Fuente: Web oficial de Nikto.

Comments No Comments »

   Beat diabetes   Diabetes diet