Burp Suite: Turbo Intruder

«Turbo Intruder» – це розширення пакету звичайного інтрудеру, який є в burp. Він виконає перебір даних значно швидше і пришвидшить обмеження в безкоштовній версії, де спецом зменшують швидкість, щоб ви купили пакет.

TOOLS FOR FIND VULNERABILITY

Логин Свят

1/3/20232 min read

Burp Suite: Turbo Intruder

Фаззінг – це ваш улюблений тип атаки, але він вам не сподобався через низьку швидкість і високе використання пам’яті під час роботи з великими словниками. Якщо ви користуєтесь безкоштовною версією Burp.

Отже, сьогодні ми будемо досліджуємо один із найшвидших і найнадійніших фаззерів «Turbo Intruder» – це плагін, який розширює можливості звичайного фазеру, не турбуючись про кількість даних, вбудованих у словник.

Що таке Turbo Intruder

Turbo Intruder — одне з найкращих розширень пакету burp, створене «James Kettle» для посилення великої кількості HTTP-запитів і аналізу результатів. Функціональність цього розширення схожа до Burp's Intruder. Так, це фузер. Але оскільки він використовує стек HTTP, деякі функції роблять його дещо іншим і швидшим:

  • Висока швидкість з найменшою затримкою під час фаззингу

  • Низьке використання пам’яті з мільйоном корисних навантажень

  • Настроювані сценарії Python для різних сценарних атак

  • Надійний для багатоденних атак

Burp Intruder проти Turbo Intruder

Без сумніву, вкладка Intruder є найпотужнішою частиною набору Burp. Цей інструмент надає все, що ми хочемо, будь то корисне навантаження чи виявлення помилок, він готовий до використання. Але коли справа доходить до швидкості фаззингу або використання пам’яті, на цьому перевага закінчується. Якщо словник берете з великою кількістю корисного навантаження, то затримка та споживання пам’яті будуть максимальними. Але чому це все відбувається?

Щоб проаналізувати це, нам потрібно зрозуміти механізм, який він виконує під час фаззингу.

Усі основні засоби перебору, створюють рукостискання TCP для одного запиту та надсилають запит на сервер, таким чином сервер чекає та ділиться відповіддю, щойно інструмент отримує відповідь, він зчитує, і те саме повторюється знову . Однак рукостискання займає багато часу, а фази надсилання та читання також мають значну затримку, що створює велике навантаження на ЦП і споживає багато пам’яті, що зменшує швидкість, що призводить до нечіткості.

Але Turbo Intruder відрізняється своєю швидкістю. Він працює на основі старої технології, тобто конвеєрної обробки HTTP , яка спочатку встановлює з’єднання та одночасно надсилає якомога більше можливих запитів, не турбуючись про отримані відповіді, щоб мінімізувати затримку та час обробки сервером.

Установка Turbo Intruder

Знайти цей плагін неважко та встановити його дуже просто, перейдіть на вкладку Extender , а потім виберіть опцію bApp Store у ньому, і як тільки ви прокрутите курсор миші вниз, ви побачите його прямо попереду з рейтингом майже 5 зірок.

Тепер просто натисніть кнопку встановлення в описі, і ми готові до роботи.

Але де він? Чому не вивелась жодної вкладоки?

Давайте перевіримо в розділі «Дія», просто перейдіть в proxy і клацніть правою кнопкою миші, там побачити відправити в Turbo Intruder .

Підбір пароля

Давайте порівняємо два інструмента один із одним Intruder VS Turbo intruder.

Щоб підтвердити та перевірити все, що ми натренділи зверху, давайте налаштуємося на нашу вразливу програму bWAPP і ми захопимо HTTP-запит порталу входу, встановивши ім’я користувача bee та випадковий пароль 1234.

1) Через Burp's Intruder

Після того, як кнопка входу запрацювала, ми отримали запит, перехоплений запит спочатку відправимо в «Intruder» звичайний.

Видаляємо там не потрібні зміні, які інструмент важає, що потрібно перебирати, натиснувши кнопку clear. Потім виділяєте тільки пароль курсором, а потім напискаєте кнопку Add, після чого пароль повинен виділитися символами &1234&.

Тепер час додати наші списки фаззингу. Перейдіть на вкладку «Payload» поруч із «Position» і натисніть кнопку «Paste» , щоб вибрати потрібний список . Список паролів можна взяти тут 10-мільйонний список паролів і додайте в нього bug щоб знайти потрібний пароль .

На зображенні нижче ви можете побачити, що кількість запитів перевищує 100 000, це не мало, але все ж це може допомогти нам визначити швидкість.

Щож давайте тиснути на кнопку start attack і дивитися результат

Тепер, щойно ми натискаємо кнопку Attack, запускається фаззер, і йому знадобилося близько 60+ секунд , щоб виконати близько 80 запитів , тобто близько 1.3 запита на секунду (RPS).

2) Через Turbo Intruder

Давайте спочатку зупинимо Intruder тут і перевіримо, що Turbo Intruder більшу швидкість.

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

Перед нами з’явилося нове вікно. Давайте дослідимо, що воно містить.

Вікно розділено на дві частини: у верхній частині вбудовано наш «спільний запит» , а трохи нижче в іншій частині ми отримали «фрагмент коду Python» .

Однак у розділі «Запит» ми бачимо, що нашу точку впровадження було перетворено на «%s», що вказує на те, куди буде потрапляти корисне навантаження.

А в іншому розділі є розкривний список із кодом Python , який таким чином можна змінити відповідно до сценарію атаки.

Розкривний список містить кілька атакуючих сценаріїв python, які ми можемо використовувати відповідно коли завгодно. Отже, на даний момент давайте скористаємося найпоширенішим сценарієм Turbo Intruder, тобто examples/basic.py

Як тільки ми виберемо його, код python відобразиться на екрані. Подивимося, що там написано:

  1. Сценарій у першому виділеному полі відповідає за швидкість фаззингу та кількість з’єднань, здійснених турбо intruder.

  2. У другому полі нам потрібно додати словник вручну, вказавши його розташування. Вставляємо туди шлях до файлу з паролями.

  3. Третій фрагмент коду це запит, який має відображатися у вихідній таблиці. Тут код «if req.status != 404:» визначає, що всі запити будуть додані до таблиці, які мають код статусу = 404

Натиснемо кнопку Attack , щоб запустити наш фазер. Коли ми це робимо, протягом 64 секунд ми надсилаємо лише 2300 запитів , у результаті чого RPS ( запит за секунду ) дорівнює 36.

Ви можете вже зараз побачити що це набагато швидше ніж стандартний Intruder. Але можна ще швидше.

Усе це через конфігурацію за замовчуванням у сценарії python, оскільки concurrentConnections було лише 5 , а Request per Connection – 100 . Давайте все це змінимо і почнемо атаку знову, для цього натисніть кнопку зупинки та налаштуйте те саме на такі значення:

concurrentConnections=20,

requestperConnetction=200,

А потім запустіть, і ви побачите результат 160 реквестів на секунду.

Fuzz для кількох параметрів

Можливо, ви використовували Cluster Bomb у базовому intruder, який допомагає нам перевіряти програму за допомогою кількох параметрів. Однак таким же чином ми також маємо сценарій python, перерахований у спадному меню, який, таким же чином, надасть нам можливість використовувати fuzz, на декілька параметрів.

Для цього потрібно вибрати сценарій, клацнути на панелі, щоб вибрати examples/multipleParameters.py. А також поставте %s в другий параметр, який означає що там тоже будуть підставлятися дані.


В першому квадраті знаходяться налаштування швидкості атаки. А в другому квадраті вставка словників в зміні параметрів, тут треба вже два словника, шлях до файлів.

Висновки:

Навіть з безкоштовним Burp Suite можна дуже швидко перевіряти свій проект на атаки брут форсу.