Використовуєте Burp Suite як автоматичний сканер? Ви маєте рацію, навіть деякі пентестери не надають йому переваги через невелику кількість виявлених проблем або вразливостей. Але що, якби сканер Burp міг самостійно ідентифікувати рідкісні вразливості поряд із основними знахідками?
Тож сьогодні у цій статті ми розглянемо один із найпопулярніших плагінів для Burp — «Active Scan++», який інтегрується з двигуном сканера Burp, щоб розширити його можливості та виявити додаткові вразливості в додатку.
Зміст
- Огляд та ініціалізація Active Scan++
- Розширення можливостей аудиту
- Аудит додатка
- Аудит конкретних точок ін’єкції (Injection Points)
Огляд та ініціалізація Active Scan++
Складні вразливості потребують передових методів сканування.
Саме тому Active Scan++ — одне з найпопулярніших розширень для Burp, розроблене Джеймсом Кеттлом (James Kettle) спеціально для користувачів Burp Professional, щоб вдосконалити можливості активного та пасивного сканування.
Цей плагін інтегрується безпосередньо у сканер Burp, допомагаючи виявляти такі проблеми, як: Host Header Attacks (атаки на заголовок Host), Password Reset Poisoning (отруєння запитів на скидання пароля), Cache Poisoning (отруєння кешу), DNS Rebinding, XML Injection, Arbitrary Header Injection (ін’єкція довільних заголовків), Template Injection (ін’єкція шаблонів), Blind Code Injection (сліпа ін’єкція коду) — і цей список можна продовжувати.
Крім того, плагін ідентифікує точки вставки для HTTP Basic Authentication.
Встановлення Active Scan++ із BApp Store
Оскільки цей інструмент настільки ефективний, давайте спочатку знайдемо його в магазині BApp. Ми вже знаємо, куди для цього потрібно перейти. У розділі Extensions (раніше Extender) перейдіть на вкладку BApp store, і ви побачите цей інструмент у верхній частині списку з найвищим рейтингом.

Тепер перейдімо до лівої панелі, щоб знайти кнопку Install. Але зачекайте! Для роботи розширення потрібен Jython, тому спочатку давайте встановимо та налаштуємо його.

Перейдіть на офіційний сайт Jython та завантажте файл Jython Standalone.

Щойно файл буде збережено на вашому локальному комп’ютері, ми підключимо його до Burp Suite. Поверніться до вкладки Extensions (або Extender), перейдіть у розділ Options і прокрутіть вниз до пункту «Python Environment». Натисніть кнопку Select file і виберіть завантажений файл.

Після завершення всіх цих кроків ваш екран виглядатиме приблизно так, як на зображенні нижче. Проте налаштування Jython ще не закінчено: перезапустіть Burp, щоб зміни набули чинності.

Тепер поверніться до BApp Store і відкрийте праву панель Active Scan++. Як бачите на зображенні нижче, кнопка Install тепер активна — натисніть її, щоб розпочати встановлення.

Чудово! Тепер у нас з’явилася кнопка Reinstall — схоже, розширення було успішно встановлено.

Розширення можливостей аудиту
Ви могли подумати: якщо Active Scan++ такий популярний, він мав би мати власну вкладку на верхній панелі, то де ж він?
Як ми вже згадували раніше, Active Scan++ інтегрується безпосередньо у сканер Burp, щоб допомагати йому виявляти додаткові вразливості. Тому окремого розділу для нього немає. Проте ми можемо проаналізувати його роботу під час проведення активного або пасивного сканування.
Отже, давайте подивимося, які додаткові дані він видає, коли ми запускаємо сканування всього додатка.
Аудит додатка
Увімкніть Proxy Service у браузері, а потім перейдіть на вразливий додаток OWASP Mutillidae.

Тепер перейдімо до вкладки Target у Burp Suite, а потім — у розділ Site map.
На лівій панелі відображається ієрархія вебдодатка. Виберіть кореневу гілку (root branch), натисніть на неї правою кнопкою миші та оберіть пункт «Actively scan this branch», щоб відправити додаток на сканування.

Щойно ми це зробимо, завдання з аудиту з’явиться у списку на вкладці «Dashboard».

За кілька хвилин на правій панелі ви побачите перелік виявлених проблем, давайте їх розглянемо.
Більшість із них будуть стандартними знахідками сканера Burp, проте такі вразливості, як Cache Poisoning, DNS Rebinding та Host Header Injection, виявлені саме завдяки Active Scan++.

Аудит конкретних точок ін’єкції
Що, як ви не хочете тестувати всю гілку додатка або навіть окрему сторінку, а хочете провести аудит конкретної точки ін’єкції? Чи буде в такому разі Active Scan++ усе одно співпрацювати зі сканером Burp?
Щойно ми натиснули кнопку інсталяції в BApp store, Active Scan++ миттєво інтегрувався зі сканером Burp. Отже, чи йдеться про аудит усього додатка, чи про конкретну точку ін’єкції — Active Scan++ завжди бере у цьому участь.
Щодо аудиту точок ін’єкції, давайте зробимо це на практиці.
Запустіть додаток bWAPP (логін/пароль bee:bug) і перейдіть на сторінку HTML Injection (Reflected). Далі введіть довільні тестові дані та натисніть кнопку Go, попередньо увімкнувши Proxy Service.

Визначення точок вставки в Burp Intruder
На моніторі нашого Burp Suite ми бачимо перехоплений поточний HTTP-запит — давайте відправимо його в Intruder.

Щойно це зроблено, перейдімо до вкладки Positions у розділі Intruder, щоб встановити точку ін’єкції. Просто очистьте стандартні виділення (кнопка Clear) і додайте те, яке ви хочете, щоб сканер проаудував (кнопка Add).

Що далі? Нам завжди допоможе звичайний правий клік. Тож натисніть праву кнопку миші та оберіть пункт «Scan defined insertion points» (Сканувати визначені точки вставки).
Оскільки ми не видалили попереднє завдання, Burp запропонує два варіанти: або додати цей запит до поточного аудиту, або розпочати новий.
Давайте натиснемо «Open Scan launcher», щоб запустити та налаштувати нове сканування.

Щойно ми це зробимо, перед нами з’явиться вікно з написом «New Scan». Давайте продовжимо зі стандартними налаштуваннями, натиснувши кнопку OK.

Результати сканування та аналіз вразливостей
На зображенні нижче ми бачимо, що наш сканер виявив близько 3 базових та 1 критичну проблему, надіславши понад 250 запитів до обраної точки ін’єкції в додатку.

Час для аналізу. На зображенні нижче ми бачимо, що сканер Burp протестував нашу точку ін’єкції на Cross-Site Scripting (XSS) і надав деталі проблеми разом із корисним навантаженням (payload) для експлуатації та кроками щодо усунення вразливості.
