Модификация исходного кода в Linux

Прежде чем рассматривать особые случаи, такие как MD5, опишем изменения, которые следует внести в сам сценарий Crack. В листинге 12.1 показан стандартный фрагмент сценария, а в листинге 12.2 — исправленный фрагмент. Модификации связаны с тем, что вместо компилятора сс используется gcc. Соответственно, меняется переменная CFLAGS, и к процессу компиляции подключается библиотека crypt.

Листинг 12.1. Стандартные параметры компиляции в сценарии Crack

vanilla unix сс СС=сс

CFLAGS="-g -О $С5FLAGS"

LIBS=-lcrypt uncomment only if necessary to use stdlib crypt(),

e.g.: NetBSD MD5

gcc 2.7.2 CC=gcc

CFLAGS="-g -02 -Wall $C5FLAGS"

LIBS=-lcrypt uncomment only if necessary to use stdlib crypt(),

e.g.: NetBSD MD5

Листинг 12.2. Измененные параметры компиляции для Linux

dictgrps.conf

vanilla unix сс СС=сс?

CFLAGS="-g -О $C5FLAGS"

LIBS=-lcrypt uncomment only if necessary to use stdlib crypt(),

e.g.: NetBSD MD5

gcc 2.7.2 CC=gcc

CFLAGS="-g -02 -Wall $C5FLAGS"

LIBS=-lcrypt uncomment only if necessary to use stdlib crypt(),

e.g.: NetBSD MD5

После этих изменений уже можно приступать к компиляции программы. Но если планируется поддерживать алгоритмы хеширования MD5 и Bigcrypt, то перед первым запуском программы следует выполнить описанные ниже действия.

Включение поддержки паролей MD5

Чтобы настроить программу Crack на работу с паролями MD5, необходимо внести несложные изменения в дерево исходных кодов (листинг 12.3).

Листинг 12.3. Действия, необходимые для подготовки к отгадыванию паролей MD5

cd /usr/src/c50aMD5/src

mv libdes libdes.orig

cd util

cp elcid.c elcid.c.orig

cp elcid.c,bsd elcid.c

Примечание

В файле elcid.c определена переменная PLAINTEXTS IZE. Для паролей MD5 (в файле elcid.c, bsd) она равна 16. Это означает, что самый длинный пароль для отгадывания будет иметь 16 символов. Это значение можно увеличить до 32, но за счет существенного снижения производительности. Насколько существенного? Если учитывать только алфавитно- цифровые символы (a-z, A-Z, 0-9), то это 26 символов нижнего регистра, еще 26 — верхнего плюс 10 цифр, итого — 62 символа. Таким образом, общее число возможных 16-символьных алфавитно-цифровых паролей равно 6216, или 4,77х1028, тогда как общее число возможных 32-символьных алфавитно-цифровых паролей равно 6232, или 2,27х1057. Это существенное увеличение числа вариантов.


Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок