Популярные словари для пентестинга

Дата: 09.04.2021. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Популярные словари для пентестинга

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

Введение

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

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

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

Словари Kali Linux

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

Wordlists находятся в каталоге «/usr/share». Здесь нужно найти другой каталог «dirb» со списком слов, которые будут использоваться при применении инструмента drb для перебора каталогов. Кроме того, у пользователя есть dirbuster, который является аналогичным инструментом и способен выполнить такую же атаку брутфорс, но с некоторыми дополнительными опциями. Каталог «fern-wifi» поможет хакеру сломать аутентификацию Wi-Fi. Есть Metasploit, который использует словари для выполнения различных атак. Затем есть wordlist от nmap, который содержит слова, что можно применить при сканировании уровня безопасности конкретных служб. Стоит также отметить, что есть словарь «rockyou». По умолчанию информация в нем сжата, нужно извлечь ее перед использованием этого списка слов. Он очень большой, содержит около 1,44,42,062 различных вариантов паролей, актуальных для многих учетных записей пользователей в Интернете. Наконец, есть каталог «wfuzz», словари в котором можно использовать вместе с инструментом wfuzz.

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

Популярные словари для пентестинга

Словари Dirb

Чтобы поближе рассмотреть один из каталогов, пользователь вводит команду «tree» для перечисления всех списков слов внутри каталога dirb. Здесь есть разные словари, которые отличаются друг от друга по своему размеру и языкам. Существует также wordlist расширений, так что злоумышленник может использовать этот каталог для выполнения атаки брутфорс на каталоги. Есть словари для конкретных приложений, такие как apache.txt или sharepoint.txt.

Расположение: /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

Популярные словари для пентестинга

Заглянув в каталог инъекций, можно увидеть, что есть словарь «All_attack.txt». Это общий список слов для тестирования на наличие инъекций. Затем есть конкретный wordlist для SQL, обхода каталогов, XML, XSS-инъекций. Пользователь также видит «big.txt» и «common.txt», что также является списком слов по умолчанию во многих инструментах из-за небольшого размера. Более того, здесь можно увидеть «extensions_common.txt», который содержит словари общих слов расширений для перечисления определенных файлов. Есть также словарь «http_methods.txt». Он содержит HTTP-методы, такие как POST, GET, PUT. Это можно использовать во время тестирования, если в целевом приложении активны какие-либо неправильно настроенные методы или создатели забыли отключить их на уровне приложения и сервера. Словарь «mutations_common.txt» содержит кучу необычных расширений, которые помогут провести перечисление редких артефактов.

Популярные словари для пентестинга

У пользователя также есть список слов «spanish.tx» для перечисления испанских слов/имен/паролей. Другой каталог содержит общие словари, которые могут быть использованы для извлечения имен пользователей или паролей, когда человек забыл свои учетные данные. Далее нужно перейти к каталогу «stress». Он содержит словари, предназначенные для стресс-тестирования механизма аутентификации. Есть списки слов, которые содержат буквы, цифры, специальные символы и шестнадцатеричные коды для выполнения атаки. В каталоге «vulns» пользователь находит словари, специально созданные для тестирования конкретной уязвимости. Есть такие, как apache wordlist, CGI wordlist, directory wordlist, iis wordlist, oracle9 wordlist, SharePoint wordlist, tomcat wordlist. Пользователь будет использовать эти списки слов в конкретном сценарии, когда он имеет информацию о фреймворке и его версии. Он применяет словарь для нацеливания на определенную точку входа.

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

Словари GitHub

На Kali Linux есть огромная коллекция словарей. Но иногда даже этого недостаточно. Это может произойти в сценарии, в котором применяется атака нулевого дня. В имеющихся словарях не будет никаких полезных записей. Именно здесь нужно отправиться на поиск wordlists в Интернете, однако это занимает огромное количество времени. Следует заглянуть на GitHub, там другие люди могут создать нужный пользователю словарь. Поиск на GitHub поможет найти новые или конкретные wordlists, которые необходимы для фуззирования определенного фреймворка.

Ссылка: GitHub Wordlists

Популярные словари для пентестинга

Seclists

Seclists – это сборник нескольких типов словарей, которые могут быть использованы во время тестирования на проникновение или оценки уязвимости. Эти словари содержат имена пользователей, пароли, URL-адреса, шаблоны конфиденциальных данных, полезные нагрузки fuzzing, веб-оболочки. Для установки на Kali Linux следует использовать команду «apt», за которой следует «seclists», как показано на рисунке ниже.

GitHub: Seclists

Популярные словари для пентестинга
apt install seclists

После установки будет создан каталог по имени «Seclists» внутри каталога «/usr/share». Просматривая содержимое, пользователь может увидеть различные категории словарей, такие как Discovery, Fuzzing, IOCs, Misc, Passwords, Pattern Matching, Payloads, Usernames и Web-Shells.

Популярные словари для пентестинга

Assetnode Wordlists

Assetnode Wordlists представляют собой словари для целого ряда областей, таких как обнаружение поддоменов и специальных артефактов. Самое приятное, что они обновляются 28-го числа каждого месяца в соответствии с политикой сайта. Это лучший вариант онлайн-словарей, которые были опубликованы с момента появления Seclists. Чтобы скачать все списки слов сразу, любой желающий может воспользоваться следующей командой wget.

Ссылка: Assetnote Wordlists

wget -r --no-parent -R "index.html*" https://wordlists-cdn.assetnote.io/ -nH
Популярные словари для пентестинга

