Как сделать перебор паролей

Обновлено: 03.07.2024

Часто приходится слышать, что информация стоит очень дорого и что ее непременно нужно защищать. Собственно, это мы оспаривать не будем. Действительно, очень часто хранящаяся на компьютере или на ноутбуке информация на порядок, а то и более превышает стоимость самого устройства. И страшна, как правило, не столько потеря самой информации (например, по причине выхода из строя жесткого диска), сколько утрата ею конфиденциальности, то есть предание ее огласке. А потому существует огромное количество утилит, позволяющих зашифровывать информацию, — любое офисное приложение, предназначенное для создания документов, способно их зашифровывать. Но парадоксальность ситуации заключается в том, что практически для каждого типа паролей, создаваемых теми или иными приложениями, существует немало утилит, позволяющих подобрать эти пароли.

Причем если ранее создание подобных утилит было уделом хакеров, то сегодня этим занимаются крупные компании, а сами утилиты продаются за большие деньги. Звучит, конечно, очень забавно. Где ж это видано, чтобы утилиты для взлома стоили денег? Это ж посягательство на святая святых, на устои самого Интернета! Ведь существует, пусть и негласное, соглашение, что все хакерские утилиты распространяются на безвозмездной основе.

Впрочем, хватит рассуждать! Программы для подбора паролей (а попросту — для взлома) существуют, и в немалом количестве, а потому свою задачу мы видим в том, чтобы рассмотреть все наиболее популярные утилиты, сравнить их друг с другом и в конечном счете ответить на главный вопрос: имеет ли смысл вообще защищать документы паролями и если да, то какими должны быть пароли, чтобы их нельзя было подобрать?

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

Общие понятия парольной защиты

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

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

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

В документах Word пароль используется для защиты документа от изменения (документ можно открыть только в режиме чтения, а возможность его редактирования блокируется парольной защитой). Устанавливаемый пользователем пароль защиты документа от изменения хэшируется и сохраняется в заголовке самого документа. Длина хэша в этом случае составляет 32 бита (4 байта).

Данный способ защиты тоже не является стойким. Такую защиту легко обойти с помощью соответствующих утилит. Дело в том, что если длина хэша составляет всего 32 бита, то количество возможных хэш-функций равно всего 232 = 4 294 967 296, что не так уж и много. Естественно, одной и той же хэш-функции может соответствовать несколько различных паролей, поэтому при такой длине хэша подобрать подходящий пароль несложно, причем совсем необязательно, что это окажется именно тот пароль, который был изначально установлен пользователем. Кроме того, с помощью соответствующих утилит можно в самом документе изменить хэш на тот, пароль для которого известен.

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

Алгоритм защиты в данном случае следующий. В каждом зашифрованном документе (файле) сохраняются две контрольные последовательности. Первая из них — это произвольная случайная последовательность, а вторая — это последовательность, полученная в результате смешивания (хэширования) первой контрольной последовательности и ключа шифрования, вычисляемого на основе пароля. То есть вторая контрольная последовательность представляет собой хэш первой последовательности на основе ключа шифрования. При проверке пароля определяется ключ шифрования и соответствие контрольных последовательностей одна другой. Таким образом, в самом документе в явном виде не сохраняется ни пароль, ни секретный ключ. Контрольные последовательности, хранимые в документе, можно изъять или даже подменить, но это не позволит определить секретный ключ, а следовательно, расшифровать весь документ.

Данный алгоритм парольной защиты с шифрованием применяется для реализации защиты на доступ (открытие) документов Word и Excel. При установке такой защиты документ шифруется по симметричному алгоритму RC4, причем в документе сохраняется уже не хэш пароля, а зашифрованный хэш пароля (вспомните контрольные последовательности).

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

Длина пароля на открытие документов MS Office Word 97-2003 и Excel 97-2003 ограничивается 16 символами. Попробуем рассчитать, сколько возможных паролей при этом вообще может существовать, учитывая, что в качестве символа можно использовать спецсимволы (30 символов), цифры (10 символов), а также заглавные и строчные буквы как английского (52 символа), так и локализованного алфавита (66 символов). Итого, количество возможных символов — 30 + 10 + 52 + 66 = 158. При максимальной длине пароля в 16 символов получим возможных комбинаций 1581 + 1582 +… + 15816. Число это просто огромно, и с задачей перебора всех возможных паролей за приемлемое время не справится ни один суперкомпьютер.

