| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Сетевой брутфорс |
| Автор: Xen0n 28.4.2008, 08:14 |
| Народ, помогите плз! Необходимо написать прогу, сервер-клиенты для брутфорса пароля, используя локалку, т.е. есть 1 комп с серваком и много компов с клиентами (ботами), сервак раздает диапазон, клиенты перебирают его и пересылают обратно серваку, пароль за паролем, или файл текстовый. Короче я написал уже общение через сеть, но перебор глючит, поделитесь плз идеями насчет кода перебора... |
| Автор: SABROG 28.4.2008, 11:48 |
| Вообще подобное обсуждать запрещено на форумах, т.к. по сути ты нарушаешь закон. С другой стороны, если сервера и тачки твои и ты просто забыл пароль, то все законно. Я так понял твоя задача написать распределенное вычисление пароля по сети ? Я бы такой алгоритм выбрал: - сервер посылает всем ботам "бенчмарк" пакет. И боты несколько секунд усердно кушают ресурсы компа. Обратно на сервер посылаются пакеты с результатами тестов, где видно на каких тачках пароль будет перебираться быстрее, а на каких медленнее. - в зависимости от результатов создаем очередь ботов от самого сильного к самому слабому. Генерим для каждого бота свой диапозон перебора с таким учетом, чтобы перебор закончился выполнятся ими одновременно. Т.е. самому мощному побольше диапозон, самому слабому - поменьше. Таким образом мы избавимся от необходимости дожидаться готового куска со слабого компа, когда все остальные будут готовы. Диапозоны значений надо генерить исходя из ситуации: - максимальная длина пароля - чувствительность регистров - возможность вводить не только латинские буквы Если по паролю генерится ХЭШ и сравнивается, то есть смысл полученный хеш записать в файл, чтобы не вычислять его повторно при подборе следующего пароля. Т.е. создать базу данных "пароль=хеш". Перебор лучше всего не производить увеличивая значение на 1. Хорошо, если это будет случайный выбор. Например дошли до пароля: aaa Далее алгоритм хочет сделать: aab Лучше если будет так: aaa, qzb, poa и т.д. в случайном порядке. Ну и естественно лучше начинать с перебора по словарю. |
| Автор: Xen0n 28.4.2008, 18:55 |
| Ну насчет законности - это как то слишком сурово, у меня задание курсача такое)) Задача в общем виде выглядит так - надо написать прогу распределеных вычислений/выполнений задач, с модульной структурой, тестовый модуль - это перебор виртуального пароля (допустим сервак генерит что-нить случайное, а клиенты его подбирают). Предполагается, для упрощения, что компы одинаковой конфигурации и их "бенчмарки" соответственно тоже. В базе данных смысл конечно есть, но вот я сомневаюсь - не проще ли гарантированно перебрать конкретный пароль, чтобы потом даже не вспоминать проверяли ли мы его? То есть с моей точки зрения получаем вот что: есть длина пароля, кол-во используемых символов и кол-во ботов - я написал примерный алгоритм, но он криво работает, наверное в силу кривости моих рук, вот и хочу почитать что другие думают насчет вариантов реализации примерно такого алгоритма... |