Хо­чешь про­качать Acunetix сво­ими скрип­тами или делать их на заказ? В этой статье я покажу, как соз­давать полез­ные ска­неры, на при­мере сбо­ра чувс­тви­тель­ных дан­ных и поис­ка SSRF.

warning

Статья име­ет озна­коми­тель­ный харак­тер и пред­назна­чена для спе­циалис­тов по безопас­ности, про­водя­щих тес­тирова­ние в рам­ках кон­трак­та. Автор и редак­ция не несут ответс­твен­ности за любой вред, при­чинен­ный с при­мене­нием изло­жен­ной информа­ции. Рас­простра­нение вре­донос­ных прог­рамм, наруше­ние работы сис­тем, наруше­ние тай­ны перепис­ки, прос­лушива­ние и чте­ние перепис­ки граж­дан без их сог­ласия прес­леду­ется по закону.

Acunetix поз­воля­ет рас­ширять ска­неры собс­твен­ными чекера­ми, написан­ными на JavaScript. Ты можешь добавить чек на уяз­вимость, которую еще не успе­ли вклю­чить в дви­жок, или повысить точ­ность сущес­тву­ющих ска­неров, допол­нив их кас­томны­ми про­вер­ками.

Се­год­ня погово­рим о том, как рас­ширить инс­тру­мен­тарий пас­сивным и полупас­сивным ска­ниро­вани­ем. Пас­сивное ска­ниро­вание — это поиск полез­ной информа­ции в зап­росах, которые уже выпол­нил дви­жок Acunetix. Полупас­сивным ска­ниро­вани­ем я называю ска­ниро­вание, которое добав­ляет один‑два под­твержда­ющих зап­роса. В отли­чие от агрессив­ных режимов активно­го ска­ниро­вания, ког­да количес­тво зап­росов заш­калива­ет.

info

Про соз­дание активных ска­неров для Acunetix читай в моей статье «Дрес­сирован­ный окунь. Пишем ска­нер для Acunetix на при­мере RCE в Craft CMS».

 

Ищем чувствительные данные

Ког­да реша­ешь лабы и находишь в ком­мента­риях к HTML кре­ды, улы­баешь­ся и дума­ешь: «Ну‑ну, что за иди­от оста­вит такое в ком­мента­риях?» Зря раду­ешь­ся, с прак­тикой пой­мешь, что это нечас­то, но слу­чает­ся. Раз­работ­чики нет‑нет да отправ­ляют в про­дак­шен чувс­тви­тель­ную информа­цию. Так дос­тупны­ми ста­новят­ся кон­фиги и мно­го что еще, вклю­чая чувс­тви­тель­ные дан­ные.

Acunetix может най­ти кус­ки исходно­го кода, клю­чи AWS и мно­гое дру­гое. Но совер­шенно не уме­ет искать учет­ные дан­ные либо дела­ет это очень пло­хо. Что­бы убе­дить­ся, соз­дай HTML-файл с заг­лушкой, содер­жащей в ком­ментах ключ AWS и любые кре­ды, луч­ше в раз­ных вари­антах написа­ния. Запус­ти про­ект через Docker Compose и выпол­ни ска­ниро­вание.

«Окунь» нашел ключ AWS, но в упор не увидел креды, которые подложены
«Окунь» нашел ключ AWS, но в упор не уви­дел кре­ды, которые под­ложены

www

Для тво­его удобс­тва я выложил все ис­ходни­ки в репози­торий на GitHub. Там есть и тес­товые про­екты для «Докера» и фай­лы с кас­томны­ми скрип­тами.

Что­бы научить 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). В этом при­мере нет смыс­ла обра­баты­вать дру­гие ста­тусы.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии