Burp Suite для пентестинга: Fuzzing с помощью Intruder

Дата: 10.11.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Burp Suite для пентестинга: Fuzzing с помощью Intruder

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

Что такое Fuzzing?

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

Однако инструменты Fuzzer лучше всего подходят для выявления таких уязвимостей, как SQL-инъекция, переполнение буфера, межсайтовый скриптинг, внедрение команд OС.

Как Burp Suite работает в качестве Fuzzer?

Burp Suite имеет встроенный Fuzzer HTML, имеющий название «Burp Intruder». Чтобы сделать возможной атаку с помощью фаззинга, нужно добавить словарь в качестве списка полезной нагрузки. Однако Burp Suite Professional Edition дает пользователям возможность выбрать предопределенные списки полезной нагрузки, содержащие наиболее распространенные строки fuzz в соответствии с типами атак.

Читатели, наверное, не до конца понимают, как осуществляется фаззинг.

Вот несколько простых шагов:

  • Во-первых, нужно перехватить HTTP-запрос, тем самым пользователь поделится им с Intruder.
  • Как только человек это сделает, будут определены параметры или «точки впрыска», где необходимо провести фаззинг.
  • Теперь следует выбрать тип атаки и список полезной нагрузки.

Как только пользователь запустит фаззинг-атаку, нажав на кнопку «Attack», перед его глазами появится экран с указанием всех возможных уязвимостей. Таким образом, он сможет проанализировать их и найти самое слабое место в защите приложения.

Фаззинг с помощью встроенных списков полезной нагрузки Burp

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

Фаззинг учетных данных для входа в систему

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

  1. Фаззинг поля «Пароль» с помощью списка паролей и списка коротких слов.

Нужно открыть Burp Suite, чтобы перехватить запрос, а затем поделиться им с Intruder.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Теперь следует настроить расположение полезной нагрузки и нажать на кнопку «Add». Пользователь может выбрать тип атаки, который определяется тем, как полезная нагрузка будет атаковать точку впрыска.

Расположение полезной нагрузки: 12345 (пароль пользователя).

Тип атаки: «Sniper» (для одной полезной нагрузки).

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Пользователь выберет опцию полезной нагрузки, чтобы создать простой список полезной нагрузки для атаки.

Burp Suite Intruder содержит строки Fuzzing для проверки самых распространённых паролей, поэтому стоит воспользоваться его параметром «Passwords».

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Нужно нажать на кнопку «Attack», чтобы инициировать атаку.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Как только пользователь это сделает, Burp Suite начнет атаку, отправив запросы на ввод правильного пароля для соответствующего имени пользователя.

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

Круто! На приведенном ниже изображении можно увидеть, что с полезной нагрузкой «zombie» пользователь получил результат «302 success».

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Стоит проверить, что все работает: следует использовать данные (bee : zombie) для входа в систему. Пользователь смог авторизоваться.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Бывают случаи, когда пароль, созданный пользователем, отсутствует в списке полезной нагрузки «Password», поэтому в таких случаях человек может использовать другой список Burpsuite, т.е. «короткие слова».

Необходимо захватить HTTP-запрос для пользователя Raj, а затем, таким же образом, поделиться им с Intruder.

Пользователь выбирает расположение полезной нагрузки (123), нажав на кнопку «Add».

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Теперь вместо списка паролей пользователь выбирает список коротких слов.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Следует нажать на кнопку «Add» и проанализировать выходные данные.

Как только пользователь отсортирует варианты по их длине в порядке возрастания, он получит пароль. Это «movie».

Burp Suite для пентестинга: Fuzzing с помощью Intruder

2. Фаззинг поля «Имя пользователя» с помощью списка имен пользователей.

Бывают случаи, когда есть общий пароль, но человек не знает, сколько пользователей установили его для себя. Чтобы решить эту дилемму, burpsuite предлагает использовать еще один большой список полезной нагрузки, который содержит все распространённые имена пользователей.

Нужно открыть Burpsuite и захватить запрос для входа в систему, а затем поделиться им с Intruder. Далее установить параметр «random» для точки впрыска.

К примеру, в данном случае человек угадывает всех возможных пользователей с паролем «admin».

Burp Suite для пентестинга: Fuzzing с помощью Intruder

После определения расположения полезной нагрузки пришло время выбрать список полезной нагрузки «Usernames» из программы.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Пользователь нажмет на кнопку «Attack».

Отлично! Он получил два логина: «ADMIN» и «admin» с паролем «admin».

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Фаззинг для SQL-инъекций

SQL-инъекция – это одна из самых критичных уязвимостей, которые можно выявить. Однако эта уязвимость встречается в основном в полях пользовательского ввода.

Burp Suite предлагает отдельный список полезной нагрузки для фаззинга SQL-инъекций. Общие списки фаззинга («quick» и «full») также включают в себя некоторые полезные нагрузки для SQL-инъекций, внедрения команд ОС, межсайтового скриптинга и многого другого. Поэтому на этот раз пользователь будет использовать полный список («full») Fuzzing, чтобы обойти страницу для входа в систему.

Нужно захватить текущий HTTP-запрос портала test.vulnweb и поделиться им с Intruder.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Пришло время выбрать расположение и тип атаки. Пользователь добавил оба расположения т.е. «uname» и «pass» для фаззинга. Наряду с этим, он выбрал тип атаки «Cluster Bomb», потому что есть два расположения полезной нагрузки.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Учитывая все это, пользователь выбирает полный список Fuzzing для расположения полезной нагрузки номер 1, чтобы найти уязвимость SQL-инъекции в приложении.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Для расположения номер 2 выполняются те же действия.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Круто! На приведенном ниже скриншоте можно увидеть, что пользователь получил несколько успешных ответов.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Теперь нужно проверить первый захваченный ответ в полях входа в систему как username = ‘– и password = ‘.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Замечательно! На приведенном ниже скриншоте можно увидеть, что пользователь успешно обошел ввод учетных данных для входа в систему.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Фаззинг для поиска скрытых файлов

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

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

Нужно открыть панель веб-приложения bWAPP и захватить HTTP-запрос. Потом поделиться им с Intruder.

Burp Suite для пентестинга: Fuzzing с помощью Intruder

Происходит настройка расположения полезной нагрузки как «Portal» и типа атаки как «Sniper».

blank

Теперь нужно выбрать список полезной нагрузки. На этот раз пользователь выбирает «Filename – short». Далее он нажмет на кнопку «Attack», чтобы продолжить.

blank

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

blank

Как только пользователь манипулирует portal.php с помощью secret.php, он попадает на скрытую страницу с надписью: «Your secret: Any Bug?».

blank

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

Теперь вместо коротких имен файлов нужно выбрать длинные в параметрах полезной нагрузки.

blank

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

blank

Далее пользователь будет манипулировать portal.php с помощью captcha.php.

blank

Фаззинг для поиска Restricted File Upload Extensions

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

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

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

Пользователь перейдет к загрузке файла и выберет конкретный файл.

blank

Он захватит запрос таким же образом, как и ранее, и поделится им с Intruder.

blank

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

blank

Пользователь выбирает встроенный список полезной нагрузки. Он выберет «Extensions – short» и нажмет на кнопку «Attack», чтобы начать фаззинг.

blank

Пользователь будет использовать опцию grep, чтобы определить, какие расширения заблокированы, а какие — нет.

Поэтому на вкладке «Параметры» он прокрутит вниз до поля «Grep – Match», удалит все предопределенные ключевые слова и добавит туда «blocked».

blank

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

Как только пользователь нажмет на кнопку «Attack», он будет перенаправлен на следующую страницу, где отображаются выходные данные. Человек дважды щелкнет на разделе «blocked», чтобы отсортировать данные.

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

blank

Фаззинг для Cross-Site Scripting

Cross-Site Scripting, часто сокращаемый как XSS, представляет собой атаку с внедрением кода на стороне клиента, когда вредоносные скрипты вводятся на доверенных веб-сайтах, где входные параметры не были должным образом проверены.

Однако такие атаки довольно сложны. Поэтому для того, чтобы облегчить этот процесс, стоит использовать некоторые инструменты фаззинга. Пользователи могут рассчитывать на вкладку Intruder в BurpSuite.

Нужно включить свой прокси-сервис и захватить текущий HTTP-запрос с помощью опции перехвата Burp Suite, а затем поделиться всем этим с Intruder.

blank

Теперь следует настроить входные параметры: пользователь нажмет на кнопку «Add», чтобы выбрать расположение полезной нагрузки для «ignite», и установит тип атаки как «Sniper».

blank

Пришло время выбрать список полезной нагрузки: пользователь нажмет на кнопку «Add» и будет прокручивать список вариантов до тех пор, пока вы не увидит опцию «Fuzzing – XSS». Далее он нажмет на кнопку «Attack», чтобы запустить фаззер.

blank

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

blank

Круто! Теперь пользователь откроет любой вариант в браузере, чтобы проверить, был ли осуществлен ответ. Все работает!

blank

Фаззинг для внедрения команд ОС

Внедрение команд ОС или инъекция Shell – это уязвимость, при которой злоумышленник пытается выполнять произвольные команды непосредственно через уязвимое приложение, чтобы получить информацию о веб-сервере или завладеть несанкционированным доступом к серверу.

Однако предопределенного списка для внедрения команд ОС не существует, но все же пользователь может использовать список Fuzzing all-in-one, то есть провести «Fuzzing- quick»

Как и ранее, пользователь захватит запрос и поделится им с Intruder.

blank

Далее, он выберет точку впрыска как «www.nsa.gov», нажав на кнопку «Add», и установит тип атаки как «Sniper».

blank

Пользователь выбирает самый маленький и мощный список, чтобы фаззировать эту точку. Нажав на кнопку «Attack», он начинает атаку.

blank

Через несколько секунд он получает результат. Нужно изменить параметр длины, выстроив варианты в порядке уменьшения, чтобы проанализировать ответы.

Ну вот, полезная нагрузка «;id» работает здесь идеально.

blank

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

blank

Фаззинг для поиска скрытых каталогов

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

Однако найти эти каталоги невооруженным глазом практически невозможно. Поэтому, чтобы облегчить работу и сделать эту задачу возможной, burp suite имеет удивительный список полезных нагрузок, который поможет пользователю. Эта атака также известна как брутфорс.

В приложение пользователь помещает случайное ключевое слово, чтобы было легко установить точку инъекции. В данном случае пользователь ввел «abc» после URL-адреса веб-приложения. Далее он захватит запрос и поделится им с Intruder.

blank

Настала пора ключевого слова: пользователь выберет его и нажмет на кнопку «Add».

blank

Время двигаться дальше: пользователь выберет список полезной нагрузки «Dictionary – short» из опции «Add from list».

blank

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

blank

Похоже, что Admin_files – это важный контент. Нужно проверить его в браузере.

blank

Фаззинг для HTTP Verb Tampering

HTTP Verbs в основном используются веб-разработчиками при разработке приложения. Это включают в себя наиболее распространенные методы verb — GET & POST. Но кроме них существует еще целый ряд HTTP-методов, которые, если их использовать в неправильном месте, могут привести к критическим последствиям.

В таких атаках злоумышленник манипулирует HTTP-методом, который был настроен разработчиком неправильно.

Таким образом, чтобы сделать эту атаку проще, Burpsuite имеет встроенный список полезной нагрузки со всеми HTTP-методами, интегрированными в него.

Аналогичным образом, как пользователь и делал ранее, он захватил текущий HTTP-запрос и поделился им с Intruder.

blank

Теперь пользователь не будет выбирать расположение полезной нагрузки на входных значениях, а установит его для HTTP-запроса, то есть метод «POST».

blank

Проще всего выбрать список полезной нагрузки как «HTTP-verbs» и нажать на кнопку атаки.

blank

Настало время для анализа: здесь пользователь видит раздел «Status». Он тестирует самый уязвимый веб-сайт.

blank

Теперь нужно проверить ответ, полученный благодаря методу HEAD, поскольку пользователь знает, что запрос с этим методом показывает только часть заголовка и скрывает весь HTML-код внутри него.

blank

Фаззинг для SQL-инъекций

Burp Suite имеет отдельный список полезной нагрузки, специально разработанный для обнаружения уязвимостей SQL. Поэтому пользователь попробует использовать именно его.

Он перехватит запрос и поделится им с Intruder.

blank

Пользователь также выберет точки впрыска («1» и «1»), а затем нажмет на кнопку «Add», чтобы установить их как полезную нагрузку 1 и полезную нагрузку 2 соответственно. Нужно также не забыть выбрать тип атаки как «Cluster Bomb».

blank

Далее пользователь выбирает параметр «Fuzzing – SQL Injection» для полезной нагрузки 1 из предлагаемых вариантов.

blank

А затем он делает это же для полезной нагрузки номер 2.

blank

Прежде чем нажать на кнопку атаки, пользователь определяет параметры Grep Match.

blank

В данном случае пользователь намеренно использовал фразу: «Invalid credentials!», так как это ошибка, возникающая при вводе неправильных учетных данных. Поэтому вместо «Invalid credentials!» стоит ввести тот текст, который отображается как часть сообщения об ошибке, когда пользователю не удается войти в систему.

Теперь можно нажать на кнопку «Attack», чтобы начать атаку. Пользователь получит список всех полезных нагрузок, которые дадут ему возможность осуществить успешный вход в систему.

blank

Пользователь выберет один из предложенных вариантов и проверит его в браузере.

blank

Отлично! Все прошло успешно.

blank

Fuzzing с настраиваемыми списками

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

Однако разработчики Burp suite решили эту проблему, поэтому они разработали кнопку «ADD» с полем ввода, где пользователи могут ввести их полезную нагрузку вместе с предопределенными списками.

Итак, настала пора опять захватить HTTP-запрос и поделиться им с Intruder.

blank

Нужно нажать на кнопку «Add $», чтобы определить точку впрыска.

blank

Сначала пользователь выбирает среди уже готовых списков. В данном примере он использует наиболее подходящий список, то есть «Fuzzing – XSS».

blank

Он добавляет свою собственную индивидуальную полезную нагрузку:

<script>alert(“Ignite Technologies”)</script>

blank

Пришло время найти ее в списке. Стоит также проверить ее работу в браузере.

blank

Все работает! Появляется надпись: «Ignite Technologies».

blank

Инъекция индивидуальных списков полезной нагрузки

Читатели, скорее всего, видели множество списков полезной нагрузки по всему Интернету, поэтому нужно создать отдельную полезную нагрузку и нажать кнопку «Add», чтобы получить ее.

Burp suite дает возможность сделать это.

В левой части экрана над кнопкой «Add» есть еще одна кнопка, которая подписана как «Load». Эта функция в Burp suite помогает пользователям загружать любой список полезной нагрузки для атаки Fuzzing.

blank

Пользователь нажмет на кнопку «Load» и выберет список полезной нагрузки, который он хочет фаззировать. 

blank

Как только он это сделает, пустое поле будет заполнено всеми строками, которые находятся в списке.

blank

Пора начинать: пользователь нажмет на кнопку атаки и проанализирует результат, который будет получен.

blank

Отлично! На приведенном ниже скриншоте видно, что полезная нагрузка работает.

blank

Fuzzing: виды атак

Пользователь может использовать разные виды атак, доступные в Burp Suite.

Итак, настало время познакомиться с одной из самых распространенных видов атак – «Cluster Bomb». В данном случае пользователь попытается фаззировать имя пользователя и пароль, введя два разных списка полезной нагрузки соответственно в разные точки инъекции.

Cluster Bomb

Пользователь сперва (как обычно) захватит текущий HTTP-запрос и поделится им с Intruder.

blank

Теперь нужно выбрать расположение полезной нагрузки, определив входные значения таких полей, как логин и пароль, с помощью кнопки «Add$». Далее пользователь выбирает тип атаки как «Cluster Bomb».

blank

Пора заполнить пустое поле списком, включающим все возможные имена пользователей.

blank

Теперь нужны пароли. Итак, стоит выбрать расположение полезной нагрузки номер 2 со всеми возможными паролями, которые могут подходить к именам пользователей.

blank

Как только пользователь нажмет на кнопку «Attack», запустится фаззер. После этого он увидит экран с полученными данными (комбинациями имен пользователей и паролей).

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

При этой атаке первый пароль из списка полезной нагрузки номер 2 будет фаззировать все имена пользователей из списка полезной нагрузки номер 1; аналогично, затем второй пароль снова фаззирует все имена пользователей, и атака продолжается дальше. Каждый последующий пароль из списка полезной нагрузки номер 2 будет фаззировать все имена пользователей из списка полезной нагрузки 1.

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

blank

Battering ram

Тип атаки «Battering ram» популярен среди багхантеров, так как для него требуется все один набор списков полезной нагрузки, чтобы поразить уязвимости в нескольких позициях внутри запроса.

В данном случае один список вводится в разные позиции полезной нагрузки, то есть используется там в нескольких местах внутри запроса.

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

blank

Теперь стоит добавить некоторые полезные нагрузки, указав их в поле ввода. А затем начать атаку, нажав на уже известную читателям кнопку «Attack».

blank

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

blank

Pitchfork

