Home > Атака по словарю (GPU)
Словарная атака на GPU
05.05.2022
Reset Windows Password v11.4
Windows activity timeline, Windows clipboard history, etc.
20.04.2022
Windows Password Recovery v14.3
Preliminary support for Windows 11
15.04.2022
Outlook Password Recovery v3.2.1
Support for Windows 11 and the latest version of MS Outlook
21.03.2022
Reset Windows Password v11.3
New forensic utilities, support for Windows 11 and Windows Server 2022

Articles and video

You may find it helpful to read our articles on Windows security and password recovery examples. Video section contains a number of movies about our programs in action

Windows Password Recovery - атака по словарю (GPU)


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

Эта атака работает следующим образом:

  • В начале читается очередное слово из исходного словаря.
  • В соответствии с заданным диапазоном символов и минимальной/максимальной длиной диапазона, генерируются все возможные варианты.
  • Эти варианты (символы) вставляются в начало, конец или середину слова. Местоположение в слове, куда будут вставляться генерируемые последовательности может задаваться опционально.
  • Полученные таким образом множественные варианты слова проверяются на предмет совпадения с искомым паролем.

Например, если задан диапазон символов для перебора от 0 до 9 и длина этого диапазона от 1 до 2, то программа создаст 100 вариантов символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 .. 99. Затем эти последовательности будут добавлены в начало, середину и конец слова. Так, для слова test, если последовательности будут вставляться в каждую позицию, программа проверит следующие пароли:
0test, 1test .. 99test
t0est, t1est .. t99est
te0st, te1st .. te99st
tes0t, tes1t .. tes99t
test0, test1 .. test99
Всего - 100*5 = 500 вариантов.

Рассмотрим подробнее настройки атаки.
 


Словари

Во вкладке Словари задается список словарей для атаки. Поддерживаются текстовые словари в формате ASCII, UNICODE, UTF8, RAR, ZIP, а также зашифрованные\упакованные словари в родном формате PCD, разработанным нашей компанией. Для деактивации словаря достаточно сбросить соответствующую галочку напротив его имени. В этом случае, он будет проигнорирован во время атаки. Вместе с программой поставляется используемый по-умолчанию словарь на 400000 слов. Полный набор из более чем 6 Гб словарей можно заказать для доставки на CD, либо использовать online словари.

Атака по словарю на GPU



Диапазон для перебора

В этой вкладке необходимо настроить диапазон символов, вставляемый в слова, его минимальную и максимальную длину. При установке диапазона, можно использовать уже имеющиеся заготовки или, установив соответствующую опцию, задавать свой собственный набор. При выборе максимальной длины длины диапазона имейте в виду, что нецелесообразна установка как слишком большого, так и слишком малого значения. Если в первом случае скорость перебора паролей в атаке может упасть до 0, то задание небольшого диапазона перебираемых символов увеличит накладные расходы, связанные с нерациональных использованием вычислительных способностей GPU.

Во второй группе опций необходимо задать местоположение в слове, куда будут вставляться символы перебираемого диапазона.

И, наконец, третья группа настроек отвечает за предварительную обработку слов исходного словаря. Если выставить опцию As is, то исходное слово будет использовано как есть, без приведений к верхнему или нижнему регистру букв. Количество перебираемых паролей возрастает прямо пропорционально количеству выставленных в этой группе опций. С другой стороны, программа достаточно умна, чтобы не использовать слова повторно. Например, слово 12345678, даже если выставлены все опции конвертирования, будет использовано только один раз.

Диапазон символов для перебора в словарной атаке на GPU

Количество перебираемых паролей для одного слова можно рассчитать по следующей формуле:

passwords = R * L * K
где
R - диапазон символов, вычисляется по следующей формуле: R = charset_length ^ max_length - charset_length ^ (min_length-1) +1
L - позиции в слове. Рассчитываются так: если задана вставка в середину слова, то L = password_length - 1, затем прибавляем по единице в случае задания вставки в начало или в конец слова.
K - количество установленных опций в группе 'Input word utilization'.

Например, имеем исходное слово window и установленные опции, как на картинке вверху, т.е. диапазон символов a..z,A..Z,0..9,symbol14,space, вставка во все позиции, конвертация слова в нижний регистр и капитализация (первая буква заглавная). Подсчитаем количество паролей, которые будут сгенерированы для этого слова:
charset_length = 26+26+10+14+1 = 77
R = 77^4 - 77^0 + 1 = 35153041
L = (6-1) + 1 + 1 = 7
K = 2
passwords = 35153041 * 7 * 2 = 492 142 574


Онлайн словари

В третьей вкладке можно скачать из сети Интернет исходные словари для Словарной атаки на GPU. По умолчанию используется внутренний словарь на 400000+ слов.

Словари для загрузки из интернет



Установки графической карты

Перед использованием ее в атаке, графическую карту необходимо выбрать в соответствующем пункте общего меню.

Установки графической карты

Настройка графической карты состоит всего из двух параметров:

  1. Установка количество параллельных блоков графической карты, в которых будет осуществляться поиск паролей. Каждый блок состоит из 256 потоков. Таким образом, если задать количество блоков равным 256, то каждый раз на GPU будет запущено 256*256=65536 потоков. А общее количество проверяемых паролей за один запуск GPU кернела будет составлять 256*ThreadBlocks*PasswordsPerThread, т.е. в нашем случае, 256*256*1000= 65 536 000 паролей. Рекомендуется всегда устанавливать значение Thread Blocks кратным 64. Установка этого параметра меньше 256 на современных графических картах в большинстве случаев приводит к снижению производительности.

  2. Установка максимального количества паролей, обрабатываемые в одном потоке GPU. Чем выше это значение, тем меньше накладных расходов, связанных с запуском потоков, обработки переменных и т.д. и, соответственно, тем выше скорость перебора. Однако установка слишком большого значения может привести к зависанию компьютера, голубому экрану смерти, либо к тому, что текущая скорость перебора (во вкладке состояния атаки) начинает "плясать". Это связано с тем, что время выполнения задачи на GPU превышает время обновления текущего состояния атаки. Значение по умолчанию для этого параметра составляет 100.

В зависимости от установленных опций, правильный выбор настроек GPU может кардинально, порой в несколько раз, увеличить скорость подбора паролей. Рекомендуем поиграться настройками GPU для того, чтобы добиться максимальной утилизации графического процессора в этой атаке.