Как сделать словарь для брутфорса

Обновлено: 02.07.2024

Что собой представляет wordlist?

Wordlist – это файл (в большинстве случаев текстовый, но не всегда), содержащий набор значений, которые злоумышленник использует для проверки корректности учетных данных. Всякий раз, когда хакер сталкивается с процессом аутентификации, он пытается обойти его, но если это невозможно, то ему нужно попробовать угадать и подобрать нужный вариант данных пользователя. У хакера есть список широко используемых учетных данных, чем и является wordlist . И вместо того, чтобы вручную вводить значения одно за другим, злоумышленник использует инструмент или скрипт для автоматизации данного процесса. Аналогично, в случае взлома хэш-значений специальная программа применяет списки слов и кодирует их записи в один и тот же хэш, а затем использует функцию сравнения строк для сопоставления полученных хэшей. Если совпадение найдено, то хэш считается взломанным. Следует сказать, что правильно подобранный wordlist является огромной угрозой для безопасности веб-приложения.

Словари Kali Linux

Поскольку Kali Linux был специально создан для проведения тестирования на проникновение, в системе есть всевозможные словари. Это происходит из-за того, что различные инструменты уже установлены в ОС для выполнения атак брутфорс для получения логинов, каталогов и не только. Теперь следует познакомиться с некоторыми из словарей из огромного арсенала wordlists, доступного на Kali Linux.

Расположение: /usr/share/wordlists

Словари Dirb

Расположение: /usr/share/wordlists/dirb

Словарь Rockyou

Rockyou.txt – это набор скомпрометированных паролей для социальных сетей от разработчика приложений, также известного как RockYou . Он разработал виджеты для приложения Myspace . В декабре 2009 года компания столкнулась с утечкой данных, в результате чего было раскрыто более 32 миллионов учетных записей пользователей. Это случилось главным образом из-за политики компании, связанной с хранением паролей в незашифрованном виде.

Расположение: /usr/share/wordlists

При первой загрузке Kali Linux wordlist будет сжат в файл формата gz . Чтобы распаковать содержимое файла, следует выполнить команду, приведенную ниже. Словарь будет распакован и готов к использованию с любой атакой, которую захочет выполнить хакер.

gzip -d /usr/share/wordlists/rockyou.txt.gz

Словари Wfuzz

Инструмент Wfuzz был разработан для выполнения атак брутфорс на веб-приложения. Он также может быть использован для перечисления веб-приложений. Программа способна перечислять каталоги, файлы, скрипты. Она может изменить запрос с GET на POST. Это полезная функция в целом ряде сценариев, таких как проверка на наличие SQL-инъекций. Wfuzz имеет набор предопределенных словарей. Они предназначены для использования вместе с инструментом, но могут быть применены и с другой программой. Списки слов делятся на такие категории, как general, injections, stress, vulns, web services.

Расположение: /usr/share/wordlists/wfuzz

Онлайн-словари

Словари GitHub

Seclists

apt install seclists

Assetnode Wordlists

PacketStrom Wordlists

Cleaning Wordlists

Создание словарей

CeWL

Crunch

Cupp

Pydictor

Pydictor – это один из тех инструментов, которые смогут по праву оценить как новички, так и профессионалы. Это программа для создания словаря, который очень удобно иметь в своем арсенале при работе с тестами на надежность паролей. Она имеет множество функций, которые можно использовать для создания идеального словаря практически для любой тестовой ситуации. В данном примере пользователь установил длину пароля равной 5, а затем – создал список слов. Словарь содержит варианты паролей, соответствующих установленным параметрам.

Bopscrk

Bopscrk – это инструмент для создания огромных специализированных списков слов для проведения целевых атак. Он является частью Black Arch Linux на протяжении уже многих лет. Пользователь вводит личную информацию, связанную с целью, в то время как инструмент объединяет каждое слово друг с другом и преобразует их в возможные пароли. Он также содержит модуль lyric pass , который дает ему возможность искать тексты песен, связанные с любимым исполнителем цели, а затем включать их в списки слов.

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

BEWGor

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

Слияние словарей: DyMerge

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

Создание словарей: Mentalist

Это инструмент с графическим интерфейсом для создания пользовательских списков слов. Он использует общечеловеческие парадигмы на основе имеющихся в базе паролей для создания новых словарей. Инструмент может предоставить пользователю полный список слов с паролями, кроме того он также способен создать правила, совместимые с Hashcat и John the Ripper.

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

Hashcat/John Rules

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

Человек использует в данном случае ОС Windows, чтобы продемонстрировать возможности Mentalist. В качестве базы он выбирает словари английских слов . Программа подсчитывает, что 235 886 возможных ключевых слов можно ввести в качестве пароля, взяв за основу английские словари. Затем хакер настраивает некоторые дополнительные опции, такие как регистр, если он хочет заменить определенные записи или добавить символы.

Программа для создания брут словаря "Rain Pass Creation" (Portable) (690 Kb)

Программа по указанным параметрам (вид символов, длина пароля) генерирует список всех возможных паролей с заданными характеристиками, сохраняет список в файл TXT.

Как пользоваться

Программа Portable - т.е. устанавливать не нужно, просто запускаете и всё.


Первым делом заходите в настройки, пункт "символы".

Ставьте галочки напротив символов которые вам нужны в паролях.


Заполняем поля

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

Число символов - это длина генерируемого пароля. Т.е. если вы ставите, например, цифру 3, то прога сгенерирует вам 3х значные пароли.


Важно! полезная функция кнопка "Сосчитать". Перед тем как запустить генерацию - посчитайте сколько (штук) паролей получится! Если число устраивает - жмите кнопку "Принять" - и поле "Число паролей" заполнится само.
Так, например, из символов - цифры, лат. буквы и заглавные лат. буквы при длине пароля всего 3 символа получится - 287496 вараинтов! Откуда? - 10 цифр, 28 букв + ещё 28 букв = 66 символов. Длина 3 знака, поэтому 66 возводим в 3ю степень (т.е. в куб) = 287496. Если длина пароля 4 знака, то возводим в 4ю степень и т.д.

Для этого и нужно ограничение в кол-ве вариантов пароля.))

На среднем компе используйте макс длина пароля - до 10 символов, на мощном до 15. Иначе долго ждать.

После генерации жмите кнопку "Сохранить" и листинг со сгенерированными паролями сохраниться в TXT файл

DevasRus никому не известный тип

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

1) Загружаем текстовый фаил кнопкой "Загрузить фаил"
2) Если нам нужно в текстовике оставить строчки с определенным кол-вом сомволов то задаем в "Фильтре по длине строк" например от 6-до 20-ти для паролей =) Т.к. некоторые словари нам изначально не подходят.
3) Если пароли или логины не могут содержать спец символы и прочую мешуру то есть специальная кнопка "Буквенно-цифровой фильтр". Нажимая ее из всех строчак удаляются все символы за исключением пробелов, букв, рус, англ и цифр.
4) Кнопка фильтр дубликатов сильно тупит, алгоритм не доработан, лучше не пользоваться, ну а по суцеству килет строчки дубли

Бонус: В сервисе есть простенький генератор.

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

Сам класс для перебора паролей ко всему и вся таков:

def __init__ ( self , start = "" , stop = None , start_len = None , stop_len = None , abc = en + EN + digits + all_spec ) :

self . current_str [ offset ] = self . abc [ self . abc . index ( self . current_str [ offset ] ) + 1 ]

А таковы мои пояснения к нему:

Ну, как-то так оно и работает. Если кому-то что-то непонятно, то могу объяснить подробнее. В общем как обычно, всё в комменты. Неплохо было бы ещё реализовать преобразование чисел в строки и наоборот, но это позже… может быть.

Вкратце: Flask — micro web framework. По сути, тонкая обёртка вокруг wsgi-сервера werkzeug. Flask-Security

Здравствуйте, нужно сгенерить список комбинаций длиной в 16 знаков из таких символов:

Общее количество комбинаций получилось

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

;)

3 дня — слишком маленький срок. Вы посчитайте сколько это займёт места на диске. Если допустить что вам нужно 16 байт на хранение каждой комбинации, выходит что потрубется записать 630 938 йоттабайт (или 693 724 748 370 347 264 терабайт). Да, можно хранить данные в двоичном виде и уменьшить требуемый объём, но при таких цифрах — не значительно.

Вы всё ещё уверены что вам это действительно надо?

Если теоретизировать, то с помощью итератов в python и последовательной записи в файл эта задача решаема. Вопрос только в ограничении места на диске и времени работы программы.

P.S. — Это мой первый модуль на Python, прошу не судить строго. Программу, как и исходный код можете свободно распространять.

можно с тобой пообщаться отдельно?
@ lizz

:)

Можно.

Недавно начал заниматься питоном и накидал аналогичный скрипт, но получился гораздо компактнее…
Оцени пожалуйста на свой взгляд

def __init__(self, alph, len_min, len_max, pass_now):
self.alph = alph
self.len_alph = len(alph) — 1
if ( len(pass_now) > len_min ):
self.len_min = self.len_now = len(pass_now)
else:
self.len_min = self.len_now = len_min
self.len_max = len_max
self.s_pass = pass_now
self.pos = self.len_min — 1

if ( self.s_pass == None ):
return self.s_pass
else:
return self.s_pass + ‘ ‘

print (‘Начальная длина пароля — ‘, min )
print (‘Конечная длина пароля — ‘, max )
print (‘Начинаем генерировать с ‘, start )
print (‘Диапазон символов — ‘, alphabet )

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