Многие знают, что для регулярных DAST сканирований удобна docker версия ZAP с ее zap-baseline.py, zap-full-scan.py и т.п. Но немногие знают, что в нее можно передавать конфиги, такие как ограничения времени сканирования, исключения путей и т.п.
Для этого используется параметр -z "-config параметр=значение" или -z "-config параметр1=значение1 -config параметр2=значение2" и так далее.
Некоторые параметры описаны здесь: https://www.zaproxy.org/docs/desktop/addons/automation-framework/job-ascan/ другие надо искать/подбирать, так как документация конфигов достаточно скудная.
Например: docker run --rm -v $(pwd):/zap/wrk/:rw -m 4g -t zaproxy/zap-stable zap-baseline.py -t https://example.com -g gen.conf -z "-config scanner.maxScanDurationInMins=30" -x zap-report.xml
Для этого используется параметр -z "-config параметр=значение" или -z "-config параметр1=значение1 -config параметр2=значение2" и так далее.
Некоторые параметры описаны здесь: https://www.zaproxy.org/docs/desktop/addons/automation-framework/job-ascan/ другие надо искать/подбирать, так как документация конфигов достаточно скудная.
Например: docker run --rm -v $(pwd):/zap/wrk/:rw -m 4g -t zaproxy/zap-stable zap-baseline.py -t https://example.com -g gen.conf -z "-config scanner.maxScanDurationInMins=30" -x zap-report.xml
Или так:
docker run --rm -v $(pwd):/zap/wrk/:rw -m 4g -e ZAP_AUTH_HEADER=Cookie -e ZAP_AUTH_HEADER_VALUE="SESSIONID=12345" -t zaproxy/zap-stable zap-full-scan.py -t https://example.com -g gen.conf -z "-config scanner.maxScanDurationInMins=120 -config globalexcludeurl.url_list.url.regex='.*logout.*'"
docker run --rm -v $(pwd):/zap/wrk/:rw -m 4g -e ZAP_AUTH_HEADER=Cookie -e ZAP_AUTH_HEADER_VALUE="SESSIONID=12345" -t zaproxy/zap-stable zap-full-scan.py -t https://example.com -g gen.conf -z "-config scanner.maxScanDurationInMins=120 -config globalexcludeurl.url_list.url.regex='.*logout.*'"
По методологии Code Review понравились вот эти товарищи:
https://github.com/absoluteappsec/handouts
Они много выступают, можно поискать их видео:
https://www.youtube.com/watch?v=f6UOBCJ9pjw
https://www.youtube.com/watch?v=Nb4pNXmBO0I
https://github.com/absoluteappsec/handouts
Они много выступают, можно поискать их видео:
https://www.youtube.com/watch?v=f6UOBCJ9pjw
https://www.youtube.com/watch?v=Nb4pNXmBO0I
GitHub
GitHub - absoluteappsec/handouts: materials we hand out
materials we hand out. Contribute to absoluteappsec/handouts development by creating an account on GitHub.
Ребята из GitLab проделали большую работу и адаптировали множество сканеров уязвимостей для автозапуска в своих пайплайнах. Но запускать их можно и вне GitLab.
Код сканеров можно найти здесь: https://gitlab.com/gitlab-org/security-products/analyzers
Для каждого из них в реестре имеется контейнер с соответствующим именем. Например:
docker pull registry.gitlab.com/gitlab-org/security-products/analyzers/brakeman
docker pull registry.gitlab.com/gitlab-org/security-products/analyzers/semgrep
Все сканеры запускаются примерно так:
docker run --rm -m 4g --volume $(pwd):/src --volume $(pwd):/report имя_контейнера /analyzer r --target-dir /src --artifact-dir /report
Запускаем из текущей папки с исходным кодом и получаем отчет в папке report. Дальше парсим json или грузим в Defect Dojo.
Код сканеров можно найти здесь: https://gitlab.com/gitlab-org/security-products/analyzers
Для каждого из них в реестре имеется контейнер с соответствующим именем. Например:
docker pull registry.gitlab.com/gitlab-org/security-products/analyzers/brakeman
docker pull registry.gitlab.com/gitlab-org/security-products/analyzers/semgrep
Все сканеры запускаются примерно так:
docker run --rm -m 4g --volume $(pwd):/src --volume $(pwd):/report имя_контейнера /analyzer r --target-dir /src --artifact-dir /report
Запускаем из текущей папки с исходным кодом и получаем отчет в папке report. Дальше парсим json или грузим в Defect Dojo.
GitLab
analyzers · GitLab
Analyzers are in-house scanners or wrappers around external tools for SAST, Dependency Scanning and Container Scanning, following a common architecture.
Стоит отметить, что основную ценность GitLab сканеров представляют правила для Semgrep, которые пишутся и поддерживаются GitLab ом. Они меньше фолсят и в целом рассчитаны на использование в CI.
Сами правила находятся тут, но проще их запускать в semgrep контейнере способом, описанным выше.
https://gitlab.com/gitlab-org/security-products/sast-rules
Сами правила находятся тут, но проще их запускать в semgrep контейнере способом, описанным выше.
https://gitlab.com/gitlab-org/security-products/sast-rules
GitLab
GitLab.org / security-products / sast-rules · GitLab
Rule Repository for GitLab SAST
В процессе подготовки к OSWE нашел полезный ресурс для практики поиска уязвимостей в коде ака Code Review.
https://pentesterlab.com/
Часть заданий бесплатно, часть почти бесплатно (20 баксов в месяц)
https://pentesterlab.com/
Часть заданий бесплатно, часть почти бесплатно (20 баксов в месяц)
Pentesterlab
Master Web Hacking and Security Code Review!
Master advanced penetration testing and deep security code review through real-world CVEs, detailed vulnerability analysis, and expert-led code reviews. Ideal for professionals seeking expert-level understanding beyond basic exploits.
Как сканировать API с аутентификацией по JWT? При наличии OpenAPI спецификации на сайте можно так:
docker run --rm -v $(pwd):/zap/wrk/:rw -m 4g -e ZAP_AUTH_HEADER=Authorization -e ZAP_AUTH_HEADER_VALUE="Bearer jwt_токен" -t zaproxy/zap-stable zap-api-scan.py -t https://rest.vulnweb.com/files/openapi-swagger_jwt.yaml -f openapi -g gen.conf
Значение JWT для rest.vulnweb.com вместе с тестом других методов аутентификации можно найти тут:
https://rest.vulnweb.com/docs/
docker run --rm -v $(pwd):/zap/wrk/:rw -m 4g -e ZAP_AUTH_HEADER=Authorization -e ZAP_AUTH_HEADER_VALUE="Bearer jwt_токен" -t zaproxy/zap-stable zap-api-scan.py -t https://rest.vulnweb.com/files/openapi-swagger_jwt.yaml -f openapi -g gen.conf
Значение JWT для rest.vulnweb.com вместе с тестом других методов аутентификации можно найти тут:
https://rest.vulnweb.com/docs/
GraphQL и SOAP также поддерживаются, передаются в значении параметра -f
https://www.zaproxy.org/docs/docker/api-scan/
https://www.zaproxy.org/docs/docker/api-scan/
www.zaproxy.org
ZAP – ZAP - API Scan
The world’s most widely used web app scanner. Free and open source. ZAP is a community project actively maintained by a dedicated international team, and a GitHub Top 1000 project.
Если есть желание сканировать код с PT AI, но нет возможности его купить, можно поставить бесплатное расширение для VS Code:
https://marketplace.visualstudio.com/items?itemName=POSIdev-community.application-inspector
Сравнивали с полной версией - результаты сканирований идентичны. Из минусов - очень требователен к ресурсам, для больших проектов имеет смысл ставить на отдельную машину.
https://marketplace.visualstudio.com/items?itemName=POSIdev-community.application-inspector
Сравнивали с полной версией - результаты сканирований идентичны. Из минусов - очень требователен к ресурсам, для больших проектов имеет смысл ставить на отдельную машину.
Visualstudio
PT Application Inspector - Visual Studio Marketplace
Extension for Visual Studio Code - Security Analysis
Сравнение-PT_AI-ScanSuite.xlsx
13.7 KB
Кстати, в начале года сравнивали полную версию PT AI с набором open source аналогов (Semgrep, Bandit, FindSecBugs, Security Code Scan и т.д.) под общим названием ScanSuite.
Сравнение субъективное, на полноту не претендует, результат тогда был в пользу open source.
Сравнение субъективное, на полноту не претендует, результат тогда был в пользу open source.
На днях прошел SafeCode Meetup №2. Понравился доклад по безопасной настройке GitLab:
https://www.youtube.com/live/Hg5X5LIZP6E
https://www.youtube.com/live/Hg5X5LIZP6E
YouTube
SafeCode Meetup №2
Ближайшая конференция: SafeCode 2024 Autumn, 30 октября (online)
Подробности: https://jrg.su/K2HN5V
— —
Бесплатный онлайн-митап от конференции SafeCode. В программе — выступления про гигиену CI/CD и UX в безопасности.
После каждого доклада у вас будет возможность…
Подробности: https://jrg.su/K2HN5V
— —
Бесплатный онлайн-митап от конференции SafeCode. В программе — выступления про гигиену CI/CD и UX в безопасности.
После каждого доклада у вас будет возможность…
Отличный курс по безопасности приложений и окружения:
https://www.youtube.com/playlist?list=PLQC2_0cDcSKD_JHWtEJGIFQUVh7Z5JM8E
https://www.youtube.com/playlist?list=PLQC2_0cDcSKD_JHWtEJGIFQUVh7Z5JM8E
Как просканировать сайт на CMS Bitrix на уязвимости?
Качаем шаблоны для Nuclei:
Сканируем:
вместо
В качестве бонуса, репа с эксплоитами: https://github.com/JackPot777/bitrix
Качаем шаблоны для Nuclei:
git clone https://github.com/jhonnybonny/nuclei-templates-bitrix.gitСканируем:
docker run --rm -v $(pwd):/tmp -v $(pwd)/nuclei-templates-bitrix:/nuclei-templates projectdiscovery/nuclei -t /nuclei-templates -u https://example.comвместо
-u https://example.com можно указать файл с со списком сайтов через -l TARGETS.txtВ качестве бонуса, репа с эксплоитами: https://github.com/JackPot777/bitrix
GitHub
GitHub - JackPot777/bitrix
Contribute to JackPot777/bitrix development by creating an account on GitHub.