Добро пожаловать обратно, мои начинающие кибервоины!
В этой серии мы рассмотрим множество способов взлома веб-приложений. Как вы знаете, веб-приложения — это приложения, которые управляют сайтами всех компаний: от сайтов соседей по квартире до сайтов всемогущих финансовых учреждений, управляющих миром. Каждое из этих приложений уязвимо для атак, но не все одинаково.
Burp Suite от Порта Свиггера — универсальный и мощный инструмент для пентестинга веб-приложений. Помимо тестирования аутентификации веб-форм, он также может использоваться для тестирования рандомизации идентификаторов сессий, атак с использованием инъекций, фаззинга и множества других атак. В этой серии статей мы постараемся рассмотреть каждую из этих функций BurpSuite.
Здесь мы будем использовать Damn Vulnerable Web Application (DVWA) на нашей Metasploitable OS или OWASP Broken Web App VM.
Обратите внимание, что атаки с использованием паролей сработают не со всеми веб-формами. Зачастую веб-приложение блокирует вас после нескольких неудачных попыток. Кроме того, для этой атаки необходим хороший список паролей, поскольку приложение перебирает все возможные пароли в поисках совпадений (за исключением перебора паролей методом подбора, который требует много времени и ресурсов). С учётом этого обстоятельства, взлом паролей веб-форм — хорошая отправная точка для взлома веб-аутентификации. Конечно, мы рассмотрим другие способы взлома аутентификации в последующих руководствах.
Мы будем использовать бесплатную версию Burp Suite, встроенную в Kali. Если вы не используете Kali, вы можете скачать её здесь . Эта бесплатная версия имеет ограниченные возможности, которые хорошо подходят для обучения или лабораторных работ, но для реального хакинга вам, вероятно, потребуется версия Pro ($399). Кроме того, убедитесь, что в вашей системе установлен JDK 11 или более поздней версии. BurpSuite — это приложение Java, требующее этой версии JDK для корректной работы.
Шаг 1 : Запустите Kali и DVWA
Начнём с запуска Kali и DVWA на другой системе или виртуальной машине. Затем запустите Burp Suite. Сначала вы увидите экран, как показано ниже. Создать временный проект можно только в Community Edition. Нажмите « Далее » .
Затем выберите « Использовать настройки Burp по умолчанию » и нажмите « Запустить Burp ».
Затем нам нужно нажать на вкладку «Прокси ».
…и включите функцию Intercept . Таким образом, BurpSuite может перехватывать входящий и исходящий трафик сервера.
Шаг 2: Откройте веб - браузер.
Теперь откройте браузер и настройте его на использование прокси-сервера. В Mozilla Firefox перейдите в «Настройки» -> «Сетевые подключения » . Там вы увидите окно, как показано ниже. Настройте прокси-сервер для запросов браузера на порт 8080 по адресу 127.0.0.1.
Обязательно нажмите кнопку «ОК», чтобы браузер сохранил новые настройки.
Шаг №3: Используйте браузер для перехода на сайт DVWA .
После того, как ваша целевая система будет запущена и запустится, откройте браузер и перейдите по IP-адресу системы Metasploitable или виртуальной машины OWASP Broken Web Apps. В любой из систем перейдите к Damn Vulnerable Web App (DVWA).
Попав туда, выберите DVWA, после чего откроется экран входа, подобный показанному ниже.
Здесь я ввёл своё имя пользователя OTW и пароль HackersArise. Вам не нужно вводить правильные учётные данные.
Шаг 4: Перехват запроса на вход в систему
Перед отправкой учётных данных убедитесь, что перехват Burp Suite Proxy включён, а настройки прокси-сервера настроены в вашем браузере. Тогда при отправке запроса прокси-сервер перехватит его, как показано на скриншоте ниже.
Обратите внимание, что мое имя пользователя и пароль находятся в последней строке запроса на вход.
Шаг 5 : Отправьте запрос нарушителю Burp Suite
Далее нам нужно отправить этот запрос нарушителю Burp Suite. Щёлкните правой кнопкой мыши по этому экрану и выберите « Отправить нарушителю » , как показано ниже.
Откроется BurpSuite Intruder. На первом же экране Intruder отобразит IP-адрес цели. Эта информация получена из перехваченного запроса. Если адрес неверный, измените его здесь. Также обратите внимание, что предполагается, что вы используете порт 80. Ещё раз напоминаем, что если вы пытаетесь пройти аутентификацию на другом порту или сервисе, измените его здесь, но BurpSuite обычно справляется с этим правильно.
Затем нажмите на вкладку «Позиции». Будут выделены поля, которые, по вашему мнению, необходимо использовать для взлома этой формы аутентификации.
Поскольку мы хотим задать позиции вручную, нажмите кнопку « Очистить » справа.
В этой попытке мы попытаемся взломать пароль OTW. Предполагается, что нам известно имя пользователя и нужен только пароль (для извлечения имён пользователей с сайтов WordPress отлично подходит wpscan ).
Здесь мы выделим одно поле, которое вы хотите попытаться взломать, а именно пароль, и нажмем кнопку «Добавить» справа.
Шаг 6: Установите тип атаки
Теперь нам нужно задать тип атаки. В BurpSuite Intruder есть четыре типа атак:
1. Снайпер
Один комплект полезной нагрузки. Он нацеливается на каждую полезную нагрузку и размещает каждую полезную нагрузку в каждой позиции.
2. Кассетная бомба
Несколько комплектов полезной нагрузки. Для каждой позиции предусмотрены различные комплекты полезной нагрузки.
3. Вилы
Несколько наборов полезной нагрузки. Для каждой позиции существуют разные наборы полезной нагрузки. Программа одновременно перебирает все наборы полезной нагрузки.
4. Таран
Один комплект полезной нагрузки. Он использует один комплект полезной нагрузки и прогоняет его через каждую позицию.
Более подробное объяснение различий в этих полезных нагрузках см. в документации Burp Suite.
По умолчанию BurpSuite Intruder настроен на « Снайпер », поэтому оставим его таковым и для этой атаки.
Шаг 6: Установка полезных нагрузок
Теперь нам нужно настроить заданную нами полезную нагрузку. Это поля, которые будет атаковать злоумышленник. Выберите набор полезных нагрузок №1 и введите несколько распространённых паролей, которые есть практически в каждой системе, например, «admin», «guest», «systemadmin», «sys», «root», «password» и т. д.
Кроме того, давайте выберем файл top10000_passwords.txt с сайта Hackers-Arise (www.hackers-arise/password-lists). Это 10 000 самых распространённых паролей из даркнет-свалок за последние пару лет. Всегда рекомендуется использовать распространённые пароли при первой попытке взлома паролей в таких формах.
Далее нам нужно нажать на кнопку « Начать атаку » в правом верхнем углу.
Это запустит BurpSuite и попытается войти в ваш DVWA, перебирая все пароли из списка. Обратите внимание на скриншот выше, что статус (302) и длина (558) идентичны для каждой попытки. Нам нужна попытка, у которой статус и длина отличаются от остальных, что будет означать успешный вход.
Шаг №7 : Техника кластерной бомбы
В этом методе мы предположим, что нам неизвестны ни имя пользователя, ни пароль. Нам понадобится две полезные нагрузки: одна — имя пользователя, а другая — пароль. Мы добавим в качестве полезных нагрузок поля имени пользователя и пароля. Также мы установим тип атаки « Кассетная бомба ».
При таком типе атаки BurpSuite перебирает различные комбинации вашего списка в полях имени пользователя и пароля. Это более сложная и трудоёмкая атака, но она необходима, если вы не знаете имя пользователя.
Далее переходим на вкладку «Полезные данные». Выберите набор полезных данных 2 и в раскрывающемся списке « Тип полезной нагрузки» выберите «Подстановка символов» .
При выборе опции «Подстановка символов» BurpSuite «обработает» ваш список паролей, заменив типичные замены букв и цифр (пользователей учат заменять буквы цифрами, чтобы предотвратить атаки по словарю). Как видно ниже, замена символов по умолчанию: a=4, b=8, e=3 и так далее. Это типичная замена, которую используют пользователи, и она должна работать в большинстве случаев, но вы можете настроить или добавить другие замены букв здесь.
Теперь добавьте список паролей, как и в предыдущей атаке, нажав кнопку «Загрузить» слева от окна « Элементы» . Обратите внимание, что вместо 10 000 запросов, как в предыдущей попытке, теперь число попыток превысило 2 миллиарда! Это связано с тем, что каждое слово будет использовано в качестве имени пользователя, а затем каждое слово будет использовано в качестве пароля. Кроме того, этот метод создаст дополнительные пароли и имена пользователей с помощью подстановки символов, которую мы включили выше.
На последнем этапе нажмите « Начать атаку ». Поскольку нам предстоит перебрать 2 миллиарда комбинаций имён пользователей и паролей, это будет утомительно и отнимает много времени. Вот тут-то и проявляется ценность BurpSuite Pro без ограничений!
Как вы можете видеть выше, BurpSuite пробует каждое слово из нашего списка в качестве имени пользователя, а затем пробует каждое слово из нашего списка в качестве пароля.
Как и в предыдущей атаке, мы ищем аномалии в полях статуса и длины. Они часто указывают на успешный вход.
Шаг 8 : Чтение результатов
Здесь важно отметить несколько моментов. Во-первых, столбец статуса. Обратите внимание, что все запросы на скриншоте имеют код «302» или «найдено». Также обратите внимание, что длина всех ответов одинакова (558).
Это сообщение одинаковой длины будет равнозначным ответу на некорректный запрос . Если ответ отличается по длине и коду (200), это требует дальнейшего изучения, поскольку, вероятно, имя пользователя и пароль указаны верно. Вы можете обнаружить эти аномалии, нажав на заголовок «Статус» или « Длина » и отсортировав результаты по этим двум полям, вместо того, чтобы вручную просматривать все 2 миллиарда ответов.
Краткое содержание
BurpSuite — это превосходный и универсальный инструмент, с которым должен быть знаком каждый пентестер/хакер веб-приложений. Здесь мы использовали его для взлома логинов веб-приложений, используя простую и быструю снайперскую атаку против известного имени пользователя и неизвестного пароля, а затем более трудоемкую атаку с использованием кластерной бомбы с заменой символов против неизвестной комбинации имени пользователя и пароля.
В будущих уроках мы будем использовать BurpSuite для дополнительного тестирования на проникновение/взлома веб-приложений, так что возвращайтесь, мои начинающие кибервоины!
В этой серии мы рассмотрим множество способов взлома веб-приложений. Как вы знаете, веб-приложения — это приложения, которые управляют сайтами всех компаний: от сайтов соседей по квартире до сайтов всемогущих финансовых учреждений, управляющих миром. Каждое из этих приложений уязвимо для атак, но не все одинаково.
Burp Suite от Порта Свиггера — универсальный и мощный инструмент для пентестинга веб-приложений. Помимо тестирования аутентификации веб-форм, он также может использоваться для тестирования рандомизации идентификаторов сессий, атак с использованием инъекций, фаззинга и множества других атак. В этой серии статей мы постараемся рассмотреть каждую из этих функций BurpSuite.
Здесь мы будем использовать Damn Vulnerable Web Application (DVWA) на нашей Metasploitable OS или OWASP Broken Web App VM.
Обратите внимание, что атаки с использованием паролей сработают не со всеми веб-формами. Зачастую веб-приложение блокирует вас после нескольких неудачных попыток. Кроме того, для этой атаки необходим хороший список паролей, поскольку приложение перебирает все возможные пароли в поисках совпадений (за исключением перебора паролей методом подбора, который требует много времени и ресурсов). С учётом этого обстоятельства, взлом паролей веб-форм — хорошая отправная точка для взлома веб-аутентификации. Конечно, мы рассмотрим другие способы взлома аутентификации в последующих руководствах.
Мы будем использовать бесплатную версию Burp Suite, встроенную в Kali. Если вы не используете Kali, вы можете скачать её здесь . Эта бесплатная версия имеет ограниченные возможности, которые хорошо подходят для обучения или лабораторных работ, но для реального хакинга вам, вероятно, потребуется версия Pro ($399). Кроме того, убедитесь, что в вашей системе установлен JDK 11 или более поздней версии. BurpSuite — это приложение Java, требующее этой версии JDK для корректной работы.
Шаг 1 : Запустите Kali и DVWA
Начнём с запуска Kali и DVWA на другой системе или виртуальной машине. Затем запустите Burp Suite. Сначала вы увидите экран, как показано ниже. Создать временный проект можно только в Community Edition. Нажмите « Далее » .
Затем выберите « Использовать настройки Burp по умолчанию » и нажмите « Запустить Burp ».
Затем нам нужно нажать на вкладку «Прокси ».
…и включите функцию Intercept . Таким образом, BurpSuite может перехватывать входящий и исходящий трафик сервера.
Шаг 2: Откройте веб - браузер.
Теперь откройте браузер и настройте его на использование прокси-сервера. В Mozilla Firefox перейдите в «Настройки» -> «Сетевые подключения » . Там вы увидите окно, как показано ниже. Настройте прокси-сервер для запросов браузера на порт 8080 по адресу 127.0.0.1.
Обязательно нажмите кнопку «ОК», чтобы браузер сохранил новые настройки.
Шаг №3: Используйте браузер для перехода на сайт DVWA .
После того, как ваша целевая система будет запущена и запустится, откройте браузер и перейдите по IP-адресу системы Metasploitable или виртуальной машины OWASP Broken Web Apps. В любой из систем перейдите к Damn Vulnerable Web App (DVWA).
Попав туда, выберите DVWA, после чего откроется экран входа, подобный показанному ниже.
Здесь я ввёл своё имя пользователя OTW и пароль HackersArise. Вам не нужно вводить правильные учётные данные.
Шаг 4: Перехват запроса на вход в систему
Перед отправкой учётных данных убедитесь, что перехват Burp Suite Proxy включён, а настройки прокси-сервера настроены в вашем браузере. Тогда при отправке запроса прокси-сервер перехватит его, как показано на скриншоте ниже.
Обратите внимание, что мое имя пользователя и пароль находятся в последней строке запроса на вход.
Шаг 5 : Отправьте запрос нарушителю Burp Suite
Далее нам нужно отправить этот запрос нарушителю Burp Suite. Щёлкните правой кнопкой мыши по этому экрану и выберите « Отправить нарушителю » , как показано ниже.
Откроется BurpSuite Intruder. На первом же экране Intruder отобразит IP-адрес цели. Эта информация получена из перехваченного запроса. Если адрес неверный, измените его здесь. Также обратите внимание, что предполагается, что вы используете порт 80. Ещё раз напоминаем, что если вы пытаетесь пройти аутентификацию на другом порту или сервисе, измените его здесь, но BurpSuite обычно справляется с этим правильно.
Затем нажмите на вкладку «Позиции». Будут выделены поля, которые, по вашему мнению, необходимо использовать для взлома этой формы аутентификации.
Поскольку мы хотим задать позиции вручную, нажмите кнопку « Очистить » справа.
В этой попытке мы попытаемся взломать пароль OTW. Предполагается, что нам известно имя пользователя и нужен только пароль (для извлечения имён пользователей с сайтов WordPress отлично подходит wpscan ).
Здесь мы выделим одно поле, которое вы хотите попытаться взломать, а именно пароль, и нажмем кнопку «Добавить» справа.
Шаг 6: Установите тип атаки
Теперь нам нужно задать тип атаки. В BurpSuite Intruder есть четыре типа атак:
1. Снайпер
Один комплект полезной нагрузки. Он нацеливается на каждую полезную нагрузку и размещает каждую полезную нагрузку в каждой позиции.
2. Кассетная бомба
Несколько комплектов полезной нагрузки. Для каждой позиции предусмотрены различные комплекты полезной нагрузки.
3. Вилы
Несколько наборов полезной нагрузки. Для каждой позиции существуют разные наборы полезной нагрузки. Программа одновременно перебирает все наборы полезной нагрузки.
4. Таран
Один комплект полезной нагрузки. Он использует один комплект полезной нагрузки и прогоняет его через каждую позицию.
Более подробное объяснение различий в этих полезных нагрузках см. в документации Burp Suite.
По умолчанию BurpSuite Intruder настроен на « Снайпер », поэтому оставим его таковым и для этой атаки.
Шаг 6: Установка полезных нагрузок
Теперь нам нужно настроить заданную нами полезную нагрузку. Это поля, которые будет атаковать злоумышленник. Выберите набор полезных нагрузок №1 и введите несколько распространённых паролей, которые есть практически в каждой системе, например, «admin», «guest», «systemadmin», «sys», «root», «password» и т. д.
Кроме того, давайте выберем файл top10000_passwords.txt с сайта Hackers-Arise (www.hackers-arise/password-lists). Это 10 000 самых распространённых паролей из даркнет-свалок за последние пару лет. Всегда рекомендуется использовать распространённые пароли при первой попытке взлома паролей в таких формах.
Далее нам нужно нажать на кнопку « Начать атаку » в правом верхнем углу.
Это запустит BurpSuite и попытается войти в ваш DVWA, перебирая все пароли из списка. Обратите внимание на скриншот выше, что статус (302) и длина (558) идентичны для каждой попытки. Нам нужна попытка, у которой статус и длина отличаются от остальных, что будет означать успешный вход.
Шаг №7 : Техника кластерной бомбы
В этом методе мы предположим, что нам неизвестны ни имя пользователя, ни пароль. Нам понадобится две полезные нагрузки: одна — имя пользователя, а другая — пароль. Мы добавим в качестве полезных нагрузок поля имени пользователя и пароля. Также мы установим тип атаки « Кассетная бомба ».
При таком типе атаки BurpSuite перебирает различные комбинации вашего списка в полях имени пользователя и пароля. Это более сложная и трудоёмкая атака, но она необходима, если вы не знаете имя пользователя.
Далее переходим на вкладку «Полезные данные». Выберите набор полезных данных 2 и в раскрывающемся списке « Тип полезной нагрузки» выберите «Подстановка символов» .
При выборе опции «Подстановка символов» BurpSuite «обработает» ваш список паролей, заменив типичные замены букв и цифр (пользователей учат заменять буквы цифрами, чтобы предотвратить атаки по словарю). Как видно ниже, замена символов по умолчанию: a=4, b=8, e=3 и так далее. Это типичная замена, которую используют пользователи, и она должна работать в большинстве случаев, но вы можете настроить или добавить другие замены букв здесь.
Теперь добавьте список паролей, как и в предыдущей атаке, нажав кнопку «Загрузить» слева от окна « Элементы» . Обратите внимание, что вместо 10 000 запросов, как в предыдущей попытке, теперь число попыток превысило 2 миллиарда! Это связано с тем, что каждое слово будет использовано в качестве имени пользователя, а затем каждое слово будет использовано в качестве пароля. Кроме того, этот метод создаст дополнительные пароли и имена пользователей с помощью подстановки символов, которую мы включили выше.
На последнем этапе нажмите « Начать атаку ». Поскольку нам предстоит перебрать 2 миллиарда комбинаций имён пользователей и паролей, это будет утомительно и отнимает много времени. Вот тут-то и проявляется ценность BurpSuite Pro без ограничений!
Как вы можете видеть выше, BurpSuite пробует каждое слово из нашего списка в качестве имени пользователя, а затем пробует каждое слово из нашего списка в качестве пароля.
Как и в предыдущей атаке, мы ищем аномалии в полях статуса и длины. Они часто указывают на успешный вход.
Шаг 8 : Чтение результатов
Здесь важно отметить несколько моментов. Во-первых, столбец статуса. Обратите внимание, что все запросы на скриншоте имеют код «302» или «найдено». Также обратите внимание, что длина всех ответов одинакова (558).
Это сообщение одинаковой длины будет равнозначным ответу на некорректный запрос . Если ответ отличается по длине и коду (200), это требует дальнейшего изучения, поскольку, вероятно, имя пользователя и пароль указаны верно. Вы можете обнаружить эти аномалии, нажав на заголовок «Статус» или « Длина » и отсортировав результаты по этим двум полям, вместо того, чтобы вручную просматривать все 2 миллиарда ответов.
Краткое содержание
BurpSuite — это превосходный и универсальный инструмент, с которым должен быть знаком каждый пентестер/хакер веб-приложений. Здесь мы использовали его для взлома логинов веб-приложений, используя простую и быструю снайперскую атаку против известного имени пользователя и неизвестного пароля, а затем более трудоемкую атаку с использованием кластерной бомбы с заменой символов против неизвестной комбинации имени пользователя и пароля.
В будущих уроках мы будем использовать BurpSuite для дополнительного тестирования на проникновение/взлома веб-приложений, так что возвращайтесь, мои начинающие кибервоины!