Scanning web application with Burp Suite

Burp Suite – це так звана платформа, в якій можна проводити аудит безпеки веб-додатків. Він містить безліч інструментів для складання карти всього веб-застосунку, пошуку файлів і папок, модифікації запитів, фазінгу, підбору паролів і багато іншого. Також існує в нього свій магазин різних доповнень BApp store, що містить додаткові розширення, що збільшують функціонал програми. Хочу ще додати про появу в останньому релізі мобільного помічника для проведення досліджень безпеки мобільних додатків — MobileAssistant.

TOOLS FOR FIND VULNERABILITY

Логин Свят

1/4/20232 min read

Що таке Burp Suite?

Burp Suite – це так звана платформа, в якій можна проводити аудит безпеки веб-додатків. Він містить безліч інструментів для складання карти всього веб-застосунку, пошуку файлів і папок, модифікації запитів, фазінгу, підбору паролів і багато іншого. Також існує в нього свій магазин різних доповнень BApp store, що містить додаткові розширення, що збільшують функціонал програми. Хочу ще додати про появу в останньому релізі мобільного помічника для проведення досліджень безпеки мобільних додатків — MobileAssistant.

Якщо брати статистику за репортами bug-bounty, то практично скрізь на всіх скріншотах можна побачити використання саме цього інструменту. На рівні з OWASP ZAP це найпопулярніший набір утиліт для тестування веб-сайту.

Burp Suite має дві версії Professional і Free

Відмінності по функціоналу цих версіях досить істотні. Free версія є повноцінним інструментом тестування, але одна з головних відмінностей, це відсутність сканера цієї версії та обмеження кількості запитів за одиницю часу. Також у безкоштовній версії відсутні вбудовані пейлоади для інтрудера, але якщо вони вам потрібні, то можна використовувати зовнішні. Ну ще можна додати обмеження і з використання дозволів з магазину BApp Store.

Основний функціонал у модулях:

1) Proxy - сніфер проксі-сервер, що працює за протоколом HTTP(S) в режимі man-in-the-middle. Перебуваючи між браузером і веб-додатком, він дозволить вам перехоплювати, який можна не тільки вивчати, але й змінювати трафік, що йде в обох напрямках.

2) Spider – павук або краулер, який дозволяє вам в автоматичному режимі збирати інформацію про архітектуру веб-програми.

3) Scanner - автоматичний сканер вразливостей включає OWASP TOP 10 та інші. Доступний лише у Professional версії.

4) Intruder - утиліта, що дозволяє автоматичному виробляти атаки різного виду, такі як підбір пароля, перебір ідентифікаторів, фазинг тощо.

5) Repeater - утиліта для модифікування та повторного відправлення окремих HTTP-запитів, також необхідний проведення аналізу відповідей докладання.

6) Sequencer - утиліта для аналізу генерації випадкових даних програми, виявлення алгоритму генерації, передиктивності даних.

7) Decoder – утиліта для ручного або автоматичного перетворення даних веб-додатку.

8) Comparer - утиліта виявлення відмінностей у даних.

9) Extender - тут ви можете розширювати можливості свого Burp Suite розширеннями. Можна додавати як готові із BApp store, так і власної розробки.

А тепер перейдемо до модуля Scanner. Де і поговоримо докладніше про те, як за допомогою цього модуля можна проводити сканування на такі вразливості як XSS, SQL injaction і т.д. вашого веб-застосунку. Раніше я писав статтю про те, як це робити за допомогою OWASP ZAP.

Щоб почати роботу, необхідно для початку налаштувати проксю в одному з браузерів, щоб програми Burp Suite могло зробити перехоплення запитів які ідуть на сервер з Інтернету. Як це зробити, можете прочитати у статті.

Після налаштування проксі в браузері та програмі, переходимо в браузері на наш веб-додаток. Потім Burp Suite переходимо на вкладку Target->Scope, в якій додаємо нашу мету для проведення аудиту. Для цього потрібно додати в таблицю include in scope наш сайт, натиснувши нопку Paste URL, він туди підтягнеться автоматично.

