DAST или динамическое тестирование безопасности приложений – это метод тестирования на проникновение методом черного ящика.
Чтобы понять, почему DAST предпочтительнее SAST, рассмотрим пример.
Предположим, вы купили новую машину и готовы к тест-драйву.
Вы запускаете двигатель, он работает, но когда вы пытаетесь остановить автомобиль, тормоз не работает.
Теперь вы знаете, что у вас есть проблема, вы может и не знаете, в чем она, но проблема есть.
Подход DAST будет включать тестирование тормозов и связанных с ними деталей, тогда как подход SAST полностью разбирает автомобиль для поиска неисправности.
Хотя подход SAST может выглядеть более точным, в то же время очень подавляющим, но, с другой стороны, подход DAST более практичен и реален.
Что такое DAST?
Проще говоря, в подходе DAST приложение тестируется извне.
Тестировщик, использующий DAST, проверяет приложение во время его работы и пытается взломать его, как злоумышленник.
Сканеры DAST не зависят от технологии.
Это связано с тем, что сканеры DAST взаимодействуют с приложениями извне и полагаются на HTTP.
Это позволяет им работать с любыми языками программирования и фреймворками, как стандартными, так и созданными на заказ.
Инструменты DAST с открытым исходным кодом
1. ZED Attack Proxy или ZAP
Это инструмент с открытым исходным кодом, который предлагается OWASP для выполнения тестирования безопасности.
Он помогает находить уязвимости безопасности в приложениях.
Как работает OWASP ZAP?
ZAP создает прокси-сервер и пропускает трафик веб-сайта через этот сервер.
Он состоит из автоматических сканеров, которые могут помочь перехватить уязвимости в веб-приложениях.
1.2 Как установить ZAP?
Первое, что нужно сделать для установки ZAP, – это загрузить инструмент с GitHub и запустить установщик.
ZAP требует для работы Java 8+.
Следовательно, вам необходимо убедиться, что Java уже установлена в вашей системе.
Установщик Mac OS/X включает соответствующую версию Java, но вы должны установить Java 8+ отдельно для Windows, Linux и других кроссплатформенных версий.
Версии Docker не требуют установки Java.
После завершения установки ознакомьтесь с условиями лицензии.
Нажмите кнопку «Agree, чтобы принять условия, и ZAP завершит установку и запустится автоматически.
Кстати, в Kali Linux он установлен по умолчанию.
1.3 Интерфейс ZAP
Пользовательский интерфейс ZAP
- а. Стандартный режим – позволяет делать что угодно на любом веб-сайте.
- б. Режим атаки – сканирование любого веб-сайта.
- c. Безопасный режим – отключает все вредоносные функции во время сканирования.
- d. Защищенный режим – позволяет сканировать веб-сайты в определенной области, чтобы в конечном итоге вы не сканировали нежелательный веб-сайт.
Сделав это, вы больше не будете видеть другие веб-сайты, которые вам не интересны.
3. Сайты: здесь будут перечислены все сайты, к которым вы получаете доступ через прокси ZAP.
Если ваш веб-сайт отправляет запрос на другой веб-сайт, вы увидите это на отдельном сайте.
4.Workspace Windows: отображает запросы, ответы и сценарии, а также позволяет их редактировать.
5. Информационное окно: в нем отображается подробная информация об автоматических и ручных инструментах.
см. также:
2. Nikto
3. GoLismero
Это инструмент с открытым исходным кодом для тестирования безопасности.
Вот некоторые из наиболее интересных функций этого инструмента:
- 1) Независимость от платформы – протестировано в Windows, Linux, BSD и OS X.
- 2) GoLismero написан на Python.
- 3) Он также собирает и объединяет результаты хорошо известных инструментов, таких как sqlmap, openvas, dnsrecon, theharvester, nmap.Короче говоря, Nikto можно рассматривать как армию из одного человека, где мы можем получить результаты нескольких инструментов с помощью всего одного.
Скачайте и распакуйте сжатый файл отсюда.
GoLismero уже поставляет все свои зависимости, кроме python.
Вы также можете скачать его с GitHub или использовать следующую команду
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s ${PWD}/golismero.py /usr/bin/golismero
Запуск сканирования
golismero scan <target>
или в Docker:
docker run -it --rm treemo/golismero scan -o - example.com