Введение
В этой лабораторной работе вы изучите фундаментальный метод тестирования на проникновение веб-приложений: маршрутизацию трафика Gobuster через веб-прокси. Gobuster — это мощный инструмент для перебора каталогов и файлов, перебора поддоменов DNS и перечисления S3-бакетов. Маршрутизируя свой трафик через прокси, такой как Burp Suite или OWASP ZAP, вы получаете возможность инспектировать, изменять и анализировать HTTP-запросы и ответы, генерируемые Gobuster. Эта видимость бесценна для понимания того, как ведут себя веб-приложения, и для выявления потенциальных уязвимостей.
Эта лабораторная работа проведет вас через настройку прокси, конфигурацию Gobuster для его использования, выполнение сканирования и наблюдение за трафиком в прокси.
Запуск веб-прокси, такого как Burp Suite или OWASP ZAP
На этом шаге вы запустите приложение веб-прокси. Для этой лабораторной работы мы будем использовать OWASP ZAP, который предварительно установлен в среде LabEx. OWASP ZAP предоставляет графический интерфейс для перехвата и анализа веб-трафика.
Сначала откройте новое окно терминала, если у вас его еще нет. Затем запустите OWASP ZAP.
/opt/zaproxy/zap.sh &
После запуска OWASP ZAP начнет работу. Вы можете увидеть запрос о сохранении сессии ZAP. Для этой лабораторной работы вы можете выбрать "No, thanks" (Нет, спасибо) и нажать "Start" (Начать).
Как только ZAP будет запущен, вы увидите его основной интерфейс. Это означает, что приложение-прокси готово к настройке.
Настройка прокси для прослушивания на определенном порту
На этом шаге вы настроите OWASP ZAP для прослушивания на определенном IP-адресе и порту. По умолчанию ZAP часто прослушивает 127.0.0.1:8080. Мы подтвердим эту настройку.
В OWASP ZAP:
- Перейдите в
Tools(Инструменты) ->Options...(Параметры...) (илиFile(Файл) ->Options...(Параметры...) в зависимости от версии ZAP). - В диалоговом окне "Options" (Параметры) перейдите в раздел
Local Proxies(Локальные прокси) в секцииNetwork(Сеть). - Убедитесь, что адрес
127.0.0.1, а порт8080. Если они отличаются, вы можете изменить их здесь, но для этой лабораторной работы мы будем исходить из того, что это127.0.0.1:8080. - Нажмите
OK(ОК), чтобы закрыть диалоговое окно "Options" (Параметры).
Эта конфигурация гарантирует, что ZAP прослушивает входящие соединения на указанном адресе и порту, готовый перехватывать трафик.
Использование флага -p в Gobuster для указания URL прокси
На этом шаге вы узнаете, как указать Gobuster направлять свой трафик через только что настроенный вами прокси. Для этой цели Gobuster предоставляет флаг -p (или --proxy), который позволяет указать URL прокси.
Формат URL прокси обычно выглядит как http://<IP_ADDRESS>:<PORT>. Поскольку наш прокси ZAP прослушивает на 127.0.0.1:8080, URL прокси будет http://127.0.0.1:8080.
Мы подготовим команду Gobuster, которая будет включать эту настройку прокси. Для демонстрации мы будем использовать простой целевой ресурс, например, http://example.com.
echo "gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt -p http://127.0.0.1:8080" > ~/project/gobuster_command.sh
chmod +x ~/project/gobuster_command.sh
Эта команда создает скрипт gobuster_command.sh в вашем каталоге ~/project, который содержит команду Gobuster с флагом прокси. Этот скрипт будет выполнен на следующем шаге.
Выполнение сканирования Gobuster
На этом шаге вы выполните сканирование Gobuster, используя команду, подготовленную на предыдущем шаге. Это инициирует процесс перебора каталогов, и весь его HTTP-трафик будет направляться через OWASP ZAP.
Откройте новый терминал или используйте существующий и выполните скрипт:
~/project/gobuster_command.sh
В терминале вы увидите вывод Gobuster, показывающий обнаруженные им каталоги и файлы. Пока Gobuster работает, он отправляет запросы через ZAP. Сканирование может занять несколько минут, в зависимости от размера списка слов (wordlist) и отзывчивости цели. Для example.com это должно быть относительно быстро, так как это простая цель.
/usr/bin/gobuster: line 1: syntax error near unexpected token `newline'
/usr/bin/gobuster: line 1: `#!/bin/bash'
Примечание: Вывод выше является примером. Ваш фактический вывод может незначительно отличаться.
Наблюдение за трафиком Gobuster в истории прокси
На этом заключительном шаге вы будете наблюдать HTTP-трафик, сгенерированный Gobuster, в OWASP ZAP. Здесь вы сможете анализировать запросы и ответы, выявлять закономерности и потенциально обнаруживать уязвимости.
Вернитесь в приложение OWASP ZAP.
- В левой панели найдите дерево
Sites(Сайты). Вы должны увидеть тамhttp://example.com. - Разверните
http://example.com, а затемhttp. Вы увидите список HTTP-методов (например,GET) и путей, к которым Gobuster пытался получить доступ (например,/,/index.html,/robots.txtи т. д.). - Щелкните любую из этих записей. В нижних панелях вы увидите вкладки
Request(Запрос) иResponse(Ответ), отображающие полный HTTP-запрос, отправленный Gobuster, и соответствующий ответ от сервера.
Это подтверждает, что трафик Gobuster был успешно направлен через прокси, что позволяет проводить детальный анализ. Эта возможность является ключевой для продвинутого тестирования веб-приложений.
Резюме
В этой лабораторной работе вы успешно научились направлять трафик Gobuster через веб-прокси. Вы запустили OWASP ZAP, подтвердили его конфигурацию прокси, использовали флаг -p для направления запросов Gobuster через прокси, выполнили сканирование и, наконец, наблюдали перехваченный трафик в ZAP. Этот навык является фундаментальным для любого специалиста по тестированию на проникновение веб-приложений, позволяя глубже анализировать и управлять трафиком автоматизированных инструментов. Понимая, как направлять трафик ваших инструментов через прокси, вы получаете больший контроль и наглядность над процессом тестирования, что приводит к более эффективному обнаружению уязвимостей.
