Бесплатно Экспресс-аудит сайта:

06.09.2023

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

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

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

Пентестинг требует от хакера знания и навыков в разных областях, таких как Linux, Windows Server, веб-технологии, сетевые протоколы, реверс-инжиниринг, анализ вредоносных программ и т.д. Легитимный пентестинг состоит, как правило, из следующих этапов: сбор информации, сканирование, эксплуатация, пост-эксплуатация и составление отчёта.

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

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

Что такое словари?

Словари (от англ. wordlists) — это наборы слов, фраз, символов или других данных, которые используются для перебора возможных значений при выполнении различных видов атак, таких как брутфорс (brute-force), инъекции (injection), перечисление (enumeration) и т.д. Словари могут быть общего назначения или специализированными для определённого контекста, например, словарь доменных имён, паролей, имён пользователей, директорий и т.д. Существует множество источников, где можно найти или сгенерировать словари для пентестинга, а в этой статье мы рассмотрим некоторые из наиболее популярных и полезных.

Словари являются необходимым инструментом для пентестера, потому что они позволяют находить и эксплуатировать уязвимости в целевых системах или приложениях. Например, пентестер может использовать словарь с директориями для поиска скрытых или потенциально интересных путей на веб-сайте. Или же пентестер может использовать словарь с паролями для выполнения атаки брутфорс на FTP-сервис. Или словарь с уязвимостями для выполнения атаки инъекции на базу данных SQL. В общем, без словарей пентестеру было бы очень трудно или вовсе невозможно провести подобные атаки.

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

Коллекции словарей

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

  • Seclists — это коллекция полезных словарей, сгруппированных по контексту, такому как пароли, пользователи, директории, поддомены, SQL-инъекции и т.д. Этот репозиторий содержит более 600 файлов со словарями разного размера и качества. Seclists также включает в себя некоторые другие ресурсы, такие как эксплойты, шелл-коды, скрипты и т.д.
  • Xajkep’s Wordlists — это набор словарей, отобранных и собранных пользователем Xajkep по контексту, такому как директории, файлы, расширения файлов, почтовые провайдеры, пароли и т.д. Эти словари основаны на реальных данных из интернета и могут быть полезны для различных видов атак.
  • Bug-Bounty-Wordlists — это репозиторий, который включает в себя все важные словари, используемые при поиске уязвимостей на веб-сайтах. Эти словари охватывают такие области, как поддомены, URL-параметры, HTTP-заголовки, XSS полезные нагрузки, SQL-инъекции и т.д.

Словари директорий и файлов

Перечисление (enumeration) — это процесс сбора информации об атакуемой системе или приложении путём перебора возможных значений из словаря. Например, пентестер может использовать словарь с директориями для поиска скрытых или интересных путей на веб-сайте. Существует множество инструментов для перечисления, таких как Dirbuster, Dirb, Wfuzz и т.д. Каждый из них имеет свои собственные словари по умолчанию. Однако, иногда может быть полезно использовать другие словари или комбинировать их для получения лучших результатов. Вот некоторые примеры словарей для перечисления:

  • Dirbuster Wordlists — это словари по умолчанию для инструмента Dirbuster, который используется для поиска директорий и файлов на веб-сайтах. Эти словари содержат общие имена директорий и файлов, такие как admin, login, index, config и т.д.
  • Dirb Wordlists — это словари по умолчанию для инструмента Dirb, который также используется для поиска директорий и файлов на веб-сайтах. Эти словари похожи на Dirbuster Wordlists, но также включают некоторые специфические имена, такие как «cgi-bin», «robots.txt», «.htaccess» и т.д.
  • ws-dirs — это словарь директорий веб-сервисов для инструмента Wfuzz, который используется для фаззинга веб-приложений. Этот словарь содержит имена директорий, связанных с различными технологиями веб-сервисов, такими как SOAP, REST, XML-RPC и т.д.
  • ws-files — это словарь файлов веб-сервисов для инструмента Wfuzz. Этот словарь содержит имена файлов, связанных с различными технологиями веб-сервисов, такими как WSDL, XSD, JSON и т.д.
  • Directories — это словарь директорий от Xajkep’s Wordlists. Этот словарь содержит более 100 000 имён директорий, собранных из реальных веб-сайтов.
  • Backup files — это словарь файлов резервных копий от Xajkep’s Wordlists. Этот словарь содержит более 3000 имён файлов резервных копий с различными расширениями, такими как «.bak», «.old», «.zip» и т.д.
  • Backup files with path — это словарь файлов резервных копий с полными путями от Xajkep’s Wordlists. Этот словарь содержит более 3000 комбинаций путей и файлов резервных копий с различными расширениями.
  • n0kovo_subdomains — это чрезвычайно эффективный словарь поддоменов из 3 миллионов строк, созданный путём сбора SSL сертификатов из всего пространства IPv4.

Словари с провайдерами электронной почты

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

  • Xajkep’s email providers — это словарь почтовых провайдеров от Xajkep’s Wordlists. Этот словарь содержит более 3600 названий почтовых провайдеров, таких как gmail.com, yahoo.com, mail.ru и т.д. Эти названия могут быть использованы для создания или перебора адресов электронной почты.

Словари с паролями

Пароли (passwords) — это секретные последовательности символов, которые используются для аутентификации или шифрования данных. Пентестеры могут использовать словари с паролями для выполнения брутфорс-атак или словарных атак на различные сервисы, такие как FTP, SSH, Telnet, HTTP и т.д. Существует множество словарей с паролями разного размера и сложности, но вот некоторые из наиболее известных и эффективных:

  • RockYou — это самый популярный словарь для паролей, который содержит более 14 миллионов паролей, утекших из социальной сети RockYou в 2009 году. Этот словарь включает в себя множество общих и слабых паролей, таких как 123456, password, iloveyou и т.д.
  • WPA-Length Passwords — это словарь паролей с длиной типа WPA (Wi-Fi Protected Access), то есть от 8 до 63 символов. Этот словарь содержит более 40 миллионов паролей, которые могут быть использованы для взлома беспроводных сетей с протоколом WPA или WPA2.
  • SecLists’ Passwords — это набор словарей с паролями от Seclists, который содержит более 100 файлов со словарями разного размера и качества. Эти словари включают в себя общие и специфические пароли, такие как пароли по умолчанию, пароли из утечек и т.д.
  • CrackStation — это словарь с паролями от CrackStation, который содержит более 1.4 миллиарда паролей, собранных из различных источников. Этот словарь является одним из самых больших и полных словарей для паролей, который может быть использован для взлома любого типа хешей.
  • Active-Directory-Wordlists’ Passwords — это набор самых распространённых паролей для Active Directory, системы управления доменами и пользователями в сетях Windows. Эти пароли могут быть использованы для атак на доменные контроллеры или доменные аккаунты.

Словари с именами пользователей

Имена пользователей (usernames) — это уникальные идентификаторы, которые используются для аутентификации или идентификации пользователей в различных системах или сервисах. Пентестеры могут использовать словари с именами пользователей для выполнения брутфорс-атак или перечисления пользователей на различных сервисах, таких как FTP, SSH, Telnet, HTTP и т.д. Существует множество словарей с именами пользователей разного размера и качества, но вот некоторые из наиболее известных и эффективных:

  • SecLists’ Usernames — это набор словарей с именами пользователей от Seclists, который содержит более 50 файлов со словарями разного размера и качества. Эти словари включают в себя общие и специфические имена пользователей, такие как имена по умолчанию, имена из утечек и т.д.
  • Active-Directory-Wordlists’ Users — это набор самых распространённых имён пользователей для Active Directory. Эти имена пользователей могут быть использованы для атак на доменные контроллеры или доменные аккаунты.

Словари с уязвимостями

Уязвимости (vulnerabilities) — это слабые места в системах или приложениях, которые могут быть эксплуатированы для получения несанкционированного доступа, нарушения конфиденциальности, целостности или доступности данных или ресурсов. Пентестеры могут использовать словари с уязвимостями для выполнения инъекционных атак на различные сервисы, такие как SQL, NoSQL, LDAP, XSS и т.д. Существует множество словарей с уязвимостями, но ниже представлен один из наиболее известных и эффективных:

  • NoSQL-Injection Wordlist — это список полезных нагрузок (payloads) для тестирования инъекций NoSQL, то есть баз данных, которые не используют структурированный язык запросов SQL, а другие форматы данных, такие как JSON, BSON, XML и т.д. Этот список содержит более 100 полезных нагрузок для различных типов баз данных NoSQL, таких как MongoDB, CouchDB, Redis и т.д.

Прочие словари

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

  • Probable-Wordlists — это, по сути, исследование по различным типам словарей, которое включает в себя анализ частоты слов, статистику по паролям, генерацию словарей на основе правил и т.д. Этот ресурс может помочь пентестерам понять, как создавать или выбирать эффективные словари для различных целей.
  • Kali Wordlists — это набор словарей по умолчанию для Kali Linux, одной из самых популярных операционных систем для пентестинга. Эти словари включают в себя общие и специфические словари для паролей, пользователей, директорий, поддоменов и т.д.
  • · Blog g0tmi1k — это пост на блоге g0tmi1k, который является известным пентестером и автором Kali Linux. В этом посте он рассказывает о том, что делает хорошим словарь для паролей и как самостоятельно составить свой собственный словарь.
  • Skull Security Passwords — это коллекция словарей с паролями от Skull Security, которая содержит более 2 миллиардов паролей, собранных из различных источников. Эта коллекция является одной из самых больших и разнообразных коллекций словарей для паролей, которая может быть использована для взлома любого типа хешей.
  • Trickest Wordlists — это набор реальных словарей по кибербезопасности, которые обновляются регулярно. Они охватывают такие области, как директории, файлы, параметры, заголовки, полезные нагрузки и т.д.
  • Assetnote Wordlists — это набор автоматических и ручных словарей, предоставляемых компанией по кибербезопасности Assetnote. Эти словари включают в себя такие области, как поддомены, директории, параметры, заголовки и т.д.

Заключение

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

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

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