Содержание статьи
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем, нарушение тайны переписки, прослушивание и чтение переписки граждан без их согласия преследуется по закону.
Acunetix позволяет расширять сканеры собственными чекерами, написанными на JavaScript. Ты можешь добавить чек на уязвимость, которую еще не успели включить в движок, или повысить точность существующих сканеров, дополнив их кастомными проверками.
Сегодня поговорим о том, как расширить инструментарий пассивным и полупассивным сканированием. Пассивное сканирование — это поиск полезной информации в запросах, которые уже выполнил движок Acunetix. Полупассивным сканированием я называю сканирование, которое добавляет один‑два подтверждающих запроса. В отличие от агрессивных режимов активного сканирования, когда количество запросов зашкаливает.
info
Про создание активных сканеров для Acunetix читай в моей статье «Дрессированный окунь. Пишем сканер для Acunetix на примере RCE в Craft CMS».
Ищем чувствительные данные
Когда решаешь лабы и находишь в комментариях к HTML креды, улыбаешься и думаешь: «Ну‑ну, что за идиот оставит такое в комментариях?» Зря радуешься, с практикой поймешь, что это нечасто, но случается. Разработчики нет‑нет да отправляют в продакшен чувствительную информацию. Так доступными становятся конфиги и много что еще, включая чувствительные данные.
Acunetix может найти куски исходного кода, ключи AWS и многое другое. Но совершенно не умеет искать учетные данные либо делает это очень плохо. Чтобы убедиться, создай HTML-файл с заглушкой, содержащей в комментах ключ AWS и любые креды, лучше в разных вариантах написания. Запусти проект через Docker Compose и выполни сканирование.

www
Для твоего удобства я выложил все исходники в репозиторий на GitHub. Там есть и тестовые проекты для «Докера» и файлы с кастомными скриптами.
Чтобы научить Acunetix видеть данные со скриншота выше, создай файл check_sens_data. в папке custom-scripts/. Ищи папку в ProgramData в Windows или / — в Linux.
Для начала создай блок if (, весь остальной код поместишь внутри. Это простой способ включать и выключать кастомный скрипт. «Окунь» не дает возможности выбрать, какие скрипты использовать при сканировании, а какие нет. Всё или ничего. Поэтому руками переключать проще: true — включено, false — выключено. Слишком большое количество чекеров растянет время сканирования до бесконечности.
Добавь проверку if(. В этом примере нет смысла обрабатывать другие статусы.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
