19 апреля, 2024

Как взламывать пароли. Часть 4: создание вордлиста с Crunch

Содержание:

С возвращением, мои хакеры!

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

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

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

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

В Kali Linux имеется встроенный инструмент под названием «crunch», создающий собственные вордлисты для взлома паролей, которые можно использовать с такими инструментами, как Hashcat, Cain и Abel, John the Ripper, Aircrack-ng и другие. Такой вордлист, если мы сделаем его правильно, поможет нам сэкономить часы или даже дни на взломе паролей.

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

Читать также:  Что делать, если вы потеряли iPhone: полная инструкция

Шаг 1. Запустите Kali и откройте Crunch

Начнем с того, что запустим Kali и откроем Crunch. Зайдите в Applications -> Kali Linux -> Password Attacks -> Offline Attacks -> crunch.

Это откроет crunch, как показано на скриншоте ниже.

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

Шаг 2. Синтаксис Crunch

Основной синтаксис Crunch выглядит следующим образом:

kali> crunch  max   -t  -o <имя выходного файла>

Рассмотрим, что означает вышеприведенный синтаксис

  • min — минимальная длина пароля.
  • max — максимальная длина пароля.
  • characterset — набор символов, который будет использоваться при генерации паролей.
  • -t — шаблон сгенерированных паролей. Например, если вы знаете, что день рождения цели был 2807 (28 июля), и вы подозреваете, что она использует свой день рождения в пароле (а люди часто так делают), то вы можете создать список паролей, которые заканчиваются на 2807, указав Crunch такой шаблон @@@ @@@@ 2807. Это слово сгенерирует пароли длиной до 11 символов (7 переменных и 4 фиксированных), которые будут оканчиваться на 2807.
  • -o — тот файл, в который вы хотите записать вордлист.

Шаг 3. Файл справки Crunch

Давайте почитаем файл справки Crunch. Для этого наберите в консоли

kali > man crunch

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

Читать также:  Что делать, если фотографии в macOS перестали синхронизироваться

Если мы немного пролистаем страницы вниз, то мы перейдем вот на эту страницу. Обратите внимание, что внизу он говорит нам, что мы находимся на строке 70.

Вверху мы видим ключ -f. Этот ключ (или параметр) позволяет нам выбрать набор символов, который мы хотим использовать для генерации нашего вордлиста. Синтаксис:

-f /полный/путь/charset.lst <название_набора_символов>

Здесь мы сообщаем Crunch полный путь до charset.lst, а затем указываем название конкретного набора символов из этого списка. В Kali, charset.lst находится по адресу:

/usr/share/rainbowcrack/charset.lst

Шаг 4. Создайте несколько простых вордлистов

Начнем с создания простых вордлистов для взлома пароля. Допустим, мы знаем, что у компании есть пароли от 4 до 8 символов. Мы можем генерировать все возможные варианты при помощи Crunch, набрав в консоли:

kali> crunch 4 8

Где первое число (4) — самая маленькая длина слова, а вторая (8) — самая большая длина слова.

Когда мы выполняем эту команду, Crunch оценивает, насколько большим будет файл (1812 ГБ), а затем начинает генерировать список.

А что, если бы мы знали, что цель всегда использует пароли длиной от 6 до 8 символов? Тогда мы могли бы сгенерировать полный список всех возможных паролей, отвечающих этим критериям, и записать их в файл, находящийся в корневом каталоге пользователя с именем numericwordlist.lst. Для этого нужно выполнить в консоли следующую команду:

kali> crunch 6 8 1234567890 -o /root/numericwordlist.lst

А что если мы знаем, что день рождения цели 28 июля и что она, вероятно, может использовать эту дату (а люди часто используют даты рождения в своих паролях, чтобы их было легче запомнить) в конце своего десятизначного пароля? В этом случае мы можем сгенерировать все возможные десятисимвольные пароли, которые заканчиваются 2807, а затем записать его в файл в корневом каталоге пользователя с именем birthdaywordlist.lst, набрав:

kali> crunch 10 10 -t @@@@@@ 2807 -o /root/birthdaywordlist.lst

Знак @ используется для обозначения шаблона всех возможных вариантов, в то время как литералы «2807» представляют собой фиксированные значения.

Читать также:  Как перечислить общие ресурсы NetBIOS с помощью NBTScan и Nmap Script Engine

Шаг 5. Создание сложных вордлистов

Одна из интересных возможностей Crunch — это возможность выбора конкретного набора символов или создание собственного набора символов для генерации списка паролей. Если мы знаем вероятный набор символов, который использует цель для своего пароля, то мы можем выбрать определенный набор символов для генерации нашего списка паролей. Мы можем посмотреть на доступный список наборов символов:

/usr/share/rainbowcrack/charset.txt

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

kali> crunch 8 8 -f /usr/share/rainbowcrack/charset.txt mixalpha -o /root/alphawordlist.lst

Это сгенерирует все 8-значные пароли, которые используют только буквы (без номеров или специальных символов) и сохранит их в файле alphawordlist.lst в корневом каталоге пользователя.

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

Вот и все на сегодня. Следите за обновлениями серии, по этой теме в ближайшем будущем будет еще больше материала.

Предыдущие статьи
( 1 , 2 , 3).

Добавить комментарий