Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

dir-hunter

Инструмент для поиска скрытых директорий и файлов для багбаунти и пентеста. Даёшь ему URL цели, он перебирает словарь типовых путей, показывает те, что выглядят реальными, и печатает короткие подсказки, чем каждая находка может быть полезна.

Идея та же, что у gobuster / dirsearch / ffuf, но это один файл на Python, который легко читать и легко дорабатывать.

Правовая заметка

Запускай только против систем, которыми владеешь или которые тебе явно разрешено тестировать (например, актив в скоупе багбаунти). Несанкционированное сканирование может быть незаконным. Перед каждым сканом инструмент просит подтвердить, что у тебя есть разрешение.

Возможности

  • Многопоточное сканирование через пул потоков (-t).
  • Глобальный лимит скорости (--rate) и задержка между запросами (--delay), чтобы не перегружать хост.
  • Калибровка soft-404 / wildcard: сначала запрашивает случайный путь, чтобы серверы, отвечающие 200 на всё, не заваливали тебя ложными срабатываниями.
  • Обработка кодов ответа: прячет 404 и показывает 200/301/302/401/403/500.
  • Расширения (-x php,bak,zip), добавляемые к каждому слову.
  • Подсказки по типовым находкам: .git, .env, бэкапы, Spring Actuator, Swagger, 403-но-существует, редиректы и другое.
  • Работает через прокси (--proxy http://127.0.0.1:8080), со своими заголовками (-H) и куками (--cookie) для сканов с авторизацией.
  • Сохраняет отчёты в .txt или .json (-o report.json).
  • Цветной вывод в Windows через colorama.

Установка (Windows)

:: Python 3.9+ с https://www.python.org (отметь "Add to PATH")
pip install -r requirements.txt

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

:: простейший вариант, использует встроенный словарь
python dir-hunter.py https://target.example

:: 20 потоков, лимит 30 запросов/с, расширения, сохранить JSON
python dir-hunter.py https://target.example -t 20 --rate 30 -x php,bak,zip -o report.json

:: пустить трафик через Burp
python dir-hunter.py https://target.example --proxy http://127.0.0.1:8080

:: скан с авторизацией по куке сессии
python dir-hunter.py https://target.example --cookie "session=abc123"

:: свой словарь побольше (например, SecLists)
python dir-hunter.py https://target.example -w C:\wordlists\raft-medium-directories.txt

Параметры

Флаг Значение
-w, --wordlist Путь к словарю (по умолчанию: wordlists/common.txt)
-x, --extensions Расширения для перебора, напр. php,html,bak
-t, --threads Число потоков (по умолчанию 10)
--rate Глобальный лимит запросов/с (0 = без лимита)
--delay Доп. задержка между запросами в секундах
--timeout Таймаут запроса (по умолчанию 10с)
--head Использовать HEAD вместо GET
--follow Переходить по редиректам (по умолчанию нет, чтобы видеть 301/302)
-o, --output Сохранить результаты в .txt или .json
--status-include / --status-exclude Фильтр по кодам ответа
-H, --header Доп. заголовок "Имя: значение" (можно несколько раз)
--cookie Заголовок Cookie для сканов с авторизацией
--proxy URL прокси (например, Burp)
-k, --insecure Не проверять TLS
-y, --yes Пропустить интерактивное подтверждение

Полный список: python dir-hunter.py --help.

Пример вывода

200      1.4KB  /login
301        0B   /admin  ->  https://target.example/admin/
403       278B  /.git/config
200      14.2KB /api/docs

ПОДСКАЗКИ (куда смотреть дальше):
  * Открытые метаданные Git на /.git/config: попробуйте выкачать репозиторий...
  * Документация API на /api/docs: Swagger/OpenAPI раскрывает весь API...
  * 403 Forbidden, путей: 1. Ресурс СУЩЕСТВУЕТ, но закрыт...

Как это работает

  1. Подтверждение авторизации: ты подтверждаешь, что тебе можно тестировать цель.
  2. Калибровка: запрашивает случайный несуществующий путь, чтобы узнать поведение сервера на "не найдено" (код + размер тела), и отсеять soft-404.
  3. Скан: пул потоков запрашивает каждое слово (и слово.ext) под общим лимитом скорости; ответы классифицируются по коду и размеру.
  4. Отчёт и подсказки: интересные находки печатаются и, по желанию, сохраняются.

Разбор кода подробнее: docs/CODE_WALKTHROUGH.md.

Идеи на будущее

  • Рекурсивный скан по найденным каталогам (с ограничением глубины).
  • Фильтры по размеру и числу слов в ответе.
  • Несколько словарей и словари под конкретные расширения.
  • Авторазбор .git / .DS_Store.

Лицензия

MIT, см. LICENSE.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages