Поиск по сайту:

Использование Burp для автоматических атак


Отрыжка

Burp Suite — это многофункциональный инструмент для атаки на веб-приложения, разработанный Portswigger. Он оснащен всем необходимым для успешного пентеста веб-приложения. Burp является наиболее широко используемым тестером и сканером веб-приложений в мире с более чем 40 000 активных пользователей благодаря простому в использовании интерфейсу и глубине. Это уже отличное пентестирование веб-приложения с возможностями, которые можно еще больше расширить, добавив расширения или надстройки, называемые BApps.

Основные функции Burp заключаются в следующем:

  • Возможность перехватывать HTTP-запросы, которые обычно идут от браузера к серверу, а затем сервер возвращает ответ. Это делается с помощью его основной функции под названием «Перехват прокси-сервера». Здесь запрос прерывается на полпути и переходит от браузера пользователя к Burp, а затем к серверу.

  • Возможность сопоставить цель, т. е. веб-приложение, с помощью инструмента "Паук" . Это делается для того, чтобы получить список конечных точек и просканировать их, чтобы найти в них какие-то уязвимости.

  • Инструмент расширенного сканирования веб-приложений для автоматизации задач обнаружения уязвимостей в цели (доступно только в версии PRO).

  • Инструмент Intruder используется для автоматических атак, таких как взлом страницы входа в веб-приложение, атаки по словарю, фаззинг веб-приложения для поиска уязвимостей и т. д.

  • Инструмент «Повторитель» , используемый для манипулирования пользовательскими значениями или запросами и наблюдения за их поведением с целью поиска потенциально уязвимых векторов.

  • Инструмент Sequencer для тестирования токенов сеанса.

  • Инструмент «Декодер» для декодирования и кодирования многочисленных схем кодирования, таких как base64, HEX и т. д.

  • Возможность сохранить работу и возобновить позже (доступно только в версии PRO).

Монтаж

Burp Suite можно загрузить с официального веб-сайта PortSwigger:

https://portswigger.net/burp/communitydownload.

Burp доступен для загрузки практически для каждой операционной системы, включая Windows, Linux и MacOS. Нажав кнопку «Загрузить последнюю версию», вы будете перенаправлены на страницу загрузки с различными выпусками и операционными системами, т. е. Community Edition илиProfessional Edition. Профессиональное издание оплачивается по ценам, указанным на его официальном сайте. Загрузите версию Community, и вы готовы использовать ее основные потрясающие функции.

Применение

Чтобы использовать Burp, его необходимо настроить для перехвата HTTP-запросов. Чтобы настроить браузеры, то есть Chrome, Firefox и т. д., мы должны выполнить шаги, указанные ниже:

Для настройки Chrome для работы с Burp

Чтобы настроить Chrome для работы с Burp, сначала нажмите параметр Настроить в правом верхнем углу окна, затем перейдите к параметру Настройки. В окне настроек выберите Дополнительные настройки, а затем нажмите Изменить настройки прокси-сервера из предложенных вариантов.

Для настройки Firefox для работы с Burp

Чтобы настроить Firefox для работы с Burp, перейдите в меню Firefox в правом верхнем углу окна, выберите параметр Настройки, затем перейдите в раздел кнопкуПараметры. Здесь найдите Сетевой прокси на вкладке Общие. Нажмите Ручная настройка прокси-сервера. Введите адрес прослушивателя, например 127.0.0.1, и порт Burp, например 8080. Удалите все в поле «Без прокси для», и все готово.

Атака грубой силы с использованием Burp

Аутентификация — это процесс проверки того, что правильный человек получает доступ к службе или правильный человек входит в систему, используя различные методы, такие как токены доступа, пароли, ключи и т. д. Использование паролей очень распространено в повседневной жизни. Здесь возникает важность базовой аутентификации, т. е. выбора надежного сложного пароля, потому что к области входа, защищенной слабой аутентификацией, можно легко получить доступ с помощью автоматических атак, таких как атака методом грубой силы, атака по словарю.

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

Давайте рассмотрим сценарий, в котором нам нужно перебрать страницу входа, используя словарь или список слов, содержащий сотни тысяч или миллионы паролей, которые обычно утекают.

Откройте Burp Suite и начните перехватывать трафик, включив Intercept On. Переключитесь в браузер и введите любое имя пользователя или пароль в соответствующие поля, затем нажмите «Войти». Теперь переключитесь на Burp, вы увидите, что трафик был перехвачен на полпути к серверу и вместо этого идет на Burp. Щелкните правой кнопкой мыши и выберите Отправить злоумышленнику из предложенных вариантов.

Теперь переключитесь на вкладку Злоумышленник, и мы увидим несколько вкладок, то есть Позиции, полезные нагрузки, параметры. Нам нужно правильно настроить все параметры на этих вкладках, чтобы позволить Burp делает свою работу и получает желаемый результат.

Позиции

Давайте сначала посмотрим на вкладку «Позиции». Здесь мы сообщаем burp параметры, которые мы хотим атаковать в запросе, то есть поле пароля, поле имени пользователя и т. д.

По умолчанию Burp выделяет некоторые поля, чтобы порекомендовать пользователю, какие поля он может атаковать. Но в нашем случае нам достаточно изменить значение полей имя пользователя и пароль, чтобы они менялись со следующим словом в словаре, через которое мы атаковать в каждом запросе. Для этого нам нужно сначала очистить все выделенные области, нажав кнопку Очистить в правой части окна. Это очистит рекомендуемые выделенные области Burp. Теперь выделите поля имени пользователя и пароля (в нашем случае это «НЕСУЩЕСТВУЕТ» ), а затем нажмите Добавить. Нам также нужно указать тип атаки, который по умолчанию является снайперским, и изменить его на Кассетная бомба.

Полезная нагрузка

Теперь нам нужно установить нашу полезную нагрузку, через которую мы собираемся атаковать эти выбранные поля. Их значения будут изменяться при каждом запросе в соответствии с полезной нагрузкой. Давайте настроим полезную нагрузку для параметра 1, то есть поля имени пользователя. Давайте добавим небольшой список имен пользователей, которые у нас есть в файле. Нажмите «Полезная нагрузка 1» и выберите «Тип полезной нагрузки» как Простой список. В разделе «Параметры полезной нагрузки» нажмите Загрузить и перейдите к нужному файлу со списком слов, затем выберите его. Выбранные значения списка слов будут показаны, как показано ниже.

Теперь, при настройке полезной нагрузки для параметра 2, т. е. поля «Пароль», давайте добавим часто используемый список слов для утекших паролей, т. е. «rockyou.txt», так как в нашем случае у нас есть это в файле. Нажмите «Полезная нагрузка 2» и выберите «Тип полезной нагрузки» как Простой список. В разделе «Параметры полезной нагрузки» нажмите Загрузить и перейдите к нужному файлу со списком слов, затем выберите это. Выбранные значения списка слов будут показаны, как показано ниже.

Параметры

После настройки параметров атаки и списка полезной нагрузки пришло время настроить очень важную опцию под названием «Параметры». На вкладке «Параметры» установлены некоторые правила, сообщающие нам, какой запрос успешен; в нашем случае он покажет, какой пароль сработал. Здесь мы должны настроить кое-что, а именно строку или сообщение, которое будет отображаться при получении правильного пароля, т. е. «Добро пожаловать», «Добро пожаловать на наш портал», «Хорошо вернуться» и т. д. Это зависит от разработчика веб-приложения. Мы можем проверить это, введя любые правильные учетные данные в области входа.

Здесь у нас есть «Добро пожаловать в админку защищенной паролем области». Теперь переключитесь на Burp на вкладке Параметры, найдите Grep Match и напишите здесь следующую строку. Установите флажок Простая строка, и все готово.

Все устроено красиво. Теперь все, что нам нужно сделать, это начать атаку. Перейдите на вкладку Злоумышленник и нажмите Начать атаку. Злоумышленник теперь будет пробовать все возможные комбинации из предоставленных полезных нагрузок.

Мы видим, как Intruder пробует все комбинации, как показано на изображении выше. Мы можем увидеть, был ли запрос успешным или нет, посмотрев на длину запросов. Успешный запрос будет иметь другую длину, чем неуспешный. Еще один способ узнать, успешен ли запрос, — просмотреть вкладку «Добро пожаловать в защищенную паролем область» (т. е. строку, которую мы предоставили ранее на вкладке Параметры). Если маленький флажок отмечен, это означает, что запрос выполнен успешно, и наоборот. В нашем случае успешный запрос имеет длину 4963, а в случае неудачного — 4902.

Атака грубой силы с использованием Burp, с помощью мощного словаря, является очень эффективным и недооцененным методом обхода страниц входа, которые не предназначены для вредоносных объектов. В случае слабого пароля, используемого, простого или короткого пароля это очень эффективная техника.

фаззинг

Фаззинг — это подход, который используется для автоматизации процесса обнаружения ошибок, слабых мест или уязвимостей путем отправки тонны запросов в приложение с различными полезными нагрузками с ожиданием того, что веб-приложение может инициировать действие. Он не является явным для веб-приложений, но также может использоваться в других многочисленных атаках, таких как буферизация, переполнение и т. д. Подавляющее большинство распространенных веб-уязвимостей можно найти с помощью фаззинга, такого как межсайтовый скриптинг XSS, SQL-инъекция, LFI, RFI. , и т. д. Burp действительно мощный, а также лучший доступный инструмент для бесперебойного выполнения работы.

Фаззинг с Burp

Давайте возьмем веб-приложение, уязвимое для SQL Injection, и проверим его с помощью burp, чтобы найти потенциально уязвимые поля.

Запустите Burp и начните перехватывать запрос на вход. Мы увидим кучу данных, щелкните правой кнопкой мыши и выберите параметры Отправить злоумышленнику в данном меню. Перейдите на вкладку Позиции и настройте нужные параметры. По умолчанию Burp выделяет некоторые поля, чтобы рекомендовать пользователю, какие поля он может атаковать. Но в нашем случае нам просто нужно изменить значение полей имя пользователя и пароль . Сначала очистите все выделенные области, нажав кнопку Очистить в правой части окна. Это очистит выделенные области, рекомендованные Burp. Теперь просто выделите поля имени пользователя и пароля и нажмите Добавить. Нам также нужно указать тип атаки и изменить его на Снайпер.

Теперь перейдите на вкладку «Полезные нагрузки», и здесь мы должны установить нашу полезную нагрузку, через которую мы собираемся атаковать эти выбранные поля. Их значения будут изменяться при каждом запросе в соответствии с полезной нагрузкой. Давайте настроим полезную нагрузку для параметра 1 и параметра 2, т. е. полей имени пользователя и пароля соответственно. Burp также имеет широкий спектр полезной нагрузки для различных типов уязвимостей. Мы можем использовать их или создать или загрузить свои собственные в простом в использовании интерфейсе Burp. В этом случае мы собираемся загрузить полезную нагрузку Burp, которая вызовет предупреждение в случае обнаружения уязвимости SQL.

Выберите Простой список в разделе Тип полезной нагрузки. Теперь нажмите «Загрузить» в окне «Параметры полезной нагрузки» . Здесь выберите внедрение Fuzzing-SQL полезную нагрузку из доступных вариантов. Наборы полезной нагрузки используются для определения списка, который вы собираетесь использовать для указанного параметра. В случае, если вы выбираете два вектора атаки (параметры), вы можете установить альтернативный список слов для всех. Точно так же вы можете установить тип полезной нагрузки, такой как изменение регистра, числа, даты и т. д. В этой ситуации базовый список жизненно важен, поскольку мы используем полезную нагрузку Burp по умолчанию.

Теперь перейдите на вкладку Параметры, и вы увидите несколько очень интересных параметров. Например, параметр «Grep» , который можно выбрать для сопоставления ответа на заданные ключевые слова, такие как «SQL». Еще одна интересная опция — параметр Time out , который очень удобен в случае потенциальных брандмауэров веб-приложений. В нашем случае мы отметили опцию «Следовать за перенаправлением», так как у нас есть параметр перенаправления в запросе. Однако время от времени ошибка может возникать дополнительно перед перенаправлением, и тогда обе ошибки можно проверить отдельно.

Теперь все настроено, и злоумышленник Burp готов начать атаку. Нажмите на опцию «Начать атаку» в левом углу и просто подождите, пока атака, которая будет завершена вручную буквально часами, всего за минуту или две. После завершения атаки все, что нам нужно сделать, это внимательно проанализировать полученные результаты. Мы должны искать другое или нечетное значение в столбце length . Также следует искать любые аномалии в коде состояния, так как он также сообщает, какой запрос вызвал ошибку, и наоборот.

