What is Brute force and how to check for this vulnerability
Brute force - це метод грубої сили, підбір [пароля] методом грубої сили атака, що полягає в пошуку пароля з безлічі всіх його можливих значень шляхом їх повного перебору. Спосіб підбору паролів до комп'ютерної системи, в якому для отримання хешованих паролів використовуються послідовності символів, що автоматично генеруються, тобто перебираються їх всілякі комбінації до тих пір, поки пароль не буде підібраний. При цьому зазвичай враховується найменша та найбільша можлива довжина пароля.
TOOLS FOR FIND VULNERABILITY
Brute force - це метод грубої сили, підбір [пароля] методом грубої сили атака, що полягає в пошуку пароля з безлічі всіх його можливих значень шляхом їх повного перебору. Спосіб підбору паролів до комп'ютерної системи, в якому для отримання хешованих паролів використовуються послідовності символів, що автоматично генеруються, тобто перебираються їх всілякі комбінації до тих пір, поки пароль не буде підібраний. При цьому зазвичай враховується найменша та найбільша можлива довжина пароля.
Hydra —Утиліта для підбору аутентифікаційних даних методом грубої сили (brute force). Burp Suite —це інтегрована платформа для виконання тестів з безпеки веб-додатків. Її різні інструменти ефективно працюють разом для підтримки всього процесу тестування, від складання карти сайту та аналізу поверхні атаки докладання до пошуку та експлуатації вразливостей безпеки.
Команди для роботи з додатком:
R — Відновити попередню перервану/оборвану сесію
s — ПОРТ
l — ЛОГІН (Одиничний)
L — ЛОГІН (Список)
p — ПАРОЛЬ (Одиничний)
P — ПАРОЛЬ (Список)
x — Генерація паролів для брутфорсу, наберіть “-x -h” для допомоги
o — ФАЙЛ f — Вийти, коли пара логін/пароль підібрана
t — ЗАДАЧІ w — ЧАС
F — Елемент, який вкаже на не успішну авторизацію
H — Куки
6. Відкриваємо консольку і починаємо ліпити запит. Послідовність операторів може бути будь-якою. Але я розповім яка у мене послідовність у цьому запиті:
:F- в нього вписати висновок при не валідних даних користувача
:H- кука
7. Тиснемо запуск і чекаємо результатів
Добре, звичайно, було б, якщо нас система заблокує, як робота який намагається зламати систему, але для цього є ми, щоб перевірити на скільки наш проект захищений від таких штук.
Як захиститься:
1. Додати капчу
2. Додати двоетапну автентифікацію
3. Ввести ліміти на надходження запитів із одного IP
И так, с инструментами ознакомились. Теперь давайте приступим к настройке всего флоу, чтоб можно было подобрать нужные нам данные.
1. Для начала подготовим пул данных логинов(мыл) и паролей
2. Откроем наш веб сайт, который мы проверяем в каком либо браузере
3. Включаем Burp Suite
Во вкладке Proxy->Intercept включаем кнопку Intercept is on
У цьому прикладі у нас вона така. Можна взяти навіть частину цього повідомлення, 1 слово припустимо.
5. Повертаємося до Burp Suite і бачимо всі необхідні дані для формування скрипту. Нам потрібні такі типи даних із цього запиту:
- Який тип запиту Post/Get
- Cookie користувача
- Локатори полів введення та кнопки увійти
У вкладці Proxy->Oprions налаштовуємо проксі на додаток і на браузер в якому відкрили сайт, щоб перехопити запит, який піде при спробі увійти.
У вкладку Proxy->Intercept->Raw отримаємо всі дані, передані при спробі авторизації через браузер
4. Йдемо в браузер і робимо якусь авторизацію, яка буде не валідна, тому що нам треба не тільки взяти дані, що передаються відправкою запиту, але й нам потрібно якийсь побачити повідомлення, що авторизація не пройшла, щоб під її підв'язати нашу утиліту Hydra, щоб вона могла розуміти, авторизація пройшла успішно чи ні.
hydra- виклик утиліти
-l або -L логін або їх список
-p або -P пароль або їх список
-f якщо хочете щоб вибір закінчився при першому необхідному збігу
-V показати в реалтаймі як відбувається підбір, який логін до якогось пароля з наданих списків через який протокол та який тип запиту проходить при авторизації в даному випадку протокол http та запит post-form саб домен, у цьому випадку /index/sub/ локатори