Материал просмотрен 13,525 раз(а)

На мой взгляд, одна из лучших программ для расчёта хешей – именно hashcat. Многие могут назвать эту тему хакерской, я же считаю, что это инструмент криптоанализа и системному администратору знать такие вещи просто необходимо. Да и кроме того, каждый из нас знает, как часто пользователи обращаются с различными просьбами, решение которых лежит немного как бы “по ту сторону”.

Ну не будем влезать в полемику об этичности данного мероприятия, приступим к изучению данного инструмента. Рассмотрим повнимательнее hashcat (а точнее его расширение oclhashcat), позволяющее задействовать вычислительные ресурсы графического адаптера.

Ну и для примера у нас с вами будет хеш пароля, сохраненный в базе данных WordPress (сейчас пусть все администраторы сайтов поднапрягутся и поменяют пароли на более сложные).

Полный список ключей программы доступен в командной строке по ключу –help.

Итак, формулируем задачу. Имеется хеш пароля, содранного из базы данных WordPress (как получать такие хеши я писал тут). Тут ещё птичка на хвосте принесла, что админ использует цифровой пароль из 8-ми знаков. Всего-то 100,000,000 комбинаций. Обычные процовые переборщики дают мне хешрейт около 4 тысяч в секунду. Получаем 7 часов перебора. Терпимо, если допустить, что птичка не обманула.

Но мы качаем hashcat gui и проведем некоторую подстройку.

В частности (gui мы используем только для того, чтобы организовать опции, на самом деле всё гораздо проще формировать сразу в cli.

2

Поясню некоторые опции, с которыми загружается oclHashcat:

-a 3 – режим атаки брут-форс (перебор);

-m 400 – тип хеша – md5 wordpress;

-i — increment-min=8 –increment-max=8 – длина пароля;

-1 01234567890 – используемые в пароле символы (-1 – первый набор);

tmp8355.tmp – временный файл, содержащий наш хеш;

-1 ?d ?1?1?1?1?1?1?1?1 – маска пароля. Десятичные цифры из первого набора, 8 штук;

-w 3 –gpu-temp-abort=80 –gpu-temp-retain=70 – режим работы с высокой доступностью пользовательского окружения (не тупит всё), температура остановки перебора и температура догона.

–session=all – определяет имя сессии (для возможного продолжения перебора);

–force – игнорируем предупреждения;

Итак, выполняем команду:

1

Что мы видим. В общем-то статусное окно, в котором показана вся интересующая нас информация. Важное, на что тут можно обратить внимание – Speed.GPU.#1 – 207.7 kH/s – скорость подбора, 207700 вариантов в секунду. Сто миллионов вариантов делим на это число, получится чуть больше восьми минут. Намного более приятный рейт.

Подождём некоторое время.

3

Через 3 минуты 18 секунд пароль сдался. Статус Cracked. oclHashcat решила задачку и выдала результат: 13011987 – похоже на дату рождения. Какой неосторожный админ.

Для сравнения, если бы он использовал не цифры, а только маленькие латинские буквы, количество всевозможных вариантов при том же раскладе составило бы: 208827064576 штук. А это при наихудшем варианте почти две недели перебора. А если взять больше и малые буквы, цифры и спец.символы? А ещё и длину около 9-10 символов? 6634204312890625 вариантов (и то не все спецсимволы). А теперь для примера представим, что злоумышленник обладает графической станцией с восемью AMD R9 290X топовыми графическими картами с разгоном, которые обеспечат ему 15,5 лет увлекательного перебора нашего пароля.*

Radeon

Radeon

 

Case

Case

 

Hashtype: phpass, MD5(WordPress), MD5(phpBB3)
Workload: 2048 loops, 64 accel
Speed.GPU.#1.: 1670.0 kH/s
Speed.GPU.#2.: 1670.2 kH/s
Speed.GPU.#3.: 1669.8 kH/s
Speed.GPU.#4.: 1670.6 kH/s
Speed.GPU.#5.: 1670.4 kH/s
Speed.GPU.#6.: 1843.3 kH/s
Speed.GPU.#7.: 1872.3 kH/s
Speed.GPU.#8.: 1670.3 kH/s
Speed.GPU.#*.: 13736.9 kH/s