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

Три режима работы

Первый аргумент определяет режим. Три основных:

  • dir — перебор директорий и файлов
  • dns — перебор поддоменов
  • vhost — перебор виртуальных хостов (по Host-заголовку)

Перебор директорий

gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt

С расширениями и фильтрацией по коду ответа:

gobuster dir -u http://target.com -w wordlist.txt -x php,html,txt -s 200,204,301,302,403

Если приложение возвращает 200 на всё подряд (soft 404), фильтруем по размеру ответа:

gobuster dir -u http://target.com -w wordlist.txt --exclude-length 1234

DNS-брутфорс

gobuster dns -d target.com -w /usr/share/wordlists/subdomains.txt

Флаг -i показывает IP-адрес каждого найденного хоста — полезно когда нужно сразу понять, куда смотреть дальше:

gobuster dns -d target.com -w subdomains.txt -i

Виртуальные хосты

vhost-режим нужен когда на одном IP живёт несколько приложений, доступных по разным именам. Gobuster подставляет имена в Host-заголовок и смотрит на разницу в ответах:

gobuster vhost -u http://target.com -w vhosts.txt --append-domain

Опции которые реально пригождаются

-t 50 — потоки (по умолчанию 10, это медленно). -k — игнорировать SSL-ошибки. -o results.txt — вывод в файл. -a "Mozilla/5.0" — User-Agent, если без него всё блокируется. -c "session=abc" — cookie, если нужна аутентификация.

Место в рабочем процессе

Gobuster — первый инструмент для directory busting, когда нужна скорость и чистый результат. Начинаю с common.txt, если нужно глубже — feroxbuster с рекурсией. Для поддоменов gobuster dns хорошо дополняет subfinder: пассивные источники дают известные хосты, брутфорс находит то что нигде не засветилось.