Найти в Дзене
НПО Эшелон

Утилиты из состава Сканер-ВС: dirb

Одним из первых шагов при атаке на веб-приложение является перечисление скрытых каталогов и файлов. Это может часто предоставить ценную информацию, которая облегчает выполнение точечной атаки, оставляя меньше места для ошибок и потерянного времени. DIRB — это сканер веб-контента. Он ищет существующие (возможно, скрытые) веб-объекты. В основе его работы лежит поиск по словарю, он формирует запросы к веб-серверу и анализирует ответ. DIRB поставляется с набором настроенных на атаку словарей для простого использования, но вы можете использовать и ваш собственный список слов. Также иногда DIRB можно использовать как классический CGI сканер, но помните, что в первую очередь это сканер содержимого, а не сканер уязвимостей. Скрытые директории и файлы, случайно оставленные на веб-сервере, могут стать очень ценным источником чувствительной информации. В корневой папке веб-приложения может быть множество скрытой информации: файлы и папки системы управления версиями исходного кода (.git, .gitignor
Оглавление

Одним из первых шагов при атаке на веб-приложение является перечисление скрытых каталогов и файлов.

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

DIRB — это сканер веб-контента. Он ищет существующие (возможно, скрытые) веб-объекты. В основе его работы лежит поиск по словарю, он формирует запросы к веб-серверу и анализирует ответ.

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

Окно запуска утилиты dirb без параметров
Окно запуска утилиты dirb без параметров

Скрытые директории и файлы, случайно оставленные на веб-сервере, могут стать очень ценным источником чувствительной информации. В корневой папке веб-приложения может быть множество скрытой информации: файлы и папки системы управления версиями исходного кода (.git, .gitignore, .svn), конфигурационные файлы проекта (.npmrc, package.json, .htaccess), файлы пользовательских конфигураций с популярными расширениями, такими как config.json, config.yml, config.xml и многое-многое другое.

В целом, эти источники могут быть разделены на несколько общих категорий:

  • Системы управлениями версиями исходного кода
  • Конфигурационные файлы проекта, которые создаёт IDE (интегрированная среда разработки — обычно, это редактор исходного кода с расширенными функциями)
  • Специфичные конфигурационные файлы и файлы настроек для данного проекта или технологии

Использование dirb:

dirb <базовый_адрес> [<список(и)_словарей>] [опции]

Примечание
<базовый_адрес> : Базовый URL для сканирования. (Используйте -resume для возобновления сессии)
<список(и)_словарей> : Списки слов. (список_слов1,список_слов2,список_слов…)

Горячие клавиши

'n' -> Перейти к следующей директории.

'q' -> Остановить сканирование. (Сохранить состояние для возобновления)

'r' -> Сохранить статистику сканирования.

Опции

-a <строка_агента> : Задайте ваш пользовательский USER_AGENT.

-c <строка_кукиз> : Установите куки для HTTP запроса.

-f : Забавный тюнинг при выявлении NOT_FOUND (404).

-H <строка_азголовка> : Задайте пользовательский заголовок HTTP запроса.

-i : Использовать поиск без учёта регистра.

-l : Печатать заголовок "Location" когда найден.

-N <nf_code>: Игнорировать ответы с этим HTTP кодом.

-o <файл_для_вывода> : Сохранить вывод на диск.

-p <прокси[:порт]> : Использовать прокси. (Порт по умолчанию 1080)

-P <proxy_username:proxy_password> : Аутентификация на прокси.

-r : Не искать рекурсивно.

-R : Интерактивная рекурсия. (Спрашивать для каждой директории)

-S : Молчаливый режим. Не показывать тестируемые слова. (Для простых терминалов)

-t : Не принуждать к конечному слешу '/' в URL.

-u <пользователь:пароль> : HTTP аутентификация.

-v : Показывать также страницы NOT_FOUND.

-w : Не показывать сообщений WARNING.

-X <расширение> / -x <расширения_файла> : Применить эти расширения к каждому слову.

-z <миллисекунды> : Добавить миллисекунды,для задержки, чтобы не стать причиной экстенсивного флуда.

Пример успешного нахождения скрытых объектов на веб-сайте
Пример успешного нахождения скрытых объектов на веб-сайте

Примеры запуска DIRB

dirb http://url/directory/ (Простой тест)

dirb http://url/ -X .html (Тестировать файлы с расширением '.html')

dirb http://url/ /usr/share/dirb/wordlists/vulns/apache.txt (Тестировать списком слов apache.txt)

dirb https://secure_url/ (Простой тест с SSL)

Рекомендуется использовать опцию -a <строка_агента> - с помощью неё вы можете задать ваш пользовательский USER_AGENT.

Пример команды:

dirb http://www.uc-echelon.ru/ Admin_and_Login_Finder.txt -a 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'

Здесь:

  • dirb – исполнимый файл программы
  • http://www.uc-echelon.ru/  адрес для тестирования
  • Admin_and_Login_Finder.txt – файл словаря
  • -a 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' – отправляемый пользовательский агент

Ищите скрытые веб-объекты с готовыми словарями

Хороший словарь за авторством bl4de можно найти тут https://github.com/danielmiessler/SecLists или здесь: https://github.com/danielmiessler/RobotsDisallowed

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