Gobuster — инструменты для тестирования на проникновение в Kali Tools

Опубликовано: 6 Октября, 2022

Одним из основных шагов в атаке на интернет-приложение является перечисление скрытых каталогов и файлов. Это часто может дать ценную информацию, которая упрощает выполнение конкретной атаки, оставляя меньше места для ошибок и напрасной траты времени. Есть много инструментов, чтобы попытаться сделать это, но не все они созданы одинаково. Стоит поискать Gobuster , сканер записей, написанный на языке Go. В популярных каталогах сканеры грубой силы, такие как DirBuster и DIRB, работают просто элегантно, но часто могут быть медленными и реагировать на ошибки. Gobuster может быть реализацией этих инструментов на Go и доступен в удобном формате командной строки. Основным преимуществом Gobuster перед другими сканерами каталогов является скорость. Как язык программирования, Go считается быстрым. Он также имеет отличную помощь для параллелизма, так что Gobuster может извлечь выгоду из нескольких потоков для более быстрой обработки. Однако единственным недостатком Gobuster является отсутствие рекурсивного исследования каталогов. К сожалению, для каталогов глубиной в один уровень потребуется еще одно сканирование. Часто это не так уж важно, и другие сканеры могут усилить и заполнить пробелы для Gobuster в этой области.

Этапы установки Gobuster Tool в ОС Linux

Шаг 1:

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

~# mkdir gobuster
~# cd gobuster/

Шаг 2:

Нам нужно установить Gobuster Tool, так как он не включен в Kali Linux по умолчанию.

~/gobuster# apt-get install gobuster

Шаг 3:

Затем просто введите gobuster в терминал, чтобы запустить инструмент для использования.

~/gobuster# gobuster -h

Шаг 4:

Установка дополнительных секлистов для перебора каталогов и файлов

~/gobuster# apt-get install seclists

По умолчанию списки слов в Kali находятся в каталоге /usr/share/wordlists.

Как использовать Gobuster Tool для сканирования?

Инструменты Gobuster можно запускать из терминала или интерфейса командной строки. Вам просто нужно запустить команду, используя приведенный ниже синтаксис.

gobuster [Mode][Options]

Понимание Gobuster [Режим]

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

Инструмент Gobuster имеет множество режимов:

  • dir — классический режим перебора каталогов или перечисление URI для каталогов и файлов.
    Режим Dir в Gobuster в основном используется для поиска дополнительного контента в определенном целевом домене или его поддомене. Эта дополнительная информация может включать скрытые каталоги или скрытые файлы, которые могут содержать конфиденциальные данные. В режиме Dir мы можем использовать параметр «-u», чтобы указать целевой домен или поддомен, который вы хотите копать в скрытых каталогах и файлах. Кроме того, опция «-w» выберет список слов, который вы хотите использовать для грубой силы.

  • dns — режим перебора поддоменов DNS или перечисление поддоменов
    Режим DNS в Gobuster Tool в основном используется для перечисления субдоменов в целевом домене. Вы можете использовать этот режим, чтобы найти некоторые скрытые или неидентифицируемые поддомены для данного целевого домена. В этом режиме вы можете использовать параметр «-d», чтобы указать целевой домен, поддомен которого вы хотите найти, а параметр «-w» позволяет вам выбрать список слов, который вы хотите использовать для грубой силы.
  • vhost — режим перебора виртуальных хостов или перечисление виртуальных хостов (не то же самое, что DNS!)
    Наконец, режим Vhost в Gobuster используется для поиска виртуальных хостов на сервере-жертве. Виртуальный хостинг осуществляется, когда компании размещают несколько доменных имен на одном сервере или кластере серверов. Виртуальный хостинг позволяет одному серверу делиться своими данными и ресурсами с несколькими другими именами хостов. Идентификация имен хостов на сервере может раскрыть дополнительный веб-контент, принадлежащий компании. В режиме хоста он проверяет, существуют ли поддомены, фактически посещая сформированный URL-адрес и перекрестно проверяя IP-адрес.

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

gobuster dir [options]

Понимание Gobuster [Параметры]

После входа в определенный режим в соответствии с требованием вы должны указать параметры. Инструмент Gobuster имеет длинный список опций; чтобы изучить их, вы можете просто прочитать страницу справки, набрав «gobuster -h». Вы можете использовать «gobuster dns -h» для изучения параметров, которые конкретно относятся к режиму DNS).

Некоторые примеры вариантов:

  1. -o, --output string Выходной файл для записи результатов (по умолчанию стандартный вывод)
  2. -q, --quiet Не печатать баннер и прочий шум
  3. -t, --threads int Количество параллельных потоков (по умолчанию 10)
  4. -v, --verbose Подробный вывод (ошибки)

Целевая спецификация

Итак, при использовании инструмента нам нужно указать «-u», за которым следует целевой URL-адрес, IP-адрес или имя хоста. Эта опция является обязательной, так как для получения результатов указывается цель.

В некоторых примерах показано, как использовать эту опцию.

  1. Зайдите на https://www.geeksforgeeks.org/
  2. Зайдите на https://www.webscantest.com
  3. gobuster вы -u 192.168.21.154

Обратите внимание, что эти примеры не будут работать, если не указана обязательная опция «-u».

Спецификация списка слов

Gobuster Tool перечисляет скрытые каталоги и файлы в целевом домене, выполняя атаку грубой силы. Атака грубой силы состоит в сопоставлении списка слов или комбинации слов в надежде, что в списке присутствует правильный термин. Итак, Gobuster выполняет грубую атаку. Чтобы форсировать атаку, нам нужно указать набор слов, т. е. список слов. Поэтому, чтобы предоставить этот список слов, вам нужно ввести параметр «-w», а затем путь к списку слов, где он находится. Мы можем использовать файл списка слов, который уже присутствует в системе.

gobuster dir -u https://www.geeksforgeeks.org/ -w /usr/share/wordlists/big.txt

Перечисление файлов

Gobuster Tool может перечислять скрытые файлы вместе с удаленными каталогами. Gobuster позволяет нам использовать параметр «-x», за которым следуют расширения файлов, которые вы хотите найти.

Рассмотрим пример ниже:

gobuster dir -u https://www.geeksforgeeks.com w /usr/share/wordlists/big.txt -x php,html,htm

В этой команде мы специально ищем файлы с расширениями php, htm или html.

Использование Gobuster Tool на примере

1. Получение полного пути к каталогу или файлу

Опция «-e» используется для завершения печати URL-адреса при извлечении любого скрытого файла или скрытых каталогов.

gobuster dir -e -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt –wildcard

2. Скрыть код состояния

При использовании параметра -n в режиме «без статуса» вывод результатов распечатывается без представления кода состояния.

gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -n –wildcard

3. Отключить баннер

Инструмент Gobuster постоянно добавляет баннер, чтобы определить краткое введение применяемых параметров при запуске атаки грубой силы. Используя параметр -q, мы можем отключить флаг, чтобы скрыть дополнительные данные.

gobuster dir  -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -q –wildcard

4. Установите количество потоков

Использование параметра -t позволяет реализовать количество параметров потока при переборе имен субдоменов или каталогов.

gobuster  dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt –wildcard

5. Получите IP-адреса субдомена

Использование параметра -i разрешает параметр IP, который должен отображать IP-адреса выбранных поддоменов.

gobuster  dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt -i –wildcard

DNS mode is covered in this command

6. Тайм-аут

Использование параметра –timeout разрешает параметр тайм-аута для HTTP-запросов, а 5 секунд — это ограничение по времени для HTTP-запроса по умолчанию.

gobuster dir –timeout 5s -u geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt –wildcard

7. Добавление косой черты

Здесь я использую параметр -f для добавления косой черты при выполнении атаки грубой силы на целевой URL.

gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -f –wildcard

8. Перечисление каталога с определенным списком расширений

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

gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -x .php –wildcard

9. Следите за перенаправлением

Использование параметров -r позволяет перенаправлять параметры, перенаправлять HTTP-запросы на другой и изменять код состояния для каталога или файла.

gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt -q –wildcard

gobuster dir -u geeksforgeeks.org -r -w /usr/share/wordlists/dirb/common.txt -q –wildcard

10. АВТОРИЗАЦИЯ HTTP (-u имя пользователя: пароль)

Все механизмы аутентификации/аутентификации HTTP основаны на использовании кода состояния 401 и заголовка ответа WWW-Authenticate. Наиболее часто используемыми механизмами аутентификации HTTP являются первичные. Клиент отправляет имя пользователя и пароль в незашифрованном виде в кодировке base64.

Итак, чтобы избежать такой аутентификации с помощью Gobuster, мы использовали следующую команду:

gobuster dir -u http://testphp.vulnweb.com/login.php -w /usr/share/wordlists/dirb/common.txt -U test -P test –wildcard

11. Обработка грубой силы

Он заканчивается получением имени поддомена, если оно соответствует любому подстановочному DNS, который является несуществующим доменом. Поэтому он использует параметр –wildcard, чтобы позволить параметрам продолжить атаку, даже если есть какой-либо домен с подстановочными знаками.

gobuster dir -u geeksforgeeks.org -w /usr/share/wordlists/dirb/common.txt  –wildcard

12. Скрыть процесс извлечения

Использование параметра -z охватывает процесс получения имен поддоменов при совершении атак методом грубой силы.

gobuster dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt -z –wildcard

13. Извлечение записей CNAME

Использование параметра –cn включает параметр CNAME Records полученных субдоменов и их CNAME записей.

gobuster dns -d geeksforgeeks.org -t 100 -w /usr/share/wordlists/dirb/common.txt -c –wildcard

14. URL-адрес прокси

Использование параметра –p позволяет использовать URL-адрес прокси для всех запросов; по умолчанию он работает на порту 1080. Как видите, при проверке сетевого IP-адреса жертвы в веб-браузере выдается «Ошибка доступа запрещена», что означает, что эта веб-страница работает в обратном направлении через какой-то прокси.

gobuster dir -p ‘https://18.172.30:3128’ -u ‘http://18.192.172.30/’ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt –wildcard

Пример :

Теперь, когда все настроено и установлено, мы готовы использовать Gobuster. Запустим его на нашей жертве с параметрами по умолчанию.

Target for Scanning : https://testphp.vulnweb.com

kali@kali:~$ gobuster dir -u testphp.vulnweb.com -w /usr/share/wordlists/dirb/common.txt

На приведенном выше снимке экрана мы перечисляем каталоги на https://testphp.vulnweb.com.

Список слов, используемый для сканирования, находится в /usr/share/wordlists/dirb/common.txt.

На приведенном выше снимке экрана мы идентифицировали панель администратора при переборе каталогов. После открытия веб-браузера и ввода URL-адреса нашей цели https://testphp.vulnweb.com/ и указания указанного каталога /admin/ мы предоставим содержимое, доступное в этом каталоге. Будучи исследователем безопасности, вы можете протестировать функциональность этой веб-страницы.

Вывод

В этой статье мы узнали о Gobuster, сканере перебора каталогов, написанном на языке программирования Go. Во-первых, мы узнали, как установить инструмент и некоторые ценные списки слов, которых нет в Kali по умолчанию. Затем мы проверили его на нашей цели и изучили множество различных вариантов, с которыми он поставляется. Gobuster — это быстрый и мощный сканер каталогов, который должен быть неотъемлемой частью коллекции любого хакера, и теперь вы знаете, как его использовать.