• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья [2] Burp Suite: Атаки с помощью Intruder

Привет форуму и его жителям. Продолжаем цикл статей о Burp Suite, сразу перейдём к делу.

Отсылка к предыдущим частям:
Одна из основных утилит для тестирования это Burp Intruder. Принцип его работы заключается в следующем: он обрабатывает каждый HTTP-запрос (называемый «базовым запросом»), изменяя параметры различными способами, выдавая каждую измененную версию запроса и анализируя ответы приложения для идентификации интересных функций или поведения веб-приложения.

1550602725524.png


Типы возможных атак зависят от особенностей конкретного приложения и могут включать: проверку на наличие SQL-инъекций, XSS, переполнение буфера, обход директории; bruteforce-атаки по различным схемам аутентификации, перебор значений, манипуляции с содержимым параметров; обнаружение скрытого содержимого и функционала, вычисление идентификаторов сессий и их перехвата, сбор данных, реализация DoS-атак связанных с особенностями веб-приложения.
Для каждой атаки существует возможность указать набор полезных нагрузок (payloads) и их позиции в базовом запросе. Доступны многочисленные методы создания полезных нагрузок (простые списки строк, чисел, дат, брутфорс, битфлиппинг и т.д.).

Intruder - имеет 4 типа настроек, которые мы будем использовать по мере изучения инструмента.

1550602778492.png


Начало работы:
  • Переходим к экрану логина в Mutillidae II, и пробуем осуществить вход, введя любые данные.
1550602793665.png

  • Находим неудачную попытку логина в Proxy|HTTP history, и отправляем её в Intruder.
1550602817191.png


Данные о цели заполняются автоматически:

1550602829697.png


На вкладке Positions мы можем управлять маркерами, определяющими дальнейшие позиции наших полезных нагрузок и типом атаки.
В нашем случае, нажимаем кнопку Clear, чтобы сбросить все позиции и вручную добавить только один, в поле пароля:

1550602855496.png


Далее, переходим на вкладку Payloads, здесь мы можем менять и подставлять любые значения в выбранный маркер для проведения атаки.
Так же вкладка Payloads содержит такие разделы как:
  • Payload Sets (Наборы полезных нагрузок) - Наборы полезных нагрузок позволяет устанавливать количество полезных нагрузок, а также тип. Для наших целей мы будем использовать настройки по умолчанию для Sniper, с типом полезной нагрузки Simple list.
1550602875650.png

  • Payload Options (Настраиваемые параметры) – Здесь мы можем изменить параметры полезной нагрузки, например, загружать словари и значения из других источников и т.д. Так как, наш тип нагрузки – простой список, воспользуемся небольшим словарём от Burp и добавим его значения:
1550602888248.png

  • Payload Processing (Обработка полезных нагрузок) - полезна при настройке специальных правил, которые будут использоваться, когда Intruder заменяет полезные нагрузки на позициях маркеров. В нашем случае оставляем как есть.
1550602904081.png

  • Payload Encoding (Кодирование полезных нагрузок) - применяется к значению полезной нагрузки перед отправкой запроса на веб-сервер. Многие веб-серверы могут блокировать некоторые данные (например, теги <script>), поэтому функция кодирования - это способ обойти любую блокировку из черного списка. Оставляем как есть.
1550602915880.png


И последняя функциональная вкладка в Intruder, это – Options.
Она содержит настройки проводимых атак, связанных с получением ответов от Web-сервера. В частности сообщений, о каких либо ошибках.
Вкладка Options так же состоит из нескольких разделов:
  • Request Headers – Позволяет конфигурировать специальные параметры заголовков, во время проведения атаки. Оставляем по умолчанию.
1550602951211.png

  • Request Engine – Механизм запросов, необходим для того, чтобы тестировщик мог управлять ими при проведении атаки, например, используя вариативные тайминги, регулируя запросы таким образом, чтобы они казались случайными для сетевых устройств. И к тому же, есть возможность уменьшения количества потоков направляемых на целевое приложение.
1550602982688.png

  • Attack Results – После запуска атаки, Intruder создает таблицу атак. Этот раздел предлагает произвести некоторые настройки с ней. Отдельно по каждой опции, можно прочесть в справке Burp Suite.
1550602995380.png

  • Grep - Match - очень полезная функция, которая при включении создает дополнительные столбцы в таблице Attack Results для быстрого выявления ошибок, исключений или даже пользовательских данных в ответе.
1550603011661.png

  • Grep – Extract – Является ещё одним методом добавления столбцов в таблицу атак, чьей задачей является работа со строками в ответе. Этот параметр отличается от Grep -Match, поскольку значения Grep-Extract берутся из фактического HTTP-ответа, а не из произвольной строки.
1550603029316.png

  • GrepPayloads - предоставляет тестировщику возможность добавлять столбцы в таблицу атак, в которых ответы содержат отражения полезных нагрузок.
1550603042727.png

  • Redirections - инструктируют Intruder никогда, условно или всегда следовать перенаправлениям. Это может использоваться при брутфорсе логинов, так как, HTTP – коды класса перенаправлений, сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям. Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.
1550603090418.png


Теперь, когда мы разобрались с Intruder, можем начинать атаку, с выбранными параметрами:

1550603102745.png


Когда процесс атаки начнется, мы получаем таблицу результатов, здесь мы можем увидеть всю подробную информацию – ответы, статусы, возникшие ошибки.
Напомню, что атака производится на один маркер в поле – пароль.

1550603114434.png


Выделенный мной запрос, отличается от других кодом ответа сервера – 302.
Это означает, что произошел редирект на другой URI - символьная строка, позволяющая идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д.

1550603128448.png


И соответственно, в нашем случае, мы совершили успешный логин в Mutillidae II, обновим страницу:

1550603139845.png


В следующем выпуске:
  • Тоже, что-то про атаки на web-приложения с помощью Burp Suite.
Специально для Codeby.net
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!