Этот тип атаки полностью отличается от предыдущих, хотя он включает в себя несколько наборов полезной нагрузки и различные точки инъекций. Эта атака не фаззирует, она просто проверяет первую полезную нагрузку из списка полезной нагрузки 1 с первой полезной нагрузкой из списка полезной нагрузки 2. Атака считается успешной, если будут найдены учетные данные.

Нужно попробовать провести эту атаку для вышеупомянутого захваченного запроса, который уже был использован. Следует изменить тип атаки на «Pitchfork» и выбрать расположение полезной нагрузки, после нажав на кнопку «Add».

blank

Пользователь выполняет такие же действия, как и при атаке «Cluster Bomb». Он выбирает набор полезной нагрузки и вводит нужные списки.

blank

Аналогичным образом он установит соответствующую полезную нагрузку в наборе полезной нагрузки 2 для полезных нагрузок из списка 1:

bee : 12345
ignite : ignite
raj : 123
mummy : hacking
user : raj
blank

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

blank

Fuzzing: тип полезной нагрузки

Пользователь уже знает тот факт, что тип полезной нагрузки на вкладке Intruder Burpsuite предназначен для управления и создания полезных нагрузок в соответствии с требованиями человека. Хотя ранее пользователь использовал только простой вариант списка, есть и ряд других списков, которые все еще скрыты от его глаз. Стоит взглянуть на них.

Brute forcer

Иногда люди путают два термина: «fuzzing» и «brute-forcing», однако они отличаются. Burpsuite имеет встроенный тип полезной нагрузки как brute forcer, который принимает входную строку и генерирует полезные нагрузки заданной длины, содержащие все перестановки заданного входного набора символов.

Поэтому на этот раз пользователь не будет указывать какой-либо список полезной нагрузки, а настроит burpsuite таким образом, чтобы он создавал свои собственные полезные нагрузки и вводил их в указанные позиции.

Следует открыть burpsuite и захватить HTTP-запрос, отправленный порталом Mutillidae, и тем самым поделиться им с Intruder.

blank

Теперь пользователь будет фаззировать поле пароля, как он делал это и ранее, выбрав «123» в качестве точки инъекции и установив тип атаки как «Sniper».

blank

Время настроить самый главный параметр: из опции тип полезной нагрузки человек выберет брутфорс, что тем самым заполнит пустое поле ввода.

  • Character Set – это набор символов, которые должны использоваться в полезных нагрузках.
  • Min Length – длина самой короткой полезной нагрузки.
  • Max Length – длина самой длинной полезной нагрузки.

Важно! Общее количество полезных нагрузок будет увеличиваться с увеличением размера набора символов и максимальной длины.

blank

И, наконец, пользователь нажмет на кнопку атаки. Нужно сесть поудобнее и расслабиться, потому что теперь burp suite выполняет свою работу. Он создаст и сопоставит полезную нагрузку с именем пользователя, предоставленным для ввода пароля.

Отлично! На приведенном ниже изображении можно увидеть, что пользователь получил полезную нагрузку как «Аа1» с перенаправлением 302 . Все прошло успешно!

Теперь пользователь перейдет в верхнюю часть вкладки Intruder и выберет там опцию «Attack». Он нажмет на кнопку «Pause», чтобы приостановить fuzzer.

blank

Character Frobber

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

Однако если пользователь попытается манипулировать символами строки вручную, это может занять несколько недель, а то и месяцев, чтобы он смог откопать подлинный запрос. Таким образом, чтобы облегчить работу, burpsuite имеет удивительный тип полезной нагрузки под названием: «Character Forbber», который изменяет значение каждой позиции символа в существующей базовой строке, увеличивая код конкретного символа ASCII на единицу.

Теперь пользователь откроет приложение Mutillidae и в левой части панели мониторинга перейдет по следующему пути: OWASP 2017 > Broken Authentication & Session Management > Privilege Escalation > Via CBC — Bit Flipping. Таким образом, он захватит запрос.

blank

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

Теперь, как только человек перехватит текущий HTTP-запрос, он сразу же отправит его в Intruder для дальнейшей обработки.

blank

Нужно выбрать расположение полезной нагрузки для этого запроса.

blank

Время настройки: пользователь выбирает тип полезной нагрузки как  «Character frobber», в меню «Operate on» ему подходит вариант «Base value of payload position».

blank

Теперь он делает эту атаку более понятной с помощью опции «Grep Extract»: это поможет пользователю определить, какая строка полезной нагрузки относится к каждому из идентификаторов приложения.

