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

fenix

Эксперт
Команда форума
Судья
ПРОВЕРЕННЫЙ ПРОДАВЕЦ ⭐⭐⭐⭐⭐
Private Club
Регистрация
26/8/16
Сообщения
9.688
Репутация
53.002
Реакции
52.775
RUB
10.000
Депозит
300 000 рублей
Сделок через гаранта
208
Узнайте, как грамотно подобранный словарь может обойти любую защиту и обеспечить доступ к конфиденциальным данным.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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







 
5 лучших инструментов пентестера для поиска поддоменов целевого сайта.

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

image

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

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

Что такое поддомен?

Поддомен служит расширением основного домена веб-сайта, организуя различные разделы сайта. В структуре домена сайта есть две основные части: домен верхнего уровня (top-level domain, TLD) и домен второго уровня (second-level domain, SLD).

Рассмотрим пример сайта SecurityLab с доменом securitylab.ru. В этом случае TLD-доменом служит «.ru», а SLD — «securitylab». Теперь, если бы на сайте был специальный раздел для партнерских отношений, поддомен для этого раздела можно было бы назвать «partnerships», тогда полный URL-адрес будет выглядеть так: «partnerships.securitylab.ru».

Поиск поддоменов на этапе разведки

Этап разведки предназначен для сбора информации об архитектуре и инфраструктуре целевого веб-сайта.
Очень важно иметь хорошие навыки разведки, особенно в тестах на проникновение методом «черного ящика» (Black Box Testing), когда у вас мало или совсем нет информации о тестируемом приложении.
Существует 2 типа разведки: активная разведка и пассивная разведка. Активная разведка включает в себя сканирование портов, снятие отпечатков служб и сканирование сети для обнаружения открытых портов.
Пассивная разведка включает в себя сбор общедоступной информации о цели, такой как доменные имена, поддомены, IP-адреса и т. д. Оба типа разведки необходимы для создания хорошей основы для успешного теста на проникновение.

5 бесплатных инструментов Linux для поиска поддоменов

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

1. Sublist3r
cs1rs4agdibj1v4tckhh48zw4rwcqhsx.png
Sublist3r — популярный инструмент на основе Python, используемый для перечисления поддоменов. Инструмент использует поисковые системы Google, Yahoo и Bing для обнаружения действительных поддоменов, существующих в приложении.
Чтобы установить Sublist3r на ваш ПК с Linux, запустите:
sudo pip install sublist3r
Убедитесь, что у вас установлены Python и Pip заранее. Если они у вас не установлены, установите пакеты, используя:
sudo apt install python3 python3-pip
Для Arch Linux:
sudo pacman python3 python-pip
В RHEL и Fedora:
sudo dnf install python3 python3-pip
Кроме того, вы можете создать копию репозитория Git на локальном компьютере, клонировав его. Введите это в свой терминал и выполните:
git clone
Затем установите необходимые зависимости, запустив:
sudo pip install -r requirements.txt
Чтобы использовать Sublist3r для сканирования доменов, вы должны указать целевой домен с помощью тега -d или --domain:
sublist3r -d exampledomain.com
Также вы можете указать используемую поисковую систему, количество потоков и даже интересующие вас порты. Для получения дополнительной информации о доступных параметрах проверьте страницу руководства, выполнив:
sublist3r --help

2. Amass
5bv3yq9ykfhaf9sv30wght3wftksmau2.png
Amass — это инструмент с открытым исходным кодом, разработанный Open Web Application Security Project (OWASP) для сбора информации. ИБ-специалисты используют Amass для перечисления доменов и поддоменов, сопоставления сетей, перечисления DNS и т. д.
OWASP Amass предустановлен в последних версиях Kali Linux. Но если у вас нет этого инструмента, вы можете установить его, выполнив:
sudo apt install amass
Или вы можете установить Amass с помощью руководства по установке на странице Amass на GitHub.
Чтобы использовать Amass для перечисления доменов, выполните эту команду:
amass enum -d exampledomain.com
Команда «enum» указывает Amass выполнить перечисление доменов, а флаг -d указывает целевой домен.
Чтобы получить дополнительные параметры командной строки или информацию об Amass, запустите:
amass enum --help

3. DNSRecon
myq5r0oufjhvge6j8873b1k96sau2lt3.png
DNSRecon — это инструмент перечисления DNS, который может выполнять различные запросы, в том числе брутфорс доменов (brute-force) и reverse lookups. Это очень популярный и универсальный инструмент, используемый пентестерами на этапе сбора информации.
Чтобы установить DNSRecon на Kali Linux, выполните:
sudo apt install dnsrecon
В других дистрибутивах Linux вы можете установить DNSRecon, клонировав его репозиторий Git:
git clone
Сначала установите требования с помощью python3-pip:
python3-pip install -r requirements.txt
Для поиска доменов с помощью DNSRecon выполните:
dnsrecon -d domain -t std
Флаг -d указывает целевой домен, а флаг -t std указывает стандартный режим перечисления доменов.

4. Fierce
06g8392qosxtkvs0ncemonc8dyehpep3.png
Fierce — это инструмент разведки DNS, который также можно использовать для перечисления поддоменов. Чтобы установить Fierce на Ubuntu и Debian, запустите:
sudo apt install fierce
Другой способ установки Fierce:
python -m pip install fierce
Вы также можете клонировать репозиторий Git с помощью:
git clone
Перейдите в каталог Fever и установите требования с помощью:
python -m pip install -r requirements.txt
Чтобы перечислить домены с помощью Fierce, выполните:
fierce --domain exapmpledomain.com
Для получения дополнительной информации о том, как использовать Fierse запустите эту команду:
fierce -h

5. assetfinder
24us0kcpfldqa8ic6q2engs3venakxo3.png
assetsfinder — это инструмент на основе Golang, используемый для перечисления поддоменов. Он обнаруживает поддомены путем поиска в различных общедоступных источниках, таких как Common Crawl, DNSdumpster и VirusTotal.
Чтобы установить этот инструмент, сначала убедитесь, что на вашем Linux установлен Golang. Затем запустите:
go get -u github.com/tomnomnom/assetfinder
В Kali Linux вы можете установить assetsfinder, запустив:
sudo apt install assetfinder
Вот синтаксис использования assetsfinder для обнаружения поддоменов:
assetfinder exampledomain.com
Для получения дополнительной информации о том, как использовать инструмент, выполните:
assetfinder -h

Заключение

Существует еще больше инструментов для перечисления доменов, такие как Censys, subfinder и DNSdumpster. В Интернете доступны тысячи OSINT-инструментов, которые помогают пентестерам собирать информацию о целевом приложении. Самое примечательное в таких инструментах то, что они обычно бесплатны и просты в использовании.
Найдите инструмент, который лучше всего ходит для вашей задачи, и продолжайте исследования, чтобы открыть для себя больше жемчужин с открытым исходным кодом.








 
  • Теги
    доступ к информации защита от взлома пентестер уязвимость
  • Сверху Снизу