Inspired by Insecure

July 10, 2009 at 10:23 am

DefBrute – система распределенного перебора паролей

DefBrute

Не многим из нас нравится выполнять трудоемкую задачу в одиночку. Процесс тянется долго, расходуются физические/умственные/нервные ресурсы. И в который раз мы понимаем, сколько времени можно было сэкономить, работая в коллективе.

Компьютер не является исключением из этого правила. Только он не способен осознавать, насколько сложна поставленная перед ним задача, поэтому процесс ее выполнения может растянуться на долгий срок. Другое дело кластер – своего рода коллектив компьютеров, работающих над общей задачей и каждый из которых делает то, на что способен. Однако и здесь нужен сервер, который будет распределять задачу…

Оставим эту «балталогию» и, чтобы не обсуждать абстрактные вещи, поставим конкретную задачу – перебор пароля по MD5-хешу. Другими словами: поиск коллизии.

Частенько возникает потребность восстановить строку, имея на руках ее MD5-хеш. Забудем идею перебора по словарю, чтобы не ограничивать себя его размерами и предположим, что не нашлось коллизии ни на одном из ресурсов в сети. Остается генерировать посимвольно строки и сравнивать их хеш с целевым. Не иначе как настоящий брутфорс! Однако выполнять этот процесс на одной машине, по меньшей мере, нерационально.

 

Гвоздь программы.

DefBrute – система распределенного перебора строк для MD5-хешей. Особенности ее функционирования и процесс создания были детально описаны в статье «Система распределенных вычислений. Грид-сеть». Там же можно найти исходные коды программного обеспечения, лежащие в основе рассматриваемой системы, с подробными комментариями.

Система состоит из серверной и клиентской частей.

 

Сервер.

Серверная часть (DefBrute v1.0.exe) выполняет функции генерации, учета и передачи диапазонов строк клиентам.
Генерация диапазонов основана на множестве символов (Char Set) (из которых, как предполагается, состоит пароль) и длины пароля (Password Length). Процесс генерации представляет собой простую инкрементацию числа из n-ричной системы счисления. Каждому числу соответствует биективное (взаимно-однозначное) отображение из множества строк. За подробностями генерации обращайтесь к статье многоуважаемого ZaCo «Разделение диапазона перебора паролей».

Далее сгенерированный диапазон строк передается клиенту с помощью технологии .NET Remoting.

DefBrute

Главное (и единственное) окно программы состоит из нескольких областей. Рассмотрим эти области детальнее.

 

port Область Connect Settings содержит в себе опцию: Server Port, которая (как нетрудно догадаться) отвечает за номер порта, который будет открыт на сервере и который также необходимо указать клиенту.

User CharSetДанная область объединяет все опции для перебора. Поле User CharSet позволяет пользователю задать множество символов, которые, по его предположению, могут быть использованы в пароле.

PresetПредустановленные множества символов (латинские в верхнем регистре, в нижнем регистре, цифры и специальные символы). Думаю, тут все понятно.

 

Поле в котором указывается целевой MD5-хеш.

Password LengthПредполагаемая длинна пароля. Незнаем? – указываем с запасом.

OnlineОбласть статистики, в которой первым пунктом является поле Clients Online. Оно показывает количество клиентов, получивших диапазон для перебора.

ProgressПрогресс-бар, отображающий процесс перебора диапазона всех возможных строк.

 

 

Collision

Область, в которой выводится строка, соответствующая целевому MD5-хешу.

 

 

Клиент.

Клиент представляет собой консольное приложение, формат запуска которого: defbc.exe <server ip> <server port>.

Возможно, кому-то покажется, что программа далека от совершенства, о чем могут свидетельствовать необработанные исключения и т.п. Для искушенного пользователя, а также для любителей оптимизировать и подгонять все «под себя», в архиве с программой присутствуют исходные коды на C# в виде проекта (Solution) для Visual Studio 2008.

Не стесняйтесь работать в коллективе ;).

DefBrute v1.0

P.S. Система распределенных вычислений DefBrute попала в обзор X-Toolz. Софт для взлома и анализа безопасности журнала “Хакер” #153.

DefBrute v1.0

0 likes Blog , Продукты # , , , , ,
Share: / / /

Leave a Reply

Your email address will not be published. Required fields are marked *

Be aware of the first

Материалы, опубликованные в этом блоге, отражают исключительно точку зрения автора и могут не совпадать с мнением и позицией его текущего работодателя.