- Регистрация
- 9 Май 2015
- Сообщения
- 1,483
- Баллы
- 155
Хочешь прокачать Acunetix своими скриптами или делать их на заказ? В этой статье я покажу, как создавать полезные сканеры, на примере сбора чувствительных данных и поиска SSRF.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем, нарушение тайны переписки, прослушивание и чтение переписки граждан без их согласия преследуется по закону.
Acunetix позволяет расширять сканеры собственными чекерами, написанными на JavaScript. Ты можешь добавить чек на уязвимость, которую еще не успели включить в движок, или повысить точность существующих сканеров, дополнив их кастомными проверками.
Сегодня поговорим о том, как расширить инструментарий пассивным и полупассивным сканированием. Пассивное сканирование — это поиск полезной информации в запросах, которые уже выполнил движок Acunetix. Полупассивным сканированием я называю сканирование, которое добавляет один‑два подтверждающих запроса. В отличие от агрессивных режимов активного сканирования, когда количество запросов зашкаливает.
Ищем чувствительные данные
Когда решаешь лабы и находишь в комментариях к HTML креды, улыбаешься и думаешь: «Ну‑ну, что за идиот оставит такое в комментариях?» Зря радуешься, с практикой поймешь, что это нечасто, но случается. Разработчики нет‑нет да отправляют в продакшен чувствительную информацию. Так доступными становятся конфиги и много что еще, включая чувствительные данные.
Acunetix может найти куски исходного кода, ключи AWS и многое другое. Но совершенно не умеет искать учетные данные либо делает это очень плохо. Чтобы убедиться, создай HTML-файл с заглушкой, содержащей в комментах ключ AWS и любые креды, лучше в разных вариантах написания. Запусти проект через Docker Compose и выполни сканирование.
«Окунь» нашел ключ AWS, но в упор не увидел креды, которые подложены
Чтобы научить Acunetix видеть данные со скриншота выше, создай файл check_sens_data.js в папке custom-scripts/httpdata. Ищи папку в ProgramData в Windows или /home/acunetix/.acunetix/data — в Linux.
Для начала создай блок if (true) { … }, весь остальной код поместишь внутри. Это простой способ включать и выключать кастомный скрипт. «Окунь» не дает возможности выбрать, какие скрипты использовать при сканировании, а какие нет. Всё или ничего. Поэтому руками переключать проще: true — включено, false — выключено. Слишком большое количество чекеров растянет время сканирования до бесконечности.
Добавь проверку if(scriptArg.http.response.status == 200). В этом примере нет смысла обрабатывать другие статусы.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем, нарушение тайны переписки, прослушивание и чтение переписки граждан без их согласия преследуется по закону.
Acunetix позволяет расширять сканеры собственными чекерами, написанными на JavaScript. Ты можешь добавить чек на уязвимость, которую еще не успели включить в движок, или повысить точность существующих сканеров, дополнив их кастомными проверками.
Сегодня поговорим о том, как расширить инструментарий пассивным и полупассивным сканированием. Пассивное сканирование — это поиск полезной информации в запросах, которые уже выполнил движок Acunetix. Полупассивным сканированием я называю сканирование, которое добавляет один‑два подтверждающих запроса. В отличие от агрессивных режимов активного сканирования, когда количество запросов зашкаливает.
Ищем чувствительные данные
Когда решаешь лабы и находишь в комментариях к HTML креды, улыбаешься и думаешь: «Ну‑ну, что за идиот оставит такое в комментариях?» Зря радуешься, с практикой поймешь, что это нечасто, но случается. Разработчики нет‑нет да отправляют в продакшен чувствительную информацию. Так доступными становятся конфиги и много что еще, включая чувствительные данные.
Acunetix может найти куски исходного кода, ключи AWS и многое другое. Но совершенно не умеет искать учетные данные либо делает это очень плохо. Чтобы убедиться, создай HTML-файл с заглушкой, содержащей в комментах ключ AWS и любые креды, лучше в разных вариантах написания. Запусти проект через Docker Compose и выполни сканирование.

«Окунь» нашел ключ AWS, но в упор не увидел креды, которые подложены
Чтобы научить Acunetix видеть данные со скриншота выше, создай файл check_sens_data.js в папке custom-scripts/httpdata. Ищи папку в ProgramData в Windows или /home/acunetix/.acunetix/data — в Linux.
Для начала создай блок if (true) { … }, весь остальной код поместишь внутри. Это простой способ включать и выключать кастомный скрипт. «Окунь» не дает возможности выбрать, какие скрипты использовать при сканировании, а какие нет. Всё или ничего. Поэтому руками переключать проще: true — включено, false — выключено. Слишком большое количество чекеров растянет время сканирования до бесконечности.
Добавь проверку if(scriptArg.http.response.status == 200). В этом примере нет смысла обрабатывать другие статусы.
Источник: