Освоение Burp Suite и OWASP ZAP [Complete web app pentesting series #3]
Тестирование безопасности веб-приложений было бы чрезвычайно сложным без веб-прокси. Это позволяет тестировщикам на проникновение проверять, анализировать HTTP-запросы и ответы и манипулировать ими, позволяя их исследователям отслеживать, понимать компоненты и уязвимости. Два самых популярных инструмента для этой категории - Burp Suite и OWASP ZAP. Итак, прежде чем мы перейдем к некоторым полезным вещам, давайте разберемся, что такое веб-прокси и почему он полезен.
Понимание веб-прокси
Веб-прокси связывается с нашим браузером от имени веб-сервера с запросами, которые становятся веб-запросами, и возвращает соответствующие HTML-ответы, действуя как веб-прокси-посредник. Эта функциональность имеет решающее значение для тестирования безопасности, позволяя тестировщику:
1. HTTP-перехватчик для перехвата HTTP-запросов и ответов.
2. Использовать полезные нагрузки для тестирования на наличие уязвимостей.
3. Автоматизация всех процессов
Ниже представлен рабочий процесс Burp Suite, известного инструмента для охотников за ошибками и тестировщиков на проникновение, позволяющего анализировать и использовать уязвимости в веб-приложениях.
В начале пользователь/тестер (использующий веб-браузер) взаимодействует с целевым приложением. Burp — это инструмент перехвата, который перехватывает все HTTP-запросы и ответы, поступающие на тестировщика и исходящие на целевой веб-сервер, и делает трафик видимым и доступным для управления. Из прокси-сервера перехваченный трафик поступает в различные модули Burp Suite:
1. Сканер: обнаруживает распространенные уязвимости, автоматически сканируя перехваченный трафик (например, SQL-инъекции, межсайтовый скриптинг (XSS), небезопасную конфигурацию…), и предоставляет выделенные предложения (например, примеры команд) о том, как лучше его использовать.
2. Злоумышленник: Для поиска уязвимостей, которые можно эксплуатировать, выполняются автоматизированные атаки на основе полезной нагрузки, такие как подбор пароля, нечеткий подбор параметров и тестирование инъекций.
3. Репитер: ручное создание и воспроизведение HTTP-запросов с целью более глубокого изучения некоторых конкретных уязвимостей или проверки пограничных случаев.
Наконец, запросы, сформированные или измененные инструментами, отправляются на целевой веб-сервер, а ответы возвращаются инструментам для проведения непрерывного тестирования. Тестировщики на проникновение могут интерактивно выявлять, анализировать и использовать эти уязвимости в рамках этого итеративного рабочего процесса, полностью контролируя поток трафика. Это обусловлено модульностью Burp Suite, благодаря которой все инструменты в нём отлично взаимодействуют друг с другом, позволяя специалистам по безопасности охватывать все базовые уровни безопасности своих приложений.
Освоение Burp Suite
Заголовок выше может ввести в заблуждение, но цель этого блога не в том, чтобы освоить burp-suite
, но чтобы освоиться с интерфейсом и начать уверенно использовать этот инструмент. Тем не менее, Burp Suite — один из самых многофункциональных и популярных веб-прокси-серверов для тестирования безопасности веб-приложений, поэтому его используют в качестве эталона. Инструмент состоит из нескольких вкладок, ориентированных на конкретную цель.
Прокси и обработка HTTP-запросов
Используйте встроенный браузер Burp, чтобы избежать настройки внешнего браузера с прокси-сервером.
Вы всегда можете настроить свой существующий браузер на параметры прокси-сервера Burp, но это отнимает много времени и создает массу хлопот, но если вы все равно хотите это сделать, посмотрите следующее видео на YouTube.
Чтобы улучшить читаемость, перейдите в User Options > Display и измените размер шрифта. Эта опция чрезвычайно полезна при создании скриншотов и при составлении отчёта о пентесте. Я установил следующие настройки шрифта, но в вашем случае вы можете выбрать любой другой.
Включить перехват: включите или выключите перехват. Если переадресация трафика каждый раз кажется вам утомительной и обременительной, воспользуйтесь историей HTTP на вкладке «Прокси», чтобы проверить прошлые сеансы. http requests
.
Используйте "HTTP History"
анализировать запросы без прерывания постоянного перехвата.
В моем случае мне довольно легко полагаться на http history
вкладку, вместо того, чтобы отключать перехват и вручную перенаправлять каждый трафик для каждой нажатой кнопки или вкладки. В вашем случае, возможно, вы предпочтёте противоположное, поэтому лучше попользоваться Burp Suite несколько дней или недель и найти свой личный вариант.
Intruder
Мощь брутфорса и фаззинга в Burp — вкладка "Intruder".
- Примеры использования: поиск каталогов в списке, проверка слабых паролей, поиск уязвимостей в полях форм.
- Конфигурация: можно выбрать один из следующих типов атаки: «Sniper», «Cluster Bomb», «Pitchfork» или «Battering Ram».
- Полезные данные: встроенные списки слов Burp или импорт пользовательских списков слов.
- Совет по скорости: он медленнее. Не стесняйтесь использовать.
Caido or FFUF
поскольку они являются отличными инструментами для полного фаззинга.
Конфигурация: выбор правильного типа атаки в Burp Suite Intruder
В Burp Suite важно выбрать правильный тип атаки для оптимизации ваших усилий по брутфорсу и фаззингу. Burp Suite предлагает четыре различных типа атак, каждый из которых подходит для определённых сценариев:
Описание: Тестирование одной полезной нагрузки выполняется последовательно и фокусируется на одном поле ввода за раз.
Лучшие варианты использования:
- То есть при тестировании уязвимости по специфическим для человека параметрам (SQL-инъекции, XSS и т. д.).
Описание: Использование одной и той же полезной нагрузки в нескольких позициях одновременно.
Лучшие варианты использования: Примером ситуации, когда это необходимо, является ситуация, когда у нас есть несколько полей, ожидающих одинаковых входных данных.
Описание: Позволяет обрабатывать несколько наборов (полезной нагрузки) параллельно (таким образом, что один набор назначается на заданную позицию).
Лучшие варианты использования: Однако это полезно при тестировании комбинаций полей, зависящих от взаимодействия входов.
- Моделирование сценариев с взаимозависимыми параметрами, которые невозможно моделировать по отдельности.
Описание: представляет собой комбинацию из нескольких наборов полезной нагрузки, которая проверяет все возможные комбинации в нескольких позициях.
Лучшие варианты использования:
- В нахождении поколений исчерпывающей перестановки входных данных.
- Подходит для сценариев высокой сложности, таких как проверка форм с несколькими полями.
Если вам нужно протестировать одно поле (в частности, точную техническую атаку), то используйте Sniper. Если та же полезная нагрузка может вызвать проблемы в смежных областях, выбирайте Battering Ram. С помощью Pitchfork вы будете выбирать входные данные, соответствующие входным данным по всем полям, без лишних комбинаций.
- Если точность не является приоритетом, используйте Cluster Bomb для тщательного тестирования всех комбинаций.
Однако если выбрать правильный тип атаки и сделать его соответствующим сценарию, можно использовать тестирование с помощью Burp Suite Intruder для достижения максимальной эффективности.
Одна вещь, на которой стоит попрактиковаться, это нарушитель отрыжки, от picoCTF
в котором есть эта лаборатория CTF cookies
для чего нам нужно будет выполнить фаззинг значения cookie, и вы можете проверить его самостоятельно, чтобы увидеть, получите ли вы флаг.
Repeater
Наконец у нас есть Repeater
что позволяет пользователю отправлять запросы с изменениями и пересылать их одним щелчком мыши. Обычно HTTP request
или Intercept
вкладка просто отображает и позволяет вам записывать HTTP request
. Мы можем вернуться или изменить внешний вид этого HTTP-запроса, чтобы внести изменения. Чтобы внести любые изменения, просто нажмите ctrl + R
для передачи точного HTTP-запроса на повторитель.
- Варианты использования : оценка предварительно загруженных модулей и границ, проверка результатов и изучение полезных нагрузок использования.
- Рабочий процесс : пересылка элементов из истории прокси-сервера или HTTP в повторитель для дальнейшего тестирования.
Дополнительные вкладки
Дополнительные вкладки, которые есть в Burp, используются не так часто, как вкладки прокси-сервера, злоумышленника или даже ретранслятора, но о них стоит знать.
- Сканер (версия Pro): автоматизированный подход к обнаружению уязвимостей в системах.
- Comparer: Так проще сравнивать запросы и ответы.
- Декодер: сжимает сообщения, чтобы сделать их неясными, или расширяет их, чтобы сделать их понятными.
Освоение OWASP ZAP
OWASP ZAP (Zed Attack Proxy) похож на Burp Suite, но является бесплатным инструментом, разработанным в рамках инициативы OWASP. Подобно Burp, он обладает тем же набором функций, но интерфейс и использование его многими опытными тестировщиками считаются менее удобными. Он практически обладает тем же функционалом, что и Burp, но большинство людей предпочитают интерфейс Burp Suite и чувствуют себя комфортно в нём. Несмотря на множество функций Burp, его интерфейс и пользовательский интерфейс часто считаются менее интуитивными для опытных тестировщиков.
Он имеет схожие черты с burp
, но большинство людей предвзяты и довольны burp suite's
UI/UX. В моём личном опыте owasp zap используется в следующих случаях или ситуациях.
Spidering: выводит список каталогов и файлов приложений в удобном для чтения и экономящем память формате. Эту функцию следует использовать для эффективного поиска контента во время исследования, если вам нужно найти больше информации по определённой теме.
Vulnerability Scanning: выполняет бесплатное сканирование сетей, в то время как в Burp Suite эта функция платная.
Когда использовать?
Spidering: хорош для перечисления URL/конечных точек.
Free Vulnerability Scans: выявите некоторые существующие уязвимости, не тратя денег.
1. Щелкните правой кнопкой мыши по Target:
В левой панели выберите нужный вам объект в дереве «Sites». Щёлкните по нему правой кнопкой мыши, чтобы открыть контекстное меню.
2. Выберите «Attack» в контекстном меню:
Нажмите на опцию «Attack», чтобы открыть подменю возможных режимов атаки.
3. Выберите «Active Scan»:
Для сканирования на наличие уязвимостей выберите «Active Scan». Отправка вредоносных данных позволит проверить целевой объект на наличие известных уязвимостей безопасности.
Если приложение использует контент, управляемый JavaScript, выберите AJAX Spider для отображения скрытого или динамического контента.
Чтобы найти все URL-адреса для традиционного сканирования, выберите Spider для отображения структуры приложения.
- Активное сканирование: эта функция автоматически сканирует уязвимости или отвечает на специально созданные запросы, чтобы обнаружить такие элементы, как SQL-инъекции, XSS или CSRF-атаки. Инвазивное (может изменить данные или нарушить работу приложения) и активное (прерывание передачи данных). Рекомендуется использовать в непроизводственных системах, если это не разрешено.
- Принудительный просмотр сайта: он перебирает типичные имена (каталоги или файлы), чтобы попытаться получить доступ к скрытым или несвязанным ресурсам.
- Принудительный просмотр каталога (и дочерних каталогов): более целенаправленная тревожная характеристика «принудительного просмотра», сосредоточенная на определенном каталоге, а затем рекурсивно исследующая его содержимое.
- AJAX Spider: инструмент используется для исследования динамического содержимого веб-приложения, которое может быть недоступно для традиционного сканирования, например, элементов, управляемых JavaScript.
- Spider: это классический веб-сканер, который обнаруживает все URL-адреса и ссылки в целевом приложении. Он обычно используется для начального сканирования перед любым другим этапом, то есть для составления карты структуры веб-приложения.
Эти инструменты играют важнейшую роль в процессе тестирования безопасности веб-приложений:
Active Scan активно сканирует уязвимости, а затем определяет, где злоумышленники могут воспользоваться слабыми местами в вашей сети.
- Spider и AJAX Spider обнаруживают всю поверхность атаки приложения, не пропуская ни одной целевой точки.
- Принудительный просмотр расширяет область оценки и находит скрытые или непреднамеренные ресурсы.
Эти функции помогают тестировщикам на проникновение автоматизировать повторяющиеся задачи, такие как сканирование, перебор паролей и перебор паролей, а также проводить анализ уязвимостей и планировать атаки более эффективно. Выбор инструментов зависит от сложности приложения, типа оцениваемых уязвимостей и допустимого риска во время тестирования.
Помимо Burp Suite и ZAP
Для решения конкретных задач, таких как фаззинг, рассмотрите такие инструменты, как:
- Caido: обеспечивает расширенные преимущества обработки для ручного и автоматизированного тестирования.
- FFUF: небольшой и простой в использовании инструмент командной строки, идеально подходящий для быстрого просмотра каталогов и файлов.
Заключение
Таким образом, благодаря основным функциям Burp Suite (прокси, нарушитель и повторитель) в сочетании с OWASP ZAP для сканирования и сканирования уязвимостей, вы будете готовы справиться практически с любой угрозой безопасности веб-приложений. Для любых нечётких атак всегда рекомендуется использовать FFUF, а для более сложных задач Caido оказывается лучшим решением, охватывающим все аспекты.
Оригинальная статья | Перевод: THREAD