И если задача подбора пароля методом перебора всех возможных комбинаций относится к классу нерешаемых, то реализовать перебор всех возможных секретных ключей можно на обычном ПК за приемлемое время. Действительно, при длине секретного ключа 40 бит количество возможных секретных ключей составляет 2 40 = 1 099 511 627 776. Перебор всех этих комбинаций на современном ПК займет менее месяца.

Существуют специальные утилиты (одну из них мы рассмотрим далее), которые позволяют подбирать не пароль к документу, а секретный ключ и соответственно расшифровывать документ без знания его пароля. Такой тип атаки по ключу называется keyspace attack.

Кроме атаки по ключу, гарантированно позволяющей открыть документ, существуют и другие способы вскрытия закрытых паролем документов. Наиболее распространенный способ — это подбор пароля.

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

  • атака по словарю;
  • атака методом последовательного перебора;
  • атака по маске.

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

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

Атака методом последовательного перебора

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

Методом последовательного перебора подобрать пароль можно всегда — это лишь вопрос времени, которое может исчисляться годами и даже столетиями. Поэтому эффективность такого метода весьма и весьма низкая. Естественно, если заранее известен набор символов, используемый для пароля (например, только английские буквы и цифры, или только русские буквы, или только цифры), а также приблизительная длина пароля, то это существенно упрощает задачу его подбора и делает задачу вполне решаемой. Если же заранее о пароле ничего не известно, то подобрать его методом последовательного перебора практически невозможно.

Атака по маске

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

Классификация программ

Утилиты для подбора паролей можно условно разделить на два класса: многоцелевые программные пакеты, позволяющие подбирать пароли к различным типам файлов, и специализированные утилиты, которые ориентированы на подбор паролей к файлам, созданным каким-либо одним приложением. Фактически многоцелевые программные пакеты представляют собой сборник отдельных утилит (иногда такие пакеты предусматривают использование единой программной оболочки для доступа к отдельным утилитам).

Многие утилиты, входящие в пакет Elcomsoft Password Recovery Bundle, можно приобрести отдельно.

Если же говорить о специализированных утилитах, ориентированных на подбор паролей для отдельных приложений (например, RAR-архивы, PDF-файлы и т.д.), то их существует довольно много, причем как в платном, так и в бесплатном вариантах.

Далее мы рассмотрим несколько наиболее популярных пакетов и отдельных утилит, позволяющих подбирать пароли к различным файлам. Однако, говоря о многоцелевых пакетах, следует иметь в виду, что некоторые из них (например, Elcomsoft Password Recovery Bundle и Accent Office Password Recovery v2.50) включают десятки различных утилит. Однако в данной статье мы рассмотрим лишь те утилиты, которые позволяют подбирать пароли к DOC-, XLS-, MBD-, PDF-, RAR- и ZIP-файлам.

Для тестирования всех пакетов и утилит мы создали несколько тестовых файлов, закрытых паролями (табл. 1). Во всех утилитах для подбора паролей применялась атака методом перебора, то есть предполагалось, что используемой нами комбинации символов нет в словаре. Кроме того, дабы несколько упростить задание и сэкономить время, мы применяли предопределенный набор символов, а именно латинские буквы в нижнем регистре. Минимальная длина пароля устанавливалась равной шести символам.

Таблица 1. Результаты тестирования программы Accent Office Password Recovery v2.50

Методы взлома паролей

В этой статье мы рассмотрим актуальные методы взлома паролей, такие как: атака по словарю, взлом методом перебора (брутфорс) и взлом пароля с использованием радужных таблиц. Ну и как бонус, я покажу, как взломать пароль используя один из способов описанный в статье, с помощью мощного инструмента Hydra в Kali Linux.

Пароли защищены двумя способами: хешированием и шифрованием.