Якщо вам не підходять стандартні параметри (порт, протокол), додані системою, можете відредагувати свої цілі, вибравши поточну ціль і натиснувши кнопку edit.

Потім треба піти у вкладку Scanner, де будемо налаштовувати наш сканер. Для початку перейдемо в підвкладку Live scanning, де побачимо два блоки:

- Live Active Scanning, у цьому моді сканування Burp приймає індивідуальний запит до додатку, званий «базовим запитом», та змінює його різними способами, призначеними для запуску поведінки, які будуть вказувати на наявність різних уразливостей. Ці змінені запити надсилаються до програми, і отримані відповіді аналізуються. У багатьох випадках подальші запити будуть надсилатися, ґрунтуючись на результатах початкових зондів. Виставляємо значення Use suite scope, що означає брати скоуп завдань, заданих з вкладки Target->Scope.

- Live Passive Scanning, У цьому моді сканування Burp не відправляє жодних нових запитів у додаток - він просто аналізує вміст існуючих запитів та відповідей, знаходячи у них уразливості.

Цей пасивні методи може знайти такі види уразливостей:

- Передача паролів

- Небезпечні атрибути cookie, такі як відсутність HttpOnly та безпечних прапорів

- Ліберальний обсяг файлів cookie

- Міжменний скрипт, включаючи і витік Referer

- Форми з автозаповненням

- Кешування вмісту в SSL

- Подані паролі повертаються у наступних відповідях

- Небезпечна передача сесійних токенів

- Витік інформації, такий як внутрішні IP-адреси, адреси електронної пошти, сліди стека і т.д.

- Небезпечна конфігурація ViewState

- Неоднозначні, неповні, неправильні чи нестандартні директиви Content-type

У цьому блоці вибираємо значення Scan everything, що означає сканувати всі ці вразливості.

Потім переходимо у вкладку Scanner->Options, де задаватимемо конкретики типів уразливостей, які шукатимемо за допомогою сканера.

Після виконання налаштування, перейдемо у вкладку Spider->Control, де включимо активність нашого павука, для запуску в нашу веб-сайт. Для цього треба автивувати його за допомогою кнопки Spider is paused, після чого у нас зміниться назва Spider is running.

Ах, так, треба й павука нашого налаштувати... Для цього переходимо в Spider->Options. Там нам потрібно лише зробити пару правок:

- скасувати в блоці Form submission відправлення даних у форми, якщо, звичайно, нам це не треба

- скасувати в блоці Application Login відправлення даних, задані для авторизації в наш додаток, якщо звичайно нам не треба, якщо треба, то вписуємо у відповідні поля потрібні нам дані для авторизації.

І так тепер у вкладці Proxy->Intercept робимо кнопку в положенні Intercept is off

Тепер спокійно переходьте в браузер, потім перейдіть на ті урли вашого проекту, які ви хочете відсканувати, тобто ті урли, які ви посетите в браузері будуть додані в чергу на пошук вразливостей Burp Suite. Процес сканування ви зможете переглянути у вкладці Scanner->Scan queue

Ну а щоб подивитися які вразливості знайшов сканер на кожній сторінці можна подивитися у вкладці Target->Site map

Також можна запускати активний сканер окремо на якісь модулі, щоб не витрачати годину на очікування, поки просканує повний проект. Для цього нам потрібно просто вибрати в лівому блоці, де знаходиться у нас список ресурсів, потрібний нам модуль для проведення сканінгу та запустити Actively scan this branc

Після цієї дії у нас з'явиться попап, в якому нам треба задати налаштування, такі як:

- чи потрібно сканувати схожі урли

- чи потрібно сканувати ті урли, які вже були проскановані

- чи потрібно сканувати значення без параметрів в урлі

- чи потрібно сканувати переходи за такими типами даних, як зазначені в інпуті нижче

Після здійснення налаштувань запускаємо та спостерігаємо за результатом у Scanner->Scan queue Після того, як виконали роботу, можемо вивантажити звіт з проробленої роботи. Репорт може бути двох форматів HTML та XML. Беріть Html він буде красивішим і швидше згенерований, ніж Xml.

Удачі в пошуках!!!