При получении нечетного кода состояния или значения длины необходимо проверить окно ответа. В нашем случае мы видим, что 4-й запрос имеет другой код состояния и большее значение длины, чем обычно, и, посмотрев на область ответа, мы увидим, что Burp может обойти область входа, используя значение из полезной нагрузки. Атаку можно считать успешной.

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

Расширения отрыжки

С помощью Burp Extender можно добавить множество полезных расширений Burp для расширения возможностей Burp. Можно написать свой сторонний код или загрузить расширения. Для загрузки и установки расширений в Burp лучше всего использовать BApp Store. Расширения Burp можно использовать по-разному, например, для изменения HTTP-запросов и ответов, настройки пользовательского интерфейса, добавления сканера и проверок во время выполнения и т. д.

BApp Store

BApp Store состоит из расширений Burp, созданных клиентами Burp Suite для расширения возможностей и функций Burp. Вы можете увидеть краткое изложение доступных BApps, представленных явными BApps, и представленные рейтинги клиентов для тех, которые вы представили.

Расширения Burp также можно загрузить с веб-сайта магазина BApp и позже добавить в Burp. Различные BApps или расширения BApp написаны на разных языках, таких как Python или Ruby, и ожидают, что пользователь загрузит Jython или JRuby, чтобы они работали правильно. Затем настройте Burp с каталогом интерпретаторов важных языков. В некоторых случаях для BApp может потребоваться более поздняя форма Burp или альтернативная версия Burp. Давайте посмотрим на некоторые из огромного количества полезных расширений Burp:

Авторизация:

Autorize — очень эффективное расширение, когда необходимо автоматически обнаруживать уязвимости авторизации в веб-приложении. Обнаружение уязвимостей авторизации — очень трудоемкая задача для любого охотника за ошибками или пентестера. В ручном методе нужно каждый раз удалять куки из каждого запроса, чтобы проверить, реализована ли авторизация или нет. Autorize выполняет эту работу автоматически, просто беря файлы cookie пользователя с низким уровнем привилегий веб-приложения, а затем позволяя более привилегированному пользователю перемещаться по нему. Autorize делает это, повторяя каждый запрос с сеансом пользователя с низким уровнем привилегий и начинает обнаруживать уязвимости или недостатки авторизации.

Также можно повторять каждый запрос без предоставленных файлов cookie, чтобы распознавать недостатки аутентификации, а также уязвимости авторизации. Это расширение работает без какой-либо предварительной настройки, но в то же время является легко адаптируемым, позволяя регулировать детализацию условий авторизации утверждения и запрашивать расширение, обязательное тестирование и тому подобное.

По завершении процедуры на экране появятся красный, зеленый и желтый цвета, показывающие «Обход», «Принудительно» и «Принудительно? ? статусы соответственно.

Турбо Злоумышленник

Turbo Intruder — это модифицированная версия Burp Intruder , которая используется, когда требуется максимальная сложность и скорость обработки HTTP-запросов. Turbo Intruder работает быстро, поскольку использует исходный код стека HTTP, расставляя приоритеты и учитывая скорость. Это делает его чрезвычайно быстрым, а иногда даже лучшим вариантом, чем хорошо написанные сценарии GO. Его масштабируемость является еще одним преимуществом, которое связано с его способностью достигать равномерного использования памяти. Turbo Intruder также может работать в среде командной строки. В это замечательное расширение встроен продвинутый алгоритм сравнения, который автоматически отфильтровывает скучный и бесполезный вывод.

Одной из основных атак, в которых можно использовать Turbo Intruder, являются атаки с условиями гонки. Когда система, предназначенная для выполнения задач в определенной последовательности, вынуждена выполнять более одной задачи одновременно, это называется состоянием гонки. В таких сценариях используется Turbo Intruder , так как он может выполнять несколько задач с огромной скоростью. Этот тип атаки может использоваться при наличии уязвимости состояния гонки и может вызывать такие атаки, как погашение нескольких подарочных карт, злоупотребление схожими/непохожими функциями и т. д.

Для отправки HTTP-запроса Turbo Intruder перехватите запрос, затем щелкните правой кнопкой мыши окно, затем выберите параметр Отправить Turbo Intruder из предоставленного списка параметров. Turbo Intruder немного сложнее в использовании, чем стандартный Intruder Burp.

Заключение:

Статьи по данной тематике: