с маской ?l?d и 8 значный пароль
?l = {abcdefghijklmnopqrstuvwxyz} /26 символов/
?d = {0123456789} /10 символов/
Получаем 8-и значную комбинацию, в каждом символе которой по 36 вариантов.
Таким образом, можно собрать 36^8 = 2,821109907×10¹² комбинаций.
Расчет по аналогии с двоичной системой счисления. Например, мы знаем что вариантов у нас на символ 2 ("0" и "1"). Если длина кодового слова составляет 3 символа, то получаем полным перебором такой вот набор:
{000; 001; 010; 011; 100; 101; 110; 111} (всего 8 комбинаций, как видно).
Рассчитать число комбинаций можно по формуле 2^n, где n - длина кодового слова, а 2 - основание системы счисления. В рассмотренном ранее вместо 2 следует взять 36 (26 символов на латинский алфавит + 10 символов на однозначные числа), и возвести в степень, равную длине кодового слова (пароля). Получаем те самые почти 3 триллиона кодовых слов.
А вообще - это так или иначе "рулетка". Где гарант, что целевой пароль не состоит из, скажем, 15 символов? В равной степени можно предположить, что в набор входит одна заглавная буква (что увеличивает на несколько порядков конечное количество вариантов). Применение словарей - тоже полумера, поскольку все люди разные, и нет никакой гарантии того, что в конечном словаре окажется искомая комбинация символов. Словом, можно потерять уйму времени, а пароль так и не восстановить. Возможен и обратный вариант. Предположим, некий субъект взламывает точку доступа: он перехватил хэндшейк, и начал перебор. Однако у точки доступа грамотный админ, который раз в месяц примерно меняет пароль, причем пароль выбран длиной 12 символов с применением не только заглавных и строчных букв, но и с использованием спецсимволов (знаю одну точку доступа, где человек в конце в восьмисимвольный пароль ввел еще и символ рубля "₽", - как Видите, такого спецсимвола даже нет среди рядов Charset). Разгадывать замучаешься. Про варианты вроде "vjqckj;ySqgfhjkm" ("мойсложнЫйпароль") - вообще молчу, словарь на подобное только специально готовить...
Но ну их, хэндшейки эти. Я так понимаю, что запустить у Вас приложение получилось, раз уж о длительности перебора разговор зашел. Тогда такой вопрос: у Вас работает перебор паролей к RAR архивам? У меня почему-то нет... Попробуйте запустить:
hashcat64.bin -m 12500 -a 3 $RAR3$*0*45109af8ab5f297a*adbf6c5385d7a40373e8f77d7b89d317 ?a?a?a
У меня выдает "No hashes loaded, line length exception". И я никак не могу сообразить - почему. Хэш архива взят из примера с форума hashcat [
https://hashcat.net/wiki/doku.php?id=example_hashes]. Что у Вас покажет?
Пользователь добавил сообщение 03 Декабря 2017, 22:54:25:
И да, - есть у hashcat приятная опция. Он умеет восстанавливать прогресс. Допустим, мы запустили прогресс, и он у нас уже часов 10 ковыряется, но так ничего и не восстановил. Предположим, что команду давали:
hashcat64.bin -m 12500 -a 3 $RAR3$*0*45109af8ab5f297a*adbf6c5385d7a40373e8f77d7b89d317 ?d?d?d?d?d?d
Хотим прерваться. В консоли с запущенным hashcat жмем "q". Программа выведет статистику выполнения и остановит работу. После остановки прогресса необходимо записать куда-нибудь число, приведенное в строчке его вывода:
Restore.Point....:
500273/1000000 (50.00%) (само число выделено).
И теперь для восстановления с этого же места мы даем команду:
hashcat64.bin -m 12500 -a 3 $RAR3$*0*45109af8ab5f297a*adbf6c5385d7a40373e8f77d7b89d317 ?d?d?d?d?d?d -s 500273
Удобная штука всё-таки. Вот действительно удобная.
Пользователь добавил сообщение 03 Декабря 2017, 22:58:00:
ХА!
#i'amAnIdiot!
Решение проблемы с хэшем архива оказалось в том, что сам хэш следует скармливать hashcat'у, заключив его в кавычки. Словом:
Неправильно: hashcat64.bin -m 12500 -a 3 $RAR3$*0*45109af8ab5f297a*adbf6c5385d7a40373e8f77d7b89d317 ?a?a?a
Правильно: hashcat64.bin -m 12500 -a 3 '$RAR3$*0*45109af8ab5f297a*adbf6c5385d7a40373e8f77d7b89d317' ?a?a?a
Видно он просто не смог понять где кончается хэш и начинается маска словарного слова. А я-то тут голову ломал. Дело раскрыто!