Foro de elhacker.net

Seguridad Informática => Wireless en Linux => Mensaje iniciado por: baronobus en 25 Marzo 2012, 22:34 pm



Título: generador claves en perl
Publicado por: baronobus en 25 Marzo 2012, 22:34 pm
dejo aqui un generador de claves en perl por si alguien necesita adaptarselo para algo...este genera claves de 16 caracteres , mezclando letras mayusculas  y numeros.
guardarlo como generador.pl y ejecutar como
#perl generador.pl

se ira generando un fichero llamado fichero_wpakey.txt y a medida que va aumentando de peso por el numero de keys ya podeis enfrentarlo a vuestro *.cap de la siguiente manera:
#aircrack-ng -w fichero_wpakey.txt  *captura.cap

suerte
(no incluir los corchetes)
Código
  1. [
  2. #!/usr/bin/perl
  3. my @alpha = ("A", "B", "C", "D", "E","F", "G", "H", "I", "J" , "K" , "L", "M", "N", "O", "O", "Q", "R", "S", "T", "U", "V","W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
  4.  
  5. my $i;
  6. my $z;
  7. my $j;
  8. my $x;
  9. my $d;
  10. my $f;
  11. my $k;
  12. my $n;
  13. my $a;
  14. my $b;
  15. my $c;
  16. my $e;
  17. my $g;
  18. my $h;
  19. my $j;
  20. my $l;
  21.  
  22. for ($i=0;$i<=35;$i++)
  23.        {
  24.                for ($z=0;$z<=35;$z++)
  25.                 {
  26.                        for ($j=0;$j<=35;$j++)
  27.                        {
  28.                                for ($x=0;$x<=35;$x++)
  29.                                {
  30.                                        for ($d=0;$d<=35;$d++)
  31.                                         {
  32.                                                for ($f=0;$f<=35;$f++)
  33.                                                 {
  34.                                                        for ($k=0;$k<=35;$k++)
  35.                                                         {
  36.                                                                for ($n=0;$n<=35;$n++)
  37.                                                                 {
  38. for ($a=0;$a<=35;$a++)
  39.        {
  40.                for ($b=0;$b<=35;$b++)
  41.                 {
  42.                        for ($c=0;$c<=35;$c++)
  43.                        {
  44.                                for ($e=0;$e<=35;$e++)
  45.                                {
  46.                                        for ($g=0;$g<=35;$g++)
  47.                                         {
  48.                                                for ($h=0;$h<=35;$h++)
  49.                                                 {
  50.                                                        for ($j=0;$j<=35;$j++)
  51.                                                         {
  52.                                                                for ($l=0;$l<=35;$l++)
  53.                                                                 {
  54.  
  55.  
  56.  
  57.                                                                        #for ($x=0;$x<=35;$x++)
  58.                                                                        # {
  59.  
  60.  
  61.  
  62.  
  63.                        my $WAP_KEY="@alpha[$i]@alpha[$z]@alpha[$j]@alpha[$x]@alpha[$d]@alpha[$f]@alpha[$k]@alpha[$n]@alpha[$a]@alpha[$b]@alpha[$c]@alpha[$e]@alpha[$g]@alpha[$h]@alpha[$j]@alpha[$l]";
  64.                        print "$WAP_KEY\n";
  65.                        open(FILEHANDLE, ">>fichero_wpakey.txt") or die 'cannot open file!';
  66.                        print  FILEHANDLE  $WAP_KEY , "\n";
  67.                        close(FILEHANDLE);
  68.                                                                }
  69.  
  70.                                                        }
  71.  
  72.                                                }
  73.  
  74.                                        }
  75.  
  76.                                }
  77.  
  78.                        }
  79.  
  80.                }
  81.  
  82.        }
  83.  
  84.                                                                }
  85.  
  86.                                                        }
  87.  
  88.                                                }
  89.  
  90.                                        }
  91.  
  92.                                }
  93.  
  94.                        }
  95.  
  96.                }
  97.  
  98.        }]
  99.  


Título: Re: generador claves en perl
Publicado por: MasterPM2 en 25 Marzo 2012, 22:42 pm
creo que se veria mejor si usas la etiqueta de codigo correspondiente  :rolleyes:


Saludos  :D


Título: Re: generador claves en perl
Publicado por: baronobus en 25 Marzo 2012, 22:57 pm
Me encantaria modificarlo como dices pero no veo como...sabes como hacerlo MasterPM2¿


Título: Re: generador claves en perl
Publicado por: MasterPM2 en 25 Marzo 2012, 23:07 pm
hay una  dropbox, o mmm no se como se dice en espanol..
cuando estas creando tu mensaje ves 5 lineas principales..
1) asunto
2)icono del mensaje
3) una serie de opciones para formato de texto, justo al final del extremo derecho de esta linea esta un menu que por defecto dice "GeSHi" cambialo en funcion del lenguaje que utilizas :)


Título: Re: generador claves en perl
Publicado por: baronobus en 25 Marzo 2012, 23:09 pm
Si ok...

tienes razon..se ve mas bien y mas claro..gracias.


Título: Re: generador claves en perl jazztel de 5 digitos
Publicado por: baronobus en 25 Marzo 2012, 23:38 pm
Ejemplo modificado para algunos routers/wepkeys  de jazztel:
(no incluir los corchetes)
Código
  1. [#!/usr/bin/perl
  2. my @alpha = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
  3.  
  4. my $a;
  5. my $b;
  6. my $c;
  7. my $d;
  8. my $e;
  9.  
  10.                for ($a=0;$a<=10;$a++)
  11.                 {
  12.                        for ($b=0;$b<=10;$b++)
  13.                        {
  14.                                for ($c=0;$c<=10;$c++)
  15.                                {
  16.                                        for ($d=0;$d<=10;$d++)
  17.                                         {
  18. for ($e=0;$e<=10;$e++)
  19. {
  20.  
  21.  
  22.                        my $WAP_KEY="@alpha[$a]@alpha[$b]@alpha[$c]@alpha[$d]@alpha[$e]";
  23.                        print "$WAP_KEY\n";
  24.                        open(FILEHANDLE, ">>wpakey-jazztel.txt") or die 'cannot open file!';
  25.                        print  FILEHANDLE  $WAP_KEY , "\n";
  26.                        close(FILEHANDLE);
  27.                                                                }
  28.  
  29.                                                        }
  30.  
  31.                                                }
  32.  
  33.                                        }
  34.  
  35.                                }]


Título: Re: generador claves en perl
Publicado por: P4nd3m0n1um en 25 Marzo 2012, 23:44 pm
y si lo ejecutas en paralelo, como con el john o el crunch:

Código
  1. perl generador.pl | aircrack-ng -w -  *captura.cap

en ves de crear el archivo.


Título: Re: generador claves en perl
Publicado por: baronobus en 27 Marzo 2012, 19:23 pm
si claro..por supuesto es mas comodo P4nd3m0n1um ..

mi idea era dejar el generador por el motivo q explico al inicio.

salutaciones


Título: Re: generador claves en perl
Publicado por: explorer en 28 Marzo 2012, 01:44 am
El segundo código, si solo consiste en recorrer los valores numéricos entre 00000 y el 99999, vale ponerlo como
Código
  1. #!/usr/bin/perl
  2. open my $FILEHANDLE, ">>", "wpakey-jazztel.txt"  or  die 'cannot open file!';
  3.  
  4. for my $WAP_KEY ( "00000" .. "99999" ) {
  5.    print $FILEHANDLE $WAP_KEY , "\n";
  6. }
  7.  
  8. close $FILEHANDLE;
Además, dejamos fuera del bucle las sentencias open() y close(), por lo que se ejecutará mucho más rápido.

En el primer código hay un error: falta la 'P'. Y es demasiado largo para lo que se quiere hacer.

Esta es una versión un poco más corta:
Código
  1. #!/usr/bin/perl
  2. use Modern::Perl '2012';
  3. use autodie;
  4. use Algorithm::Combinatorics 'variations_with_repetition';
  5.  
  6. my @data = ( 'A' .. 'Z', '0' .. '9');
  7.  
  8. my $iterador = variations_with_repetition(\@data, 16);
  9.  
  10. open $fh, '>', 'fichero_wpakey.txt';
  11.  
  12. while (my $v = $iterador->next) {
  13.    say $fh @{$v};
  14. }
  15.  
  16. close $fh;
  17.  
P.D.: El fichero resultante es realmente grande... 36^16 = 7,95866111 × 1024. Ocho cuatrillones de claves... Dudo mucho que se pueda generar un archivo de 135 yottabytes, en un ordenador casero...  ;D