Поэтому на вкладке «Options» пользователь прокрутит вниз до поля «Grep – Extract», установит флажок возле пункта: «Extract the following items from responses» и нажмет на кнопку «Add».

blank

Пользователь будет перенаправлен в новое окно, нажмет на кнопку «Fetch response» и найдет там «Application ID». Далее он получит выходные данные и нажмет на «OK». В данном случае это «A1B2».

blank

Вот оно! Пользователь нажмет на кнопку атаки и запустит фаззер (вместо идентификатора приложения он может выбрать идентификатор пользователя или идентификатор группы).

blank

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

В выходных данных человек может заметить, что полезные нагрузки похожи друг на друга, но происходит постепенное добавление символов.

blank

Numbers

Как и брутфорс, этот тип полезной нагрузки специально разработан для чисел. Многие багхантеры любят этот тип полезной нагрузки, поскольку он значительно помогает им при проведении атак типа OTP Bypass.

Хотя способ применения этой полезной нагрузки не меняется, независимо от того, использует ли пользователь ее для OTP Bypass или входа в систему с помощью брутфорс.

Итак, стоит разобраться в работе этого типа полезной нагрузки, захватив текущий HTTP-запрос страницы входа в систему.

blank

Как только пользователь поделится им с Intruder, ему, таким образом, нужно будет выбрать расположение полезной нагрузки. Здесь следует отметить поле пароля и установить тип атаки как «Sniper».

blank

Пользователь выбирает «Numbers» из предоставленных типов полезной нагрузки и дополнительно настраивает следующие параметры в соответствии с его требованиями.

From – фаззинг начнется с этой полезной нагрузки.

To – и закончится этой полезной нагрузкой.

Steps – указывает на итерацию, в данном случае пользователь установил ее на «1», то есть следующая полезная нагрузка после 100 будет 101, 102, 103 и так далее. Если пользователь установит ее на «2», то следующая полезная нагрузка после 100 будет 102, 104, 106 с шагом 2.

blank

Как только пользователь настроил все эти параметры, он нажмет на кнопку атаки и будет ждать результат. Через несколько минут он получит перенаправление 302 на 123.

blank

Case Modification

Иногда бывает трудно определить, в какой сase пользователь добавил свой пароль. Таким образом, чтобы решить эту дилемму, burp suite имеет встроенный в себя тип полезной нагрузки, который регулирует cases (нижние и верхние) базового значения и создает полезные нагрузки внутри них.

Однако это касается не только паролей, бывают случаи, когда разработчик блокирует некоторые конкретные случаи (cases) для полей ввода.

Настала пора захватить запрос и проверить все на практике.

blank

Читатели уже знают, что следует делать дальше: пользователь выбирает позицию полезной нагрузки и «Sniper» в качестве типа атаки для нее.

blank

Пользователь также выбирает «Case modification» из имеющегося списка.

Он заполняет пустое поле скриптом XSS и нажмет на кнопку атаки.

blank

Круто! Полезная нагрузка сработала в нужном месте. Следует сделать щелчок правой кнопкой мыши и выбрать пункт: «Show Response in Browser», чтобы проверить то же самое при работающем Javascript.

blank

Теперь пользователь видит всплывающее окно с надписью «1».

blank

Username generator

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

Поэтому burpsuite имеет еще один тип полезной нагрузки, который сам сгенерирует все возможные имена пользователей и проверит их в соответствии с введенным паролем.

Интересно, как это провернуть?

Сперва нужно захватить запрос со случайным именем пользователя и верным паролем и поделиться всем этим с Intruder.

blank

Теперь пришло время выбрать расположение полезной нагрузки, установить параметр «random» и нажать на кнопку «Add». Далее пользователь выбирает тип атаки как «Sniper».

blank

Пользователь выбирает тип полезной нагрузки как «Username generator» и вводит имя, которое он хочет, для имен пользователей. В данном случае пользователь ввел «Ignite Technologies».

Он также может выбрать максимальное количество полезных нагрузок, то есть имен пользователей. В данном примере пользователь установил это значение равным 50.

blank

Как только пользователь нажмет на кнопку атаки, fuzzer запустится. Он получит огромное количество имен пользователей, которые упорядочены в список. И нужное имя пользователя, с которым совпадет пароль – «Ignite».

blank

Автор переведенной статьи: Chiragh Arora.

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

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *