⚒️ Инструменты с открытым исходным кодом для DAST

Обзоры

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. В этой статье мы разделили панель на 5 частей, пронумерованных от 1 до 5.
Пользовательский интерфейс ZAP
1. Режимы: в верхнем левом углу экрана есть четыре режима:
  • а. Стандартный режим – позволяет делать что угодно на любом веб-сайте.
  • б. Режим атаки – сканирование любого веб-сайта.
  • c. Безопасный режим – отключает все вредоносные функции во время сканирования.
  • d. Защищенный режим – позволяет сканировать веб-сайты в определенной области, чтобы в конечном итоге вы не сканировали нежелательный веб-сайт.
2. Объем и содержание: вы должны включить эту опцию, потому что раздел сайта становится некрасивым после некоторого теста. Чтобы сфокусировать свой целевой веб-сайт на сайтах, вы должны создать новый контекст своего веб-сайта и установить флажок In Scope.
Сделав это, вы больше не будете видеть другие веб-сайты, которые вам не интересны.
3. Сайты: здесь будут перечислены все сайты, к которым вы получаете доступ через прокси ZAP.
Если ваш веб-сайт отправляет запрос на другой веб-сайт, вы увидите это на отдельном сайте.
4.Workspace Windows: отображает запросы, ответы и сценарии, а также позволяет их редактировать.
5. Информационное окно: в нем отображается подробная информация об автоматических и ручных инструментах.
см. также:

2. Nikto 

Nikto – это сканер веб-серверов с открытым исходным кодом, который выполняет сканирование веб-серверов на предмет потенциально опасных файлов / программ, устаревших версий и других проблем, связанных с конкретной версией.
Он также сканирует конфигурации сервера, такие как параметры HTTP-сервера, и пытается идентифицировать установленные веб-серверы и программное обеспечение.

3. GoLismero 

GoLismero имеет широкий список уязвимостей.
Это инструмент с открытым исходным кодом для тестирования безопасности.
Вот некоторые из наиболее интересных функций этого инструмента:
  • 1) Независимость от платформы – протестировано в Windows, Linux, BSD и OS X.
  • 2) GoLismero написан на Python.
  • 3) Он также собирает и объединяет результаты хорошо известных инструментов, таких как sqlmap, openvas, dnsrecon, theharvester, nmap.Короче говоря, Nikto можно рассматривать как армию из одного человека, где мы можем получить результаты нескольких инструментов с помощью всего одного.
3.1 Как установить GoLismero
Скачайте и распакуйте сжатый файл отсюда.
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

Заключение

Хотя эти инструменты действительно помогают анализировать веб-приложение на предмет распространенных уязвимостей, но в то же время они не обеспечивают полной безопасности, что вызывает необходимость постоянного улучшения и регулярного ручного тестирования на проникновение.
Автоматизированные инструменты могут помочь вам только в определенной степени, и для достижения максимально возможного уровня безопасности нельзя избежать ручного тестирования.

Добавить комментарий