Шифрование — это преобразование простого текста в нечитаемую форму (зашифрованный текст). Расшифровать зашифрованный текст с помощью этой техники очень просто.

Актуальные способы взлома паролей

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

Взлом паролей на основе словаря

Атака по словарю — это метод подбора пароля с использованием часто используемых слов. Например, если человек увлекается автомобилями и везде упоминает автомобили в своем аккаунте в социальной сети, то подобрать пароль этого человека не составит труда. Как правило, пользователи придумывает пароли опираясь на два правила:

  1. Хобби или близкие люди
  2. Легко запоминаемый пароль

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

Брутфорс (перебор пароля / грубая сила)

Атака перебором подбирает все возможные популярные комбинации логин / пароль. Пользователи еще не разучились использовать простые распространенные пароли и поэтому этот способ считается довольно эффективным.

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

Данный способа взлома паролей, часто используется для взлома сайтов.

Гибридная атака брутфорс

Гибридная атака представляет собой комбинацию брутфорс атаки и словаря на основе увлечений и имен близкий людей пользователя.

Например, пользователи часто добавляют набор цифр в конце своих учетных данных, таких как год окончания или год рождения (например, lena1992 или dima2013). Таким образом, хакеры используют атаку по словарю для генерации фраз, а затем проводят атаку методом перебора последних цифр.

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

Атаки по радужному таблицам

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

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

Этот способ часто используется при взломе пароля WiFi-сетей и операционной системы.

Взлом пароля с помощью Hydra в Kali Linux

Для демонстрации взлома пароля я буду использовать инструмент Hydra, который по умолчанию предустановлен в Kali Linux. Для любителей Windows есть простой способ работы с Kali Linux — установить Kali Linux в Windows 10 под WSL.

Запустите Kali Linux —> Откройте терминал —> Запустите команду Nmap с IP-адресом жертвы (можно использовать виртуалку Metasploitable), чтобы проверить открытые порты.

Сканирование Nmap

Выбор словаря для взлома пароля

Запустите GUI Hydra —> Выберите IP-адрес жертвы (Single Target) —> Выберите целевой порт (в нашем случае это SSH 22) —> Установите флажок подробное описание и отображение попыток (Show Attemps).

Метод взлома пароля Hydra Kali Linux

Перейдите на вкладку Пароли (Passwords) —> Выберите текстовый файл с именами пользователей (Usernam List) и текстовый файл с паролями (Password List).

Перейдите на вкладку Настройка (Tuning) —> Измените количество задач на 4 и начните атаку.

Способ взлома пароля Hydra Kali Linux

Гидра взломала пароль:

Взломать пароль Hydra Kali Linux

Заключение

Атаки по словарю, грубая сила и атака по радужным таблицам — все это популярные способы взлома пароли.

Инструмент Hydra — один из самых популярных инструментов для взлома паролей. Он в арсенале каждого хакера и пентестера.

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

Первое, что мы собираемся сделать, это объяснить причины, по которым используются эти типы инструментов. Мы также кратко объясним, как создать надежный пароль, и несколько советов, связанных с этим, для повышения безопасности. А затем мы продолжим работу с самыми популярными инструментами для взлома паролей.

Лучшие бесплатные программы для взлома паролей или ключей

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

  1. Проведение пентест-тестов.
  2. Киберпреступники проводят свои атаки.
  3. Студенты и люди, интересующиеся проблемами компьютерной безопасности.

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


  1. Заглавные буквы.
  2. Строчные.
  3. Числа.
  4. Символы.
  5. Минимальная рекомендуемая длина - 12 символов.

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

Лучшие инструменты для взлома паролей

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

Одним из старейших и до сих пор поддерживаемых инструментов для взлома паролей является Брут. Кроме того, он бесплатный, его первая версия датируется 1998 годом и доступна для компьютеров с Windows операционная система.


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

Каин и Абель

Разработчик Каин и Абель is Массимилиано Монторо, это проприетарная программа, которая распространялась бесплатно. Следует отметить, что его последняя версия выпущена в 2014 году и что это продукт, для которого больше не будет обновлений, хотя для некоторых задач он все еще может быть интересен.


Каин и Авель это инструмент восстановления пароля для Microsoft операционные системы. Благодаря этому мы можем легко восстанавливать различные типы паролей, отслеживая сеть, расшифровывая зашифрованные пароли с помощью словарных атак, грубой силы и криптоанализа. Кроме того, мы также можем записывать разговоры VoIP, расшифровывать зашифрованные пароли, восстанавливать ключи беспроводной сети, открывать ящики с паролями, обнаруживать кэшированные пароли и анализировать маршрутизацию протоколов. Эта программа не использует какие-либо уязвимости, а скорее пытается получить пароли обычными методами.

Радужная трещина

Еще один инструмент для взлома паролей - это радуга, который использует ранее обработанные таблицы, называемые Rainbow, которые значительно сокращают время, необходимое для взлома ключей. Эта программа обновлена ​​и может использоваться как в Windows 7/10, так и в Linux с Ubuntu. Таким образом, у нас есть радужные таблицы LM, NTLM, MD5, SHA1, SHA256 и настраиваемые алгоритмы хеширования.

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

Джон потрошитель

John The Ripper можно определить как инструмент для аудита и восстановления безопасности паролей с открытым исходным кодом. Следует отметить, что он доступен для различных операционных систем, таких как Windows, MacOS и Windows. Это программное обеспечение поддерживает сотни типов шифрования и хеширования, в том числе для паролей пользователей версий Unix, macOS и Windows. Также отметьте, что это текущее и поддерживаемое программное обеспечение. Кроме того, можно сказать, что это надежно, поскольку открытый исходный код доступен каждому.

Wfuzz

Wfuzz - еще один инструмент для взлома паролей, который мы можем использовать. В этом смысле это программное обеспечение предназначено для проведения атак грубой силы на веб-приложения. Таким образом, его можно использовать для поиска скрытых ресурсов на серверах, а также для применения грубой силы к формам входа и выполнения различных атак внедрения (SQL, XSS, LDAP и т. Д.), Чтобы получить доступ к серверу.


Еще один положительный момент - это обновленное программное обеспечение. Кроме того, Wfuzz - это больше, чем сканер веб-контента, и его можно использовать для:

  • Защита наших веб-приложений путем поиска и использования уязвимостей в этих веб-приложениях.
  • Он предлагает полностью модульную структуру и позволяет даже самым новым разработчикам Python вносить свой вклад.

AirCrack NG

Работы С Нами Aircrack-NG мы получаем полный набор инструментов для оценки безопасности сети Wi-Fi. Это программное обеспечение известно тем, что является одним из самых эффективных, когда дело доходит до взлома и получения паролей для сетей Wi-Fi. Таким образом, он способен взламывать шифры WEP и WPA PSK (WPA 1 и 2).


Его способ работы заключается в захвате достаточного количества пакетов и их анализе, а затем в расшифровке паролей для беспроводных сетей. Эта программа обновлена ​​и работает в основном в Linux, хотя ее также можно использовать в Windows, macOS, FreeBSD и других.

hashcat

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


Hashcat обычно используется в дополнение к другим аналогичным программам для восстановления паролей.

медуза

Важная информация заключается в том, что Medusa - это инструмент командной строки. Это означает, что чтобы использовать его, мы должны изучить его команды, поэтому использовать программное обеспечение непросто. С другой стороны, его эффективность зависит от подключения к сети. Таким образом, он способен проверять 2000 паролей в минуту в локальной сети.

OphCrack

OphCrack это бесплатная программа для взлома паролей из Windows на основе таблиц Rainbow. Используя этот тип таблиц, инструмент очень эффективен.


Кроме того, он имеет графический интерфейс, является мультиплатформенным и может использоваться в Windows, Linux, Unix и Мак ОПЕРАЦИОННЫЕ СИСТЕМЫ. С другой стороны, он совместим с бесплатными и платными таблицами Rainbow и способен взламывать ключи любой современной Windows, начиная с XP. Он также имеет модуль грубой силы для простых паролей.

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

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

image

Автор: NETMUX

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

Базовая информация об атаках типа 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 слов

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 слов

Пример
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

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

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, где можно поискать хеши в исследовательских целях.

В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!

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