Друзья, всех приветствую!
В этой статье мы поговорим о том, как подбирать пароли к учетным записям, сайтам, страницам, аккаунтам с помощью Burp Suite.
Аутентификация лежит в основе защиты приложения от несанкционированного доступа. Если злоумышленнику удастся нарушить функцию аутентификации приложения, то он сможет завладеть всем приложением.
В следующем примере демонстрируется техника обхода аутентификации с использованием имитированной страницы входа в систему из учебного инструмента "Mutillidae". Версия "Mutillidae", которую мы используем, взята из проекта OWASP "Broken Web Application Project". Скачать проект BWAP вы можете здесь.
Во-первых, убедитесь, что Burp Suite правильно настроен в вашем браузере. Во вкладке Burp Proxy убедитесь, что "Перехват выключен" ("Intercept is off") и посетите страницу входа (login page) в WEB-приложение, которое вы тестируете в вашем браузере.
Вернитесь в Burp Suite. На вкладке Proxy "Intercept" убедитесь, что "Intercept is on".
В браузере введите произвольные данные на странице входа и отправьте запрос.
Перехваченный запрос можно просмотреть на вкладке Proxy "Intercept". Щелкните правой кнопкой мыши на запросе, чтобы вызвать контекстное меню. Затем нажмите "Send to Intruder".
Перейдите на вкладку Intruder "Positions". Очистите предварительно установленные позиции, используя кнопку "Clear" справа от редактора запросов. Добавьте значения параметров "username" и "password" в качестве позиций, выделив их и используя кнопку "Add". Измените атаку на "Cluster bomb", используя выпадающее меню "Attack type".
Перейдите на вкладку "Payloads". В настройках "Payload sets" убедитесь, что "Payload set" равен "1", а "Payload type" установлен на "Simple list". В настройках "Payload options" введите несколько возможных имен пользователей. Вы можете сделать это вручную или использовать предварительно установленный список username.
Затем в настройках "Payload Sets" измените значение параметра "Payload" на "2". В настройках "Payload options" введите несколько возможных паролей. Вы можете сделать это так же вручную или использовать предварительно установленный список паролей. Далее нажмите кнопку "Начать атаку".
В окне "Intruder attack" вы можете сортировать результаты, используя заголовки столбцов. В данном примере сортировка производится по длине ("Content-Length") и по статусу.
Теперь таблица предоставляет нам некоторые интересные результаты для дальнейшего исследования. Просматривая ответ в окне атаки, мы видим, что запрос 118 вошел в систему под именем "admin".
Чтобы подтвердить успешность "брутфорса", используйте имя пользователя и пароль на странице входа в веб-приложение.
В некоторых случаях перебор на странице входа в систему может привести к тому, что приложение заблокирует учетную запись пользователя. Это может быть связано с политикой блокировки, основанной на определенном количестве неудачных попыток входа в систему и т.д. Хотя такая политика разработана для защиты учетной записи, она может привести к дополнительным уязвимостям. Злоумышленник может заблокировать несколько учетных записей, лишив пользователей доступа к ним. Кроме того, заблокированная учетная запись может вызвать изменения в "поведении" web-приложения, и это поведение должно быть изучено и потенциально использовано.
Всем спасибо за внимание!
Подписывайтесь на меня в соц. сетях, буду всем рад!
Комментарии (18)
BasicWolf
23.08.2022 21:38+1Взрыв из прошлого. Как-будто вернулся в начало 2000-х и открыл свежий номер "Хакера".
pae174
23.08.2022 22:32+2Вот вы тут глумитесь, а у меня в логах тучи мамкиных хакеров брутят пароли WP, которой на сервере вообще нет. То есть какие-то странные толпы народу спокойно раз за разом запрашивают один и тот же /blog/wp-login.php, каждый раз пихают туда какие-то логины и пароли и даже кукисы с хомяка, получают в ответ 404 Not found и ... пытаются снова. Никаких неудобств это не доставляет - в Nginx уже давно добавлено правило специально для этих кретинов.
HappyGroundhog
23.08.2022 22:46+1Ссылка на новую страницу в Академии от разработчиков Burp несёт гораздо больше информации и даже с лабами…
portswigger.net/web-security/authentication/password-based
P.S. Скриншоты 7 летней давности особенно впечатляют, как уже выше указали)
Даже на оригинальной странице висит плашка «This page may be out of date»
agratoth
Столько телодвижений для простого брутфорса? Зачем возиться с целой "suite", если это все можно сделать примитивным скриптом на Python?
Vest
И быть забаненым по айпишнику через 5 попыток.
agratoth
И как эту проблему решает софт из сабжа? Мб, никак?
Vest
Не знаю за что вы меня минусуете, но ни этот софт, ни ваш скрипт на питоне не решает эту проблему. А подбирали бы вы пароль на какой-нибудь внутренней системе, то вообще бы залочили бедного пользователя.
agratoth
То был не я, вы обознались :) Я либо минусую, либо вычказываюсь - что-то одно :)
M0r7iF3r
Ну вообще этот софт может решить данную проблему благодаря двум параметрам: "Maximum concurrent requests" и "Delay between requests"
M0r7iF3r
С таким подходом совсем никаким софтом можно не возиться, потому что почти все можно написать на Python.
Сколько времени потребуется чтобы написать скрипт на Python, который запустит простой брут? В Burp это займет секунд 20 и десяток кликов мыши, что позволяет сильно понизить порог входа для всяких тестировщиков.
Здесь просто статья выбрана не очень удачно для демонстрации, хотя бы добавить как предварительно извлечь CSRF-токен, было бы чуть полезнее.