Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

MD5 Brute forcer

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Exploit MD5 Brute forcer

    MD5 Brute forcer



    #!/usr/bin/perl

    # use strict; Sorry next time i'll use it
    # MD5 Hash Bruteforce Kit
    # by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de)
    # URL : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    # Date : 11.02.2007
    # Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords
    # Info[1] : Written under Kubuntu Linux (Throw away Windows!)
    # Info[2] : If you can code a bit perl, you can modify it to crack sha etc too...
    # Greets to: Invisible!

    $ver = "01";

    $dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.



    if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
    use Digest::MD5 qw(md5_hex);
    use Time::HiRes qw(gettimeofday);

    if ($ARGV[0]=~"a") {
    $alpha = "abcdefghijklmnopqrstuvwxyz";}
    if ($ARGV[0]=~"A") {
    $alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
    if ($ARGV[0]=~"d") {
    $alpha = $alpha."1234567890";}

    if ($ARGV[0]=~"x") {

    $alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}

    if ($alpha eq "" or $ARGV[3] eq "") {usage();};
    if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";};

    print "Selected charset for attack: '$alpha\'\n";
    print "Going to Crack '$ARGV[3]'...\n";

    for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
    crack ($t);
    }

    sub usage{
    print "\n\nMD5 Hash Bruteforce Kit v_$ver\n";
    print "by Iman Karim (iman.karim\@smail.inf.fh-bonn-rhein-sieg.de)\n";
    print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\n\n";
    print "USAGE\n";

    print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n";
    print " Charset can be: [aAdx]\n";
    print " a = {'a','b','c',...}\n";
    print " A = {'A','B','C',...}\n";
    print " d = {'1','2','3',...}\n";
    print " x = {'!','\"',' ',...}\n";
    print "EXAMPLE FOR CRACKING A MD5 HASH\n";
    print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
    print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
    print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n";
    print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
    print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
    print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n";
    print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
    print " This example tries to crack the given MD5 with nearly every character.\n";
    print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n";
    die "Quitting...\n";

    }

    sub crack{
    $CharSet = shift;
    @RawString = ();
    for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}

    $Start = gettimeofday();
    do{
    for (my $i =0;$i<$CharSet;$i++){
    if ($RawString[$i] > length($alpha)-1){
    if ($i==$CharSet-1){
    print "Bruteforcing done with $CharSet Chars. No Results.\n";
    $cnt=0;
    return false;
    }
    $RawString[$i+1]++;
    $RawString[$i]=0;
    }
    }

    ################################################## #

    $ret = "";
    for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
    $hash = md5_hex($ret);
    $cnt++;
    $Stop = gettimeofday();
    if ($Stop-$Start>$dbgtmr){
    $cnt = int($cnt/$dbgtmr);
    print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
    $cnt=0;
    $Start = gettimeofday();
    }
    print "$ARGV[3] != $hash ($ret)\n";
    if ($ARGV[3] eq $hash){
    die "\n**** Password Cracked! => $ret\n";
    }

    ################################################## #

    #checkhash($CharSet)."\n";

    $RawString[0]++;
    }while($RawString[$CharSet-1]<length($alpha));
    }

    sub checkhash{
    $CharSet = shift;
    $ret = "";
    for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
    $hash = md5_hex($ret);
    $cnt++;
    $Stop = gettimeofday();
    if ($Stop-$Start>$dbgtmr){
    $cnt = int($cnt/$dbgtmr);
    print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
    $cnt=0;
    $Start = gettimeofday();
    }

    if ($ARGV[3] eq $hash){
    die "\n**** Password Cracked! => $ret\n";
    }




    }
    Last edited by 5ubzer0; 08-12-2009, 13:01.
    sigpic



  • Font Size
    #2
    hum sou newbie como devo usar isso ?

    Comment


    • Font Size
      #3
      tu tem que ter perl instalado e compilar ele cmd: perl nomedoarquivo.pl

      Comment


      • Font Size
        #4
        e pra que serve? o.o
        "Você pode ter a fé que quiser em espíritos, em vida após a morte, no paraíso e no inferno, mas se tratando desse mundo, não seja idiota. Porque você pode me dizer que deposita sua fé em Deus para passar pelo dia, mas quando chega a hora de atravessar a rua, eu sei que você olha para os dois lados"

        Comment


        • Font Size
          #5
          #MD5 Hash Bruteforce Kit

          É um kit para quebra de hashs MD5.

          att.



          areax@hotmail.com



          Comment


          • Font Size
            #6
            Não funcionou aqui.

            Comment


            • Font Size
              #7
              Postado Originalmente por 03APR91 Ver Post
              Não funcionou aqui.
              Então cara..., copia e cola em um bloco de notas o script, salva em formato .pl (perl)

              depois abre o prompt (cmd/terminal, seja qual s.o você usar) e procura o script e roda ele: perl nome_do_arquivo.pl

              no caso: 'a' para a~z, 'A' para A~Z, d para números 0-9 e 'x' para caractéres especiais @,.;: etc, coloca qual é o tamanho mínimo da senha e o máximo, e logo depois o hash md5.

              ficando algo como:

              perl nome_do_arquivo.pl aA 1 5 hashmd5

              nesse caso ele só vai procurar por letras no alfabeto que sejam minúsculas e maiúsculas e terá como tamanho mínimo 1 e máximo 5.

              Comment


              • Font Size
                #8
                cara, ja usei varios scripts desse tipo. ja deixei o pc ligado uns 4 5 dias rodando e nunca vi funcionar...

                Comment


                • Font Size
                  #9
                  Valeu pelo script!!!

                  Comment


                  • Font Size
                    #10
                    #!/usr/bin/perl

                    # use strict; Sorry next time i'll use it
                    # MD5 Hash Bruteforce Kit
                    # by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de)
                    # URL : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
                    # Date : 11.02.2007
                    # Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords
                    # Info[1] : Written under Kubuntu Linux (Throw away Windows!)
                    # Info[2] : If you can code a bit perl, you can modify it to crack sha etc too...
                    # Greets to: Invisible!

                    $ver = "01";

                    $dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.



                    if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
                    use Digest::MD5 qw(md5_hex);
                    use Time::HiRes qw(gettimeofday);

                    if ($ARGV[0]=~"a") {
                    $alpha = "abcdefghijklmnopqrstuvwxyz";}
                    if ($ARGV[0]=~"A") {
                    $alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
                    if ($ARGV[0]=~"d") {
                    $alpha = $alpha."1234567890";}

                    if ($ARGV[0]=~"x") {

                    $alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}

                    if ($alpha eq "" or $ARGV[3] eq "") {usage();};
                    if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";};

                    print "Selected charset for attack: '$alpha\'\n";
                    print "Going to Crack '$ARGV[3]'...\n";

                    for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
                    crack ($t);
                    }

                    sub usage{
                    print "\n\nMD5 Hash Bruteforce Kit v_$ver\n";
                    print "by Iman Karim (iman.karim\@smail.inf.fh-bonn-rhein-sieg.de)\n";
                    print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\n\n";
                    print "USAGE\n";

                    print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n";
                    print " Charset can be: [aAdx]\n";
                    print " a = {'a','b','c',...}\n";
                    print " A = {'A','B','C',...}\n";
                    print " d = {'1','2','3',...}\n";
                    print " x = {'!','\"',' ',...}\n";
                    print "EXAMPLE FOR CRACKING A MD5 HASH\n";
                    print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
                    print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
                    print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n";
                    print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
                    print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
                    print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n";
                    print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
                    print " This example tries to crack the given MD5 with nearly every character.\n";
                    print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n";
                    die "Quitting...\n";

                    }

                    sub crack{
                    $CharSet = shift;
                    @RawString = ();
                    for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}

                    $Start = gettimeofday();
                    do{
                    for (my $i =0;$i<$CharSet;$i++){
                    if ($RawString[$i] > length($alpha)-1){
                    if ($i==$CharSet-1){
                    print "Bruteforcing done with $CharSet Chars. No Results.\n";
                    $cnt=0;
                    return false;
                    }
                    $RawString[$i+1]++;
                    $RawString[$i]=0;
                    }
                    }

                    ################################################## #

                    $ret = "";
                    for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
                    $hash = md5_hex($ret);
                    $cnt++;
                    $Stop = gettimeofday();
                    if ($Stop-$Start>$dbgtmr){
                    $cnt = int($cnt/$dbgtmr);
                    print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
                    $cnt=0;
                    $Start = gettimeofday();
                    }
                    print "$ARGV[3] != $hash ($ret)\n";
                    if ($ARGV[3] eq $hash){
                    die "\n**** Password Cracked! => $ret\n";
                    }

                    ################################################## #

                    #checkhash($CharSet)."\n";

                    $RawString[0]++;
                    }while($RawString[$CharSet-1]<length($alpha));
                    }

                    sub checkhash{
                    $CharSet = shift;
                    $ret = "";
                    for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
                    $hash = md5_hex($ret);
                    $cnt++;
                    $Stop = gettimeofday();
                    if ($Stop-$Start>$dbgtmr){
                    $cnt = int($cnt/$dbgtmr);
                    print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
                    $cnt=0;
                    $Start = gettimeofday();
                    }

                    if ($ARGV[3] eq $hash){
                    die "\n**** Password Cracked! => $ret\n";
                    }




                    }
                    Eu uso esse... valeu!

                    Comment


                    • Font Size
                      #11
                      Valeu. estava precisando de uma alternativa ao c-md5 que rodasse no linux.
                      Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



                      Notify-list · Twitter · Blog

                      Nova lei: Invadir computadores protegidos é crime.
                      Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)

                      Comment

                      X
                      Working...
                      X