
Пропоную ознайомлювальну статтю з BurpSuite — багатофункціональним кросплатформним проксі-сканером, інструментом тестування веб-сайтів і додатків. У попередній статті я вже розповідав про можливості BurpSuite як інструменту для проведення аудитів кібербезпеки. У цьому матеріалі розгляну базові можливості цього інструменту для тестування на проникнення (pentesting).
BurpSuite існує у 3-х версіях: Community Edition, Professional Edition та Enterprise Edition.
Перша надається безкоштовна і входить у склад ОС Kali Linux. Дві останні версії — платні, надають розширений функціонал, для них необхідно придбати ліцензію.
BurpSuite Professional можна спробувати на безкоштовній основі в рамках випробовувального Trial-періоду. Для цього слід звернутися в технічну підтримку PortSwigger.
Завантажити BurpSuite можна на офіційному сайті. Підтримуються усі платформи: Linux, Windows, MacOS.
При першому запуску програми з’явиться діалогове вікно, де вам запропонують створити постійний або тимчасовий проєкт.
Веб-інтерфейс Burp Suite складний та багатозадачний, має розгорнуту систему керування і складається з наступних вкладок:
Щоби BurpSuite почав працювати в ролі проксі-сканера, необхідно його налаштувати.
Першим ділом треба визначити локальний порт (localhost), на якому працюватие проксі BurpSuite.
Для цього перейти в меню Proxy -> Options ->Proxy Listeners й виставити відповідний номер порту. Режим роботи — Loopback.
Проведемо ряд інших опцій:
Тепер необхідно зв’язати проксі-сканер BurpSuite з вашим інтернет-браузером, наприклад Mozilla Firefox.
Необхідно перейти в Network Settings й вписати в полі Manual Proxy Configurtation потрібний мережевий порт, включивши галочку “Also use this proxy for HTTPS”:
Також у браузері необхідно перейти на сторінку налаштувань about:preferences#privacy й відключити будь-які зайві опції блокування, щоби браузер не заваджав роботі проксі.
Для коректної роботи браузера залишилось встановити спеціальний BurpSuite сертифікат. Його можна завантажити за посиланням http://burp (відкрити у тому ж браузері, до якого прив’язаний Burp):
Далі просто натиснути на напис CA Certificate й зберегти отриманий файл у форматі .cert.
Після цього у налаштування браузера, в менеджері сертифікатів імпортувати сертифікат, відзначивши усі дозвола:
У Chrome або Chromium налаштовуємо сертифікат по тій самі схемі. Скачуємо і зберігаємо за URL-адресою: http://burp сертифікат. Переходимо у налаштування Settings -> Security -> Manange certificates -> Authorities й імпортуємо сертифікт, відзначивши дозвіл “Trust this certificate for identyfying websites”:
Перевірити роботу проксі дуже просто. Відкриваємо у браузері будь-який сайт і йдемо у BurpSuite в меню Target -> Site map — там з’явиться структура каталогів сайту. Ми побачимо кожне з’єднання, яке пройшло через проксі при завантаженні сайту, включаючи навіть з’єднання самого браузера, його плагінів і так далі.
Він дозволяє “прослухати” абсолютно все, що проходить через конкретний порт і браузер. Таким чином можна виявляти різні приховані баги, шпигунські скрипти, шкідливі редиректи і URL-адреси, витоки, вразливості, будь-які несанкціоновані з’єднання та інші підозрілі рухи. Кожен рядок коду, кожен файл і HTTP-заголовок в BurpSuite можна в режимі реального часу проаналізувати у візуальному Render або сирому RAW/HEX вигляді, проінспектувати та протестувати, відшукати на вкладці Issues потенційні вразливості. Причому усе це подається у надзвичайно елегантному, відформатованому вигляді, доступному для експорту. Для дослідника це інструмент №1!
Щоб вимкнути у браузері режим Burp-проксі — достатньо у мережевих налаштуваннях браузера зняти відповідну опцію. Можна також встановити додаток Firefox— FoxyProxy або Proxy SwitchyOmega для Chrome.
Повністю вимкнути порт можна в BurpSuite на вкладці Proxy -> Options знявши галочку Running.
Спробуємо провести найпростішу атаку методом брутфорс-перебору з допомогою інструментів BurpSuite. Однак, зразу зазначу — виконувати його слід тільки на власних сайтах і додатках, а ще краще встановити окрему віртуальну машину VirtualBox з готовими вразливими додатками, наприклад OWASP Broken Web Application Project.
Брутфорс (від англ. bruteforce — груба сила) — це метод перебору даних на базі різноманітних комбінацій літер і символів, з метою підібрати правильне значення, яке прийме система. Для автоматизації атаки усі комбінації попередньо записуються в окремий файл і потім використовуються як словник. Таким чином можна підібрати слабкі логіни та паролі. Захистись від брутфорсу легко — встановити обмеження на кількість запитів в режимі реального часу і неправильних спроб входу (Login Limit Attempts), а також включити капчу і 2FA-авторизацію.
Спробуємо провести брутфорс-атаку на сторінку входу (login page), дотримуючись офіційної документації BurpSuite. Прикладом хай буде свіжовстановлений сайт WordPress з захистом по-замовчуванню та примітивною парою логін/пароль, наприклад admin/qwerty.
Отже, алгоритм дій наступний:
В результаті виконаної операції запуститься потік енумерації — розпочнеться автоматичний перебір пари логін-пароль. Усе відбудиметься в режимі реального часу. Біля кожної комбінації буде інформація по статусу: код відповіді, помилки, довжина переданих даних і т.д. Нижче з’явиться блок з HTTP-заголовками Request/Response (запит/відповідь).
Після того як сканування завершиться, по коду відповіді й заголовкам визначаємо, яка комбінація була вдалою. У моєму випадку, це код 302 (тимчасовий редирект) — він означає, що після підбору логін-пароль система автоматично переспрямувала користувача в адмін-панель WordPress. Решта відповідей з кодом 200 — означають, що користувач після введеної комбінації залишався на тій же сторінці з можливістю спробувати ще раз.
Таким чином, брут спрацював і нам вдалося підібрати вдалу комбінацію та увійту в систему. Типи і налаштування атаки можна змінювати як завгодно. Наприклад, на вкладці Intruder -> Options задати затримку виконання запитів, кількість повторів, задати фільтр по повідомленням і помилкам та таке інше.
Однак, подібне ніколи не пройде на будь-якому сайті з увімкненими модулями безпеки: WAF, Google reCaptcha, 2FA. Тож ніколи не ігноруйте ними.
Фаззінг (від англ. fuzzying) — це техніка автоматизації процесу виявлення помилок, слабких місць або вразливостей системи шляхом надсилання безлічі запитів до електронного ресурсу з різними корисними навантаженнями (payloads), в очікуванні того, що веб-додаток ініціює дію.
Фаззінг можна використовувати як та де завгодно. Ним можна перебирати логіни і паролі, виявляти XSS/SQL/xPath-ін’єкції, LFI/RFI шелли, приховані директорії, файли, URL-адреси та інші вразливості.
У якості експерименту знову використаємо вразливий сайт WordPress.
Отже, алгоритм дій наступний:
Знову спостерігаємо за рядком статусу виконання і сортуємо код відповіді сервера та довжину байтів. У висновку, знайдемо навантаження, яке змогло проексплуатувати вразливість та викликати помилку сервера.
Енумерація — це процес перебору значень, мета якого отримати співпадіння в системі, наприклад отримання імен користувачів або назви компонентів. По-суті, це той самий брутфорс, але з іншими функціями. Маючи точний логін користувача, можна спробувати підібрати пароль до нього.
Проведемо енумерацію користувачів на прикладі WordPress-сайту. Вона є доступною завдяки публічності URL-адрес типуdomain.com/?author=n
, де кожному автору відповідає певний ідентифікатор. Наприклад, якщо ввести domain.com/?author=1
відкриється сторінка одного автора, author=2
— сторінка іншого, і так далі. Таким чином, можна дізнатись конкретні логіни користувачів для входу в систему. Запобігти цьому можна заборонивши доступ до URL-адрес через файл functions.php.
Алгоритм дій:
Сортуємо коди відповідей й у висновку бачимо кількість знайдених користувачів. Залишається подивитись в HTTP-заголовках URL-адресу, щоби дізнатись їхні логіни:
Це далеко не увесь перелік пентестів, які дозволяє проводити Burp Suite. Насправді, їх безліч. Усі вони — цікаві та різноманітні. BurpSuite — це такий-собі конструктор, який дозволяє на базі величезної кількості опцій і шаблонів, а також бази знань, конструювати власні техніки і методики хакерського ремесла, моделювати кіберзагрози і експлуатувати вразливості, створювати й тестувати кібербезпеку на професійному рівні, поєднуючи різні інструменти між собою.
BurpSuite — це бездоганний інструмент пентестера і аналітика, який розкриває колосальні перспективи і безграничні можливості.
Рекомендую не полінуватися і пройти безкоштовні курси від PortSwigger Web Academy та отримати сертифікат майстра BurpSuite — BSCP: https://portswigger.net/web-security
Також на CTF-платформі TryHackMe є чудовий модуль по вивченню BurpSuite: https://tryhackme.com/module/learn-burp-suite
Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!