PacketStrom Wordlists

Packet Storm Security – это веб-сайт об информационной безопасности, на котором представлены инструменты, эксплойты и рекомендации по защите в сети. Им руководит группа энтузиастов, которые публикуют новости о безопасной разработке веб-приложений и предлагают инструменты для тестирования в различных целях. Помимо этого, на этом ресурсе можно найти различные словари. Любой пользователь, который создал определенный список слов, может выложить его этом сайте.

Ссылка: Pack Strom Security Wordlists

Популярные словари для пентестинга

Cleaning Wordlists

До сих пор пользователь знакомился со словарями, которые содержат тысячи записей внутри них. Для тестирования на проникновение на уязвимом сервере или любом CTF, это, возможно, нормально, поскольку слова предназначены для обработки такого рода атаки брутфорс. Однако если речь идет о реальном сценарии, все становится немного сложнее. Как и в реальной жизни, ни одна команда разработчиков или владелец сайта не позволит хакеру выполнять тысячу словесных брутфорсов. Это ухудшит качество обслуживания других клиентов. Таким образом, нужно уменьшить количество записей в словаре. Это звучит контрпродуктивно, но, на самом деле, является правильным решением. Списки слов могут содержать некоторые полезные нагрузки, которые немного превышают размер в 100 символов. Если у пользователя есть полезные нагрузки, которые похожи друг на друга, и он заменит любую из них другой, результат останется тем же. Jon Barber создал скрипт, который может удалять ненужные charters, такие как «! ( , %».

GitHub: CleanWordlist.sh

./clean_wordlists.sh HTML5sec-Injections-Jhaddix.txt
Популярные словари для пентестинга

Пользователь может проверить строки, которые были удалены из списка слов инъекции HTML5, используя команду «diff».

diff HTML5sec-Injections-Jhaddix.txt_cleaned < (sort HTML5sec-Injections-Jhaddix.txt) | more

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

CeWL

CeWL – это приложение Ruby, которое паучит заданный URL-адрес на заданную глубину, необязательно следуя внешним ссылкам, и возвращает пользователю список слов, которые могут быть использованы для взломщиков паролей, таких как John the Ripper. CeWL также имеет соответствующее приложение командной строки FAB (Files Already Bagged), которое применяет такие же методы извлечения метаданных для создания списков авторов/создателей из уже загруженных файлов. В данном примере пользователь нацеливается на определенный URL-адрес и сохраняет выходные данные в словарь под названием «dict.txt».

GitHub: CeWL – Custom Word List generator

Популярные словари для пентестинга

Crunch

Crunch – это генератор списка слов, для которого пользователь может указать стандартный или определенный набор символов. Crunch способен сгенерировать все возможные комбинации цифр, букв и знаков. В данном примере пользователь использовал инструмент для создания списка слов с минимумом 2 и максимумом 3 символами для записи выходных данных внутри списка слов по имени «dict.txt».

Популярные словари для пентестинга

Cupp

Слабый пароль может быть очень коротким или включать в себя только буквы и цифры, что и упрощает его расшифровку. Он также может быть легко угадан кем-то, кто следит за пользователем, например, знает его день рождения, прозвище, адрес, имя домашнего животного или родственника. Есть вероятность, что для пароля сработает простое слово, что-то типа «любовь», «деньги» или тот же «пароль». Cupp используют в таких ситуациях, как юридические тесты на проникновение или судебные расследования преступлений. Пользователь будет создавать специальный словарь для взлома человека по имени Raj. Хакер вводит нужные данные, и после отправки у него есть список слов, который генерируется в зависимости от предоставленной информации.

GitHub: CUPP – Common User Passwords Profiler

Популярные словари для пентестинга

Pydictor

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

GitHub: pydictor

Популярные словари для пентестинга

Bopscrk

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

GitHub: Bopscrk

Популярные словари для пентестинга

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

Популярные словари для пентестинга

BEWGor

BEWGor предназначен для обеспечения безопасности паролей. Это скрипт на Python, который запрашивает у пользователя биографические данные о человеке, называемом «субъектом». Эти данные затем используются для создания вероятных паролей для этого субъекта. BEWGor в значительной степени основан на технологиях Cupp, но инструменты отличаются друг от друга в некоторых аспектах. BEWGor предоставляет детализированную информацию о человеке, включая учет произвольного числа членов семьи и домашних животных пользователя. Хакеры могут использовать перестановки символов для генерации всевозможных паролей. Кроме того, BEWGor способен генерировать огромное количество паролей, создавать верхние/нижние/обратные вариации введенных значений, сохранять необработанные введенные значения в файл терминов до того, как будут сгенерированы сами вариации, устанавливать верхние и нижние пределы длины выходной строки и проверять правильность введенной информации о дне рождении.

GitHub: BEWGor – Bull’s Eye Wordlist Generator

Популярные словари для пентестинга

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

Популярные словари для пентестинга

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

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

GitHub: DyMerge – Dynamic Dictionary Merger

У пользователя есть два списка слов: «1.txt» и «2.txt». Оба содержат по 5 записей в каждом. Человек будет использовать DyMerge для объединения словарей в один.

Популярные словари для пентестинга

Пользователь запускает DyMerge, делает словарь «result.txt» результатом слияния двух списков слов «1.txt» и «2.txt». При этом можно заметить, что «result.txt» имеет 10 записей в конечном итоге, как и предполагалось.

blank

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

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

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

Hashcat/John Rules

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

GitHub: Mentalist

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

blank

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

blank
Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *