Добро пожаловать обратно, начинающие хакеры!
Веб-приложения часто являются лучшим способом проникновения на сервер/базу данных организации, точкой входа во всю её внутреннюю сеть. По определению, веб-приложение предназначено для получения входных данных от пользователя и отправки этих данных обратно на сервер или в базу данных. Таким образом, злоумышленник может отправить свои вредоносные данные обратно на серверы и в сеть, если веб-приложение не защищено должным образом.
OWASP ZAP — это бесплатный сканер безопасности веб-приложений с открытым исходным кодом, предназначенный для поиска уязвимостей в них. Он работает как перехватывающий прокси-сервер, располагаясь между браузером и тестируемым веб-приложением, позволяя перехватывать, проверять и изменять HTTP/HTTPS-трафик в режиме реального времени.
В этом уроке мы рассмотрим этот мощный и универсальный инструмент.
<strong>kali></strong> <strong>sudo apt install zaproxy -y</strong>
kali> zaproxy
Сначала вы увидите экран, как показано ниже. После того, как вы решите, сохранять ли сеанс ZAP, нажмите «Старт».
В самом верху находится панель инструментов. Хочу обратить ваше внимание на несколько важных моментов:
С помощью этого расширения мы можем создать специальный профиль для ZAP, установив прокси-сервер на
localhost и порт на 8080 .
После этого мы сможем перенаправлять трафик через ZAP на целевые сайты, просто нажав на расширение и выбрав профиль ZAP. Однако при первой попытке открыть сайт мы столкнёмся с ошибкой SSL. Это происходит из-за того, что ZAP использует собственный сертификат для перехвата HTTPS-трафика.
Чтобы решить эту проблему, нам необходимо установить SSL-сертификат ZAP в браузере.
Нам нужно открыть «Параметры» в ZAP и загрузить сертификат, как показано на снимке экрана ниже.
После этого нам необходимо открыть настройки браузера и импортировать сертификат.
Если все настроено правильно, сайт откроется без ошибки SSL.
Контекст — это способ настройки параметров, специфичных для целевого веб-сайта. В рамках контекста мы можем определять исключения, выбирать технологии, а также управлять аутентификацией и контролем доступа.
Теперь, используя контекст, мы можем запустить Spider для сбора страниц, представленных на веб-сайте.
Теперь в дереве сайтов мы видим гораздо больше информации. Поверхность тестирования значительно расширилась. Кроме того, на вкладке «Оповещения» мы можем просмотреть проблемы, выявленные в ходе пассивного сканирования.
Далее, если мы находим ценный запрос, которым хотим манипулировать, мы можем открыть его в редакторе запросов, щелкнув по нему правой кнопкой мыши и выбрав «Открыть/Отправить повторно с помощью редактора запросов».
В будущих уроках мы подробнее рассмотрим возможности этого мощного приложения для тестирования веб-приложений, так что заходите еще, опытные хакеры!
Веб-приложения часто являются лучшим способом проникновения на сервер/базу данных организации, точкой входа во всю её внутреннюю сеть. По определению, веб-приложение предназначено для получения входных данных от пользователя и отправки этих данных обратно на сервер или в базу данных. Таким образом, злоумышленник может отправить свои вредоносные данные обратно на серверы и в сеть, если веб-приложение не защищено должным образом.
OWASP ZAP — это бесплатный сканер безопасности веб-приложений с открытым исходным кодом, предназначенный для поиска уязвимостей в них. Он работает как перехватывающий прокси-сервер, располагаясь между браузером и тестируемым веб-приложением, позволяя перехватывать, проверять и изменять HTTP/HTTPS-трафик в режиме реального времени.
В этом уроке мы рассмотрим этот мощный и универсальный инструмент.
Шаг
Начнём как обычно — с запуска Kali. В этом руководстве я буду использовать Kali 2025.2. В более ранних версиях Kali установлен OWASP ZAP, но в текущей версии его нет. Его можно легко установить через APT из репозитория Kali:<strong>kali></strong> <strong>sudo apt install zaproxy -y</strong>
Шаг
Если вы хотите запустить OWASP ZAP из командной строки, вы можете просто ввести:kali> zaproxy
Сначала вы увидите экран, как показано ниже. После того, как вы решите, сохранять ли сеанс ZAP, нажмите «Старт».
В самом верху находится панель инструментов. Хочу обратить ваше внимание на несколько важных моментов:
- Выбор режима— позволяет переключаться между различными режимами работы в ZAP:
- Безопасный режим : запрещены потенциально опасные действия (например, сканирование или атаки). Идеально подходит для пассивного анализа.
- Защищенный режим : сканирование и атака разрешены, но только в отношении целей, которые вы явно отметили как находящиеся под контролем.
- Стандартный режим : включен полный функционал без ограничений.
- Режим атаки : ZAP активно сканирует новые цели по мере вашего перемещения. Полезно для автоматизированного исследования и тестирования.
- Параметры — обеспечивает доступ к параметрам конфигурации инструментов ZAP, интерфейса, поведения сканирования и многому другому.
- Дополнения — позволяют управлять и устанавливать дополнительные компоненты или плагины для расширения функциональности ZAP.
- Дерево сайта — отображает иерархическое представление приложения по мере его исследования или сканирования, показывая все обнаруженные страницы и конечные точки.
- Вкладки (Оповещения, История и т. д.)– представляют подробную информацию:
- Оповещения : результаты проверок безопасности, полученные в ходе пассивного и активного сканирования.
- История : Журнал всех HTTP-запросов и ответов.
- Другие вкладки могут включать точки останова, скрипты и многое другое в зависимости от ваших настроек.
- Окно запроса/ответа — позволяет проверять, изменять, повторно отправлять или перехватывать HTTP-запросы и ответы.
Шаг
Рекомендую вам, начав работу с ZAP, установить несколько полезных дополнений для расширения его возможностей. Нажмите «Дополнения» на панели инструментов, затем перейдите на вкладку «Маркет». После проверки обновлений вы сможете найти и установить следующие полезные дополнения:- Обнаружение технологий — помогает определить технологии, используемые целевым приложением (например, фреймворки, серверы, библиотеки).
- Расширенный сканер SQL-инъекций — расширяет возможности ZAP по обнаружению сложных уязвимостей SQL-инъекций (аналогично SQLmap).
- Скрипты Python — позволяет использовать скрипты Python для пользовательского сканирования, обработки или автоматизации.
- Поддержка SAML — добавляет функциональность для работы с механизмами аутентификации на основе SAML.
Шаг 4: Установите прокси в браузер
Чтобы упростить использование прокси, я установлю расширение для браузера Proxy SwitchyOmega .
С помощью этого расширения мы можем создать специальный профиль для ZAP, установив прокси-сервер на
localhost и порт на 8080 .
После этого мы сможем перенаправлять трафик через ZAP на целевые сайты, просто нажав на расширение и выбрав профиль ZAP. Однако при первой попытке открыть сайт мы столкнёмся с ошибкой SSL. Это происходит из-за того, что ZAP использует собственный сертификат для перехвата HTTPS-трафика.
Чтобы решить эту проблему, нам необходимо установить SSL-сертификат ZAP в браузере.
Нам нужно открыть «Параметры» в ZAP и загрузить сертификат, как показано на снимке экрана ниже.
После этого нам необходимо открыть настройки браузера и импортировать сертификат.
Если все настроено правильно, сайт откроется без ошибки SSL.
Шаг
Допустим, наша цель — сайт vesti.ru. При открытии в браузере ZAP отобразит множество записей, включая различные CDN и сторонние домены. Чтобы сохранить чистоту и целенаправленность нашей тестовой среды, рекомендуется добавить целевой сайт в контекст. Это поможет отфильтровать нерелевантный трафик, не представляющий ценности для текущего тестирования.
Контекст — это способ настройки параметров, специфичных для целевого веб-сайта. В рамках контекста мы можем определять исключения, выбирать технологии, а также управлять аутентификацией и контролем доступа.
Теперь, используя контекст, мы можем запустить Spider для сбора страниц, представленных на веб-сайте.
Теперь в дереве сайтов мы видим гораздо больше информации. Поверхность тестирования значительно расширилась. Кроме того, на вкладке «Оповещения» мы можем просмотреть проблемы, выявленные в ходе пассивного сканирования.
Далее, если мы находим ценный запрос, которым хотим манипулировать, мы можем открыть его в редакторе запросов, щелкнув по нему правой кнопкой мыши и выбрав «Открыть/Отправить повторно с помощью редактора запросов».
Заключение
OWASP-ZAP — это инструмент для тестирования безопасности веб-приложений с открытым исходным кодом, который стирает грань между автоматическим сканированием и ручным использованием уязвимостей. В отличие от коммерческих инструментов, которые стоят тысячи, ZAP предоставляет функциональность корпоративного уровня без проблем с лицензированием.В будущих уроках мы подробнее рассмотрим возможности этого мощного приложения для тестирования веб-приложений, так что заходите еще, опытные хакеры!