С какой скоростью компьютер перебирает пароли

Обновлено: 07.07.2024

При помощи современного оборудования, мы можем почти наверняка расшифровать быстрый хеш, например, MD5, NTLM, SHA1 и т. д. за разумное время.

image

Автор: NETMUX

Что я подразумеваю, когда говорю о взломе пароля длиной 12 и более символов? Я утверждаю, что при помощи современного оборудования, например, данной «бюджетной» установки, мы можем почти наверняка расшифровать быстрый хеш, например, MD5, NTLM, SHA1 и т. д. за разумное время. На практике подбор в лоб последовательностей длиной 8 и более символов бесперспективен в случае с распространенными алгоритмами хеширования. Когда же мы касаемся особенностей национального языка и человеческой психологии (например, среднее английское слово длиной 4.79 символа, а люди предпочитают использовать несколько слов при составлении паролей размером 10 и более символов), то здесь уже открываются более интересные возможности с точки зрения подбора подобных паролей. Более подробно о различных инструментах подбора рассказано в книге Hash Crack.

Почему пароли длиной 12 и более символов уязвимы?

Люди, создающие пароли длиной 10 и более символов вручную, как правило, используют стандартные слова и фразы. Почему? Потому что запомнить пароль «horsebattery123» намного проще, чем «GFj27ef8%k$39». Здесь мы сталкиваемся с инстинктом следования по пути наименьшего сопротивления, который, в случае с созданием паролей, будет проявлен до тех пор, пока менеджеры паролей не станут использоваться более массово. Я согласен, что серия рисунков, посвященная устойчивости пароля, вполне имеет право на жизнь, но только в случае небыстрыми алгоритмами хеширования, наподобие bcrypt. В этой статье будут показаны примеры атак типа Combo (когда комбинируются элементы словаря) и Hybrid (когда к атаке типа Combo добавляется прямой перебор) при помощи утилиты Hashcat, которые, надеюсь, расширят ваш арсенал. В примерах ниже будет продемонстрировано, как злоумышленник может эффективно перебрать пространство ключей и взломать пароли, которые на первый взгляд кажутся устойчивыми.

Базовая информация об атаках типа Combo и Hybrid

Комбинационная атака (Combo): комбинируются все элементы из двух словарей.

Гибридная атака (Hybrid): представляет собой атаку по словарю с примесью комбинаций сгенерированных по определенному шаблону.

Примечание 1: Последовательность генерации паролей не совсем точна и приведена для описания общей идеи.

Примечание 2: Более подробные объяснения приведены на сайте Hashcat.

Комбинационная атака

Рассмотрим комбинационную атаку с использованием словаря, состоящим из 10 тысяч наиболее употребительных слов в порядке убывания популярности. Анализ проводился при помощи N-грамм и частотного анализа на базе триллионного сборника, собранного поисковой системой Google.

Рассмотрим пример двух случайно выбранных слов, соединенных в пароль длиной 16 символов, например shippingnovember и осуществляем комбинационную атаку на данный пароль, если бы использовался алгоритм MD5:

Пример
hashcat -a 1 -m 0 hash.txt google-10000.txt google-10000.txt

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

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-01_at_2.35.25_PM_euctqj.jpg


Рисунок 1: Время подбора пароля shippingnovember при помощи комбинационной атаки

Критики могут возразить, мол, если вначале каждого слова сделать заглавные буквы или добавить цифру или специальный символ, то новый пароль (например, ShippingNovember) будет более устойчив. Проверим эту теорию на практике и скомбинируем словарь google-10000 в единый большой массив паролей при помощи утилиты combinator.bin, что позволит нам комбинировать полученные слова в сочетании с правилами.

Пример
combinator.bin google-10000.txt google-10000.txt > google-10000-combined.txt

Теперь, когда у нас есть словарь комбинаций, мы добавляем правила с целью подбора модифицированного пароля (ShippingNovember).

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-01_at_4.56.38_PM_yyoi7u.jpg


Рисунок 2: Время подбора пароля ShippingNovember при помощи словаря комбинаций и правил

Новый пароль расшифрован за 28 секунд. Схожим образом добавляются правила, учитывающие специальные символы, различное местонахождение комбинации и так далее. Думаю, вы уловили суть.

Пароли из 3 слов

Используя созданный словарь комбинаций, попробуем подобрать пароль из трех слов, например «securityobjectivesbulletin», при помощи комбинационной атаки.

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-01_at_5.56.24_PM_wprjxg.jpg

hashcat -a 1 -m 0 hash.txt google-10000-combined.txt google-10000.txt

Рисунок 3: Время подбора пароля securityobjectivesbulletin

Схожий пароль с добавлением других символов взломается чуть медленнее. Улавливаете тенденцию?

Пароли из 4 слов

Теперь рассмотрим взлом паролей, состоящих из четырех слов (пример: «sourceinterfacesgatheredartists»). В этом случае пространство ключей увеличивается до 10.000.000.000.000.000 кандидатов, но в итоге подбор занимает разумное время. В основном из-за того, что используется алгоритм MD5. Мы создаем новый словарь комбинаций и осуществляем комбинированную атаку при помощи Hashcat.

Пример
hashcat -a 1 -m 0 hash.txt google-10000-combined.txt google-10000-combined.txt

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-02_at_8.24.43_AM_bjesul.jpg


Рисунок 4: Время подбора пароля sourceinterfacesgatheredartists

Процесс перебора при помощи современных аппаратных средств мог занять 4 дня, но правильный кандидат был найден в течение 5 часов 35 минут. Добавление цифр или специальных символов сделало бы пароль вне нашей досягаемости, но использование лишь четырех случайных слов делает пароль уязвимым.

Гибридная атака

Гибридные атаки требуют большей находчивости, но когда нужный шаблон найден, находка становится сродни золотому слитку. Особенно незабываемые ощущения доставляет прокрутка расшифрованных паролей в терминале.

Атака по словарю Google-10000 + маска

Вначале сгенерируем статистику по маскам на базе паролей длиной 5-6 символов и запишем результаты в отдельный файл (учтите, что процесс генерации может занять некоторое время).

python statsgen.py hashesorg251015.txt --minlength=5 --maxlength=6 --hiderare -o hashesorg_5or6.masks

Затем преобразуем маски в формат Hashcat (файл .hcmasks) для последующего использования в гибридных атаках.

python maskgen.py hashesorg_5or6.masks --optindex -o hashesorg_5or6.hcmask

Далее в режиме 6 в качестве параметров указывает словарь и набор масок. Алгоритм перебора будет выглядеть следующим образом: берется первая маска и комбинируется с каждым словом из словаря, затем вторая маска, третья и так далее, пока не закончится весь перечень масок. Некоторые атаки могут заканчиваться очень быстро, некоторые осуществляются чуть дольше. Во время тестирования будем подбирать пароль «environmentsqaz472»

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-02_at_6.55.26_PM_z9sk3y.jpg

Пример
hashcat -a 6 -m 0 hash.txt google-1000.txt hashesorg_5or6.hcmask

Рисунок 5: Время перебора пароля environmentsqaz472

Подбор занял около 20 минут. Вначале мы добрались до маски ?l?l?l?d?d?d, а затем в течение 14 взломали пароль.

Атака на базе словаря Rockyou + Rockyou-1-60.hcmask

Теперь воспользуемся набором масок, который идет в комплекте с утилитой Hashcat и сгенерирован на основе паролей из набора Rockyou. Данный набор масок разбит на отдельные порции, которые с возрастанием диапазона номеров возрастают по размеру. Размер, как я предполагаю, возрастает из-за процента паролей, на базе которых сгенерирована конкретная порция масок. Мы будем использовать файл с именем rockyou-1-60.hcmask, поскольку там наиболее ходовые маски, которые хорошо зарекомендовали себя при гибридных атаках. Этот набор масок мы будем комбинировать с паролями из словаря Rockyou. В случае с другими словарями будьте осторожны и используйте файлы не слишком большого размера. Иначе атака будет занимать СЛИШКОМ много времени. Обычно я пользуюсь словарями размером менее 500 Мб (и даже меньше) и добавляю маски в начале и в конце слов. Берем случайный пароль «sophia**!» из словаря Rockyou и в начало добавляем случайную дату «1996». В итоге получаем пароль 1996sophia**!. Во время тестов каждая маска будет комбинироваться с элементом словаря Rockyou.

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-02_at_7.17.59_PM_qrn3vx.jpg

Пример
hashcat -a 7 -m 0 hash.txt rockyou-1-60.hcmask rockyou.txt

Рисунок 5: Время подбора пароля 1996sophia**!

Во время перебора через несколько минут дело дошло до маски ?d?d?d?d. Данный пример показан с целью демонстрации процесса и эффективности гибридных атак. Файл rockyou-1-60.hcmask содержит 836 масок, сгенерированных на базе наиболее часто встречающихся паролей из словаря rockyou.txt. Если вам мало этого набора, в комплекте с Hashcat идут все маски, сгенерированные на базе остальных паролей.

Первые 5 символов + маска

Теперь создадим новый словарь и набор масок. Мы уже знаем, что среднее английское слово занимает 4.79 символов, и поэтому будем создавать словарь, содержащий элементы не более 5 символов. Данный словарь будет сгенерирован на базе файла rockyou.txt, где у каждого элемента будут отрезаны первые 5 знаков. Далее удаляются дубликаты, и полученный список сортируется и помещается в файл first5_dict.txt. Полученный словарь занимает 18 МБ, что слишком мало для атаки на быстрый алгоритм MD5, но вполне приемлемо для более медленного хеша.

Пример
cut -c 1-5 rockyou.txt | sort -u > first5_dict.txt

Затем мы будем комбинировать элементы словаря first5_dict.txt и маски из файла rockyou-1-60, который идет в комплекте с Hashcat. Некоторые кандидаты будут менее 12 символов, но вы можете исключить маски, длиной менее 7 символов и создать новый файл с расширением .hcmask. Вновь берем случайный пароль Alty5 из файла first5_dict.txt и добавим случайную последовательность цифр 9402847. В итоге получаем пароль Alty59402847.

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-08_at_11.03.14_AM_knmj2x.jpg

Пример
hashcat -a 6 -m 0 hash.txt first5_dict.txt rockyou-1-60.hcmask

Рисунок 6: Время подбора пароля Alty59402847

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

Прямая атака по маске на пароль 12 и более символов

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-08_at_11.04.04_AM_ccwoe5.jpg

Пример (md5)
hashcat -b -m 0

Рисунок 7: Оценка скорости перебора хешей md5

По результатам тестирования выяснилось, что скорость перебора - 76,000,000,000 ключей в секунду. Далее создаем набор масок на базе словаря rockyou.txt при помощи утилиты PACK.

Пример
python statsgen.py rockyou.txt -o rockyou.masks

Теперь создаем файл hcmask, при помощи которого часть паролей длиной 12-15 символов будут перебираться в течение 1 дня (86400 секунд).

http://res.cloudinary.com/hrscywv4p/image/upload/c_limit,h_9000,w_1200,f_auto,q_90/v1/148712/Screen_Shot_2017-01-08_at_11.07.36_AM_slriec.jpg

Пример

Рисунок 8: Процедура подбора паролей по маске

Затем мы можем запустить серию атак по маскам, используя файл rockyou_12-15.hcmask, для перебора хешей md5. Промежуточные переборы будут завершаться спустя 1 день.

Пример
hashcat -a 3 -m 0 hash.txt rockyou_12-15.hcmask

Заключение

Как вы могли убедиться, пароли длиной 12 символов не являются настолько неуязвимыми. Требуется лишь немного хитрости и творчества для выработки правильной стратегии перебора. Кроме того, не думайте, что если пароль более 11 символов, то ваш любимый онлай-сервис захеширует все правильно. Спасибо компании Yahoo. Я надеюсь, что примеры выше убедили вас, что нужно использовать пароли несколько сложнее, чем просто комбинация случайных слов в нижнем регистре. Другие доказательства приведены в статье моего друга Троя Ханта. Если вы достаточно умны, то начнете использовать приложение-менеджер, например, 1Password или Keepass, предназначенное для генерации и хранения паролей. Кроме того, я бы хотел упомянуть микроблог Dumpmon, где можно поискать хеши в исследовательских целях.

Напоследок хочу привести следующую цитату: «Успешный кибер-генерал перед началом проникновения в систему выполняет множество вычислений в терминале» (Cyber Sun Tzu).

Время для перебора паролей

Время, необходимое для перебора паролей — каково оно?

Время перебора различных по длине паролей

Как известно, время перебора пароля напрямую зависит от длины пароля. Точнее от длины пароля зависит количество вариантов различных паролей, которые можно будет создать используя n-ое количество символов. А вот уже от количества различных вариантов и зависит время их полного перебора. Не буду Вас долго томить и сразу представлю Вам таблицу, которая покажет время перебора паролей различной длины.

Если Вы еще не донца шокированы и еще не ушли заниматься другими делами, например, то попробуйте вспомнить, каково минимальное количество символов просят указывать при регистрации аккаунта? Если Ваша жертва — сайт или сервер — не слишком озаботилась безопасностью, то Вам может и повезет. Но если и повезет, то Вам понадобиться 6 часов(!) времени. Я клоню к тому, что если сайт или сервер и укажет минимальное количество символов в пароле, то он запросит как минимум 6 символов. Ну, а все уважающие себя ресурсы просят пароли от 8 символов в длину. Думайте.

Ну, а пока думаете, я продолжу. Как Вы может быть и заметили, то пароль из одного символа может принять один из 36 вариантов. Так указано в таблице. Почему именно 36? А всё потому что сумма всех символов из латинского алфавита и всех цифр будет равно именно этой цифре. Какой из этого следует сделать вывод? Только тот, что пора валить. А всё потому что символов на клавиатуре куда больше. Давайте хотя бы добавить к ним символы латинского алфавита в обоих регистрах: итого уже 62 варианта. А если внимательно присмотреть к клавиатуре, то из её недр можно выловить еще и специальные символы и немыслимом количестве. Используй жертва символы из разных категорий и время перебора паролей будет только расти и расти.

Как всё-таки можно взломать аккаунт перебором паролей?

Перед тем как окончательно похоронить Ваши надежды на взлом аккаунта путем перебора паролей, я бы хотел немного подпитать Ваше стремление. Первым делом я бы хотел уточнить то, что использование символов из нескольких категорий не так сильно скажется на времени перебора пароля, как увеличение количества символов. Даже если пользователь в пароле будет использовать цифры, буквы в различных регистрах и специальные символы, но ограничиться только 6 символами, то время перебора такого пароля все равно не сильно приблизиться к времени перебора пароля из 7 символов. Но всё равно скажется довольно весомо.

Понимая, что предыдущий пункт не слишком оправдает Ваши надежды, лакомый кусочек я оставил на конец. Заключается он в том, что люди существа ленивые. Я кстати тоже. И редко какой пароль для них это результат удара головой об клавиатуру. Основной большинство всех паролей — это какие-либо предметы, которые постоянно крутятся вокруг этих самых людей: их имена, их мечты — одним словом, обычные слова из алфавита. Зная это можно сразу опустить абракадабру из всех перебираемых вариантов паролей. Для этого, если Вы еще не отказались от идеи перебора, необходимо скачать специальные словари для перебора паролей. Шансы взломать чей-то аккаунт используя такие словари резко возрастает, нежели при оригинальном Broot Force. Да и время перебора паролей с помощью таких словарей дело нескольких минут. Так что единственное что я Вам могу посоветовать, так это пытаться взломать аккаунт путем перебора паролей, используя для этого специальные словари. Если же Вас постигнет неудача, то пожалуйста, бросьте это дело. Не тратьте своё время.

Политики блокировки учетных записей Windows

Как и обещал, сразу же на примере представлю специальные решения, которые делают попытки взлома паролей путем их перебора бессмысленным занятием. Использовать для этих целей мы будем наш любимый Windows. В данной операционной системе имеются специальные политики, которые позволяют блокировать учетные записи пользователей при попытках неудачного входа. Принцип работы данной политики прост: если пользователь(или брут) введет пароль неверно некоторые количество раз, то учетная запись будет заблокирована на n-ое количество времени. Таким образом Вам необходимо к времени перебора паролей прибавить время простоя.

Как настроить блокировку учетных записей Windows?

Для того чтобы настроить политики блокировки учетных записей необходимо воспользоваться услугами Редактора локальной групповой политики. Чтобы открыть данный инструмент используйте команду gpedit.msc . В открывшемся окне Вам необходимо перейти в узел

  • Конфигурация компьютера
  • Конфигурация Windows
  • Параметры безопасности
  • Политики учетных записей
  • Политики блокировки учетной записи

время необходимое для перебора пароля

Тут Вы найдете три параметра:

  • Пороговое значение блокировки. Тут должно быть указано максимальное количество неудачных попыток ввода пароля. При превышении указанного значения, учетная запись блокируется.
  • Продолжительность блокировки учетной записи. Если первый параметр даст команду на блокировки учетной записи, то данный параметр укажет время в минутах, на протяжении которого пользователь не сможет войти в систему.
  • Время до сброса счетчика блокировки. Данный пункт по смыслу похож на второй пункт. Различие состоит в том, второй пункт только сбросит блокировку по прошествии заданного времени. Но он не сбросит счетчик блокировок. Время сброса счетчика должно быть либо равно, либо больше времени указанного во втором пункте. Если счетчик сбрасывается только через некоторое время после снятия блокировки, то у пользователя будет один единственный шанс на то чтобы ввести пароль правильно. Иначе опять блокировка.

Под конец хотел бы уточнить один момент. Снять блокировку учетной записи может администратор компьютера, если наведается в окно Управление компьютером. Там ему необходимо будет в свойствах заблокированной учетной записи снять галочку Заблокировать учетную запись.

Например, 6 знаков, только буквы латинского алфавита?


Не понятно чем перебирать собираешься, но инструмент в том же бактрак пишет сколько времени требуется. Зависит от объема словаря, не?


если просто без словаря брутфорсить?


По словарю, по порядку? Характеристики компа? Какая программа? Насколько пароль далёк от начального?


Перебор перебору суслик. Одно дело, в цикле XOR, другое - AES


да интересует если честно хотя бы оценка, реально в течении 24 часов или нет

Перебрать словарь за 24 часа? Или подобрать пароль?

Перебора как? Сравнением с известным хэшем или брутфорсом онлайн-сервиса?

Число комбинаций для перебора: man комбинаторика. 6 букв латинского алфавита, скажем, в 2 регистрах — (26*2)⁶ комбинаций, с повышением длины число комбинаций растёт экспоненциально, как видишь. В случае словаря: число слов в словаре. Умноженное на число вариаций (например, если первая буква заглавная/маленькая — это удвоение комбинаций, каждая — умножить число комбинаций на (средняя длина слова*2)). Короче, кури учебник по комбинаторике (либо теорверу, оно часто вместе).

Дальше делишь на скорость, с которой можешь перебирать. В случае хэша — смотришь на производительность видеокарт. С короткими несолёными паролями учитывать ещё радужные таблицы.

x3al ★★★★★ ( 20.06.14 13:56:15 )
Последнее исправление: x3al 20.06.14 13:58:13 (всего исправлений: 2)


Нет. За 24 часа ты ничего не переберешь.


да просто все перебрать если 6 знаков


Ознакомься с количеством вариаций. Потом замерь сколько хэшей/сек тянет твоё железо на целевом алгоритме, ну и посчитай.

26^6 = 308915776 вариаций / ?hash/sec = time

Umberto ★☆ ( 20.06.14 13:57:23 )
Последнее исправление: Umberto 20.06.14 13:59:35 (всего исправлений: 1)

Перебор пароля от чего? Для разных целей будет разное время, КО. Сделай маленький словарь и засеки сколько по нему будет перебираться. Потом посчитай.

Посчитай: количество возможных вариантов/скорость перебора в секунду.

28^6/2 000 000=481 890 304/2 000 000 = 220c

2kk паролей в сек - у меня подбирался забытый пароль к архиву.

Зависит от мощностей вычислительной техники. Моей технике такое только снится)))


2kk паролей в сек - у меня подбирался забытый пароль к архиву.

Реверс малвари

На конференции Passwords^12, которая прошла в Осло (Норвегия) выступили лучшие в мире эксперты по брутфорсу и продемонстрировали ряд передовых достижений в своей области. Например, известный специалист Джереми Госни (Jeremi Gosney aka epixoip) привёз с собой маленький кластер из пяти серверов по четыре юнита. Всего в кластере установлено 25 GPU: десять HD 7970, 4 HD 5970 (по 2 GPU), 3 HD 6990 (по 2 GPU) и одна HD 5870. Между собой всё железо соединялось 10/20-гигабитными шинами Infiniband и потребляло 7 кВт электроэнергии.


Джереми использовал фреймворк Open Computing Language (OpenCL) и технологию Virtual OpenCL для балансировки нагрузки, чтобы эффективно распараллелить на 25-ти GPU программу HashCat для вычисления хэшей. Доработать Virtual OpenCL для поддержки HashCat помог профессор Амнон Барак, один из создателей распределённой операционной системы MOSIX. Джереми говорит, что сначала пришлось убедить профессора, что они не хотят превратить весь мир в один большой ботнет, а затем тот с радостью согласился помочь. Теперь они близки к тому, чтобы поддерживать кластер как минимум из 128 GPU, без потери производительности при распараллеливании брутфорса.

Система продемонстрировала рекордную производительность. В тесте на слабых хэшах NTLM, которые применяются для паролей Windows XP, кластер показал производительность 348 миллиардов хэшей в секунду.

Система хэширования LM в Windows XP позволяет установить пароль максимум 14 знаков. Перед хэшированием все символы переводятся в верхний регистр и разбиваются на два слова по семь знаков. Таким образом, максимально возможное количество комбинаций составляет всего лишь 69^7, что на 20 гигабитах/с можно перебрать примерно за шесть минут, пояснил Джереми.

  • MD5 — 180 млрд хэшей в секунду
  • SHA1 — 63 млрд хэшей в секунду
  • LM — 20 млрд хэшей в секунду

Медленные хэши вычисляются сложнее: MD5crypt — 77 млн хэшей в секунду, sha512crypt — 364 тыс. в секунду, bcrypt (05) — 71 тыс. в секунду.

Читайте также: