EartyStudio
Grey Team
Полное руководство на русском языке о Hack The Box Pen-testing Labs
Первая часть - Hack The Box - все об онлайн лаборатории для пентеста, часть 1
Вторая часть - Hack The Box - вторая часть руководства, в которой проанализируем несколько машин из HTB
Всем привет, сегодня мы разберём несколько веб уязвимостей. Эта часть предназначена для самостоятельного обучения. Мы выберем машину для практики веб уязвимостей(OWASP Top 10), и вашей задачей будет изучать и самостоятельно проходить уровни. Подробнее о всех уязвимостях вы можете узнать в официальном pdf файле OWASP Top 10 - 2017:
В случае непонимания уязвимости, я с радостью готов помочь вам. (Не отвечаю, если ответ на ваш вопрос есть в гугле)
На выбор у нас есть 3 площадки:
BWAPP
Моя любимая площадка. Именно её я выбрал, когда обучался использовать веб уязвимости. Позже я объясню почему.
DVWA
Площадку создали британские специалисты. Очень схожий функционал с BWAPP. Ещё мне очень понравилась их страница wiki: ethicalhack3r/DVWA.
Mutillidae
Созданная платформа специалистом по ИБ. Сам создал эту платформу. Хорошо читаемый и закомментированный код позволяет новичку легко разобраться.
OWASP Top 10
Для начала проведем обзор этих 10 уязвимостей:
Подробнее вы можете посмотреть информацию о всех уязвимостях OWASP тут:
Мы рассмотрим установку и настройку площадки BWAPP, после чего пройдём несколько уровней.
Установка и настройка BWAPP.
У нас есть 2 варианта установки этой площадки:
Установка на локальный сервер
Мы будем использовать XAMPP. Сейчас это одна из самых лучших программ. Если у вас есть свой локальный сервер, то можете пропустить эту часть.
Ссылка на официальный сайт XAMPP:
У вас откроется такое окно. Теперь в меню пуск у вас есть папка XAMPP. В ней будет XAMPP htdocs folder. Вам нужно нажать на нее.
Все это нужно удалить. После этого вам нужно разархивировать bWAPP в эту папку. Получится так.
После этого вы должны зайти в bWAPP → admin → settings.php. И открыть через текстовый редактор.
Сделайте все так. После этого входите в панель XAMPP и нажимаете MySQL → Config.
И вписываете там эту строку, после чего сохраняете.
После чего в браузере переходим по ссылке:
Появится такая страничка:
Нажмите на кнопку HERE. Установка на локальный сервер закончена.
Запуск и использование:
Чтобы использовать площадку перейдите по ссылке
Установка виртуальной машины bee-box
Чтобы установить bee-box вам потребуется установленный VirtualBox.
Скачиваем bee-box:
Установка:
Запускаем VirtualBox и жмем Создать.
В открывшемся окне пишем название машины. Выбираем тип → Linux, версия → Ubuntu. Жмём далее.
Количество оперативной памяти выбираем до 512 мб. Большее количество ничего не даст, а только замедлит ваш компьютер. Жмём далее.
Нажимаем на жёлтую папку.
Жмём на добавить, после чего выбираем скачанный виртуальный диск bee-box.vmdk. Жмём кнопку выбрать → создать.
На этом установка завершена.
Запуск и использование:
Заходим в терминал.
Командой ip a узнаем ip машины
На основной машине введите в адресную строку ip адрес
Проходим несколько первых уровней
Выбор нужного уровня и сложности
Уровень можно выбрать из выпадающего меню под названием “Choose Your Bug”, после чего надо нажать кнопку Hack, чтобы приступить к уровню.
У bWAPP есть 3 уровня сложности: low, medium, high. Изменить уровень сложности можно выбрав его и нажав кнопку Set в определенном уровне.
HTML Injection - Reflected (POST)
Для того чтобы провести эту уязвимость на уровне low, вам достаточно написать любой исполняемый код, и он будет выполнен из-за отсутствия фильтрации. В картинке выше, я написал простейший код, который поймет даже новичок. При отсутствии фильтрации, вы даже не представляете, какая угроза светит сайту.
Результат:
XML/XPath Injection (Login Form)
XPath — язык запросов для XML документов, в общем похожий на SQL для баз данных. При уязвимостях на сайте, вы можете залогиниться под любым пользователем, с любым правами.
Вы можете использовать строку 'or'1’=’1 для того, чтобы залогиниться под первым пользователем в файле, где хранятся данные от всех пользователей.
Результат:
CSRF (Change Password)
На данном скриншоте у формы есть уязвимость XSS, теперь сгенерируем ссылку для CSRF уязвимости, чтобы изменить пароль для пользователя. Я вошёл в bWAPP, как bee с паролем bug, теперь мы попытаемся изменить его с помощью межсайтового скриптинга. Данной строкой мы изменяем свой пароль на lol. Отправив такую ссылку пользователю, вы меняете его пароль на свой, что повлечет большие проблемы.
?password_new=lol&password_conf=lol&action=change
Результат:
Изучение кода
Важно!!! Это возможно только при установке bWAPP на локальный сервер.
Изучение кода необходимо для самостоятельного нахождения уязвимостей. Чтобы найти файл с кодом, смотрим на адресную строку и видим, что мы находимся в файле с названием htmli-post.php
Заходим в папку с bWAPP и ищем этот файл.
Теперь ищим в файле функцию фильтрации содержимого. В нашем случае это xss_check_1.
Теперь перейдем к файлу, в котором находятся все функции фильтрации содержимого - functions-external.php.
Теперь, с помощью функции поиска в редакторе кода (обычно вызывается сочетанием клавиш ctrl + f) находим xss_check_1. Тут у нас есть краткая информация о том, что фильтрует функция.
Так, например, вы можете вбить в google: “Как обойти фильтрацию функцией str_replace?”, и пройти уровень.
Задание
Практика нахождения уязвимостей. Вам стоит провести все атаки от A1 до A10. В интернете полно информации о многих уязвимостях, в то время, как о других нет ни слова.
Очень неплохой сайт: https
Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.
На этом заканчивается третья часть. У вас будет большое задание, которое будет достаточно тяжело выполнить. Следующая часть будет выделена уязвимостям OS и их эксплуатации.
Первая часть - Hack The Box - все об онлайн лаборатории для пентеста, часть 1
Вторая часть - Hack The Box - вторая часть руководства, в которой проанализируем несколько машин из HTB
Всем привет, сегодня мы разберём несколько веб уязвимостей. Эта часть предназначена для самостоятельного обучения. Мы выберем машину для практики веб уязвимостей(OWASP Top 10), и вашей задачей будет изучать и самостоятельно проходить уровни. Подробнее о всех уязвимостях вы можете узнать в официальном pdf файле OWASP Top 10 - 2017:
Ссылка скрыта от гостей
.В случае непонимания уязвимости, я с радостью готов помочь вам. (Не отвечаю, если ответ на ваш вопрос есть в гугле)
На выбор у нас есть 3 площадки:
BWAPP
Моя любимая площадка. Именно её я выбрал, когда обучался использовать веб уязвимости. Позже я объясню почему.
DVWA
Площадку создали британские специалисты. Очень схожий функционал с BWAPP. Ещё мне очень понравилась их страница wiki: ethicalhack3r/DVWA.
Mutillidae
Созданная платформа специалистом по ИБ. Сам создал эту платформу. Хорошо читаемый и закомментированный код позволяет новичку легко разобраться.
OWASP Top 10
Для начала проведем обзор этих 10 уязвимостей:
Подробнее вы можете посмотреть информацию о всех уязвимостях OWASP тут:
Ссылка скрыта от гостей
.Мы рассмотрим установку и настройку площадки BWAPP, после чего пройдём несколько уровней.
Установка и настройка BWAPP.
У нас есть 2 варианта установки этой площадки:
- Установка на локальный сервер
- Установка виртуальной машины bee-box
Установка на локальный сервер
Мы будем использовать XAMPP. Сейчас это одна из самых лучших программ. Если у вас есть свой локальный сервер, то можете пропустить эту часть.
Ссылка на официальный сайт XAMPP:
Ссылка скрыта от гостей
У вас откроется такое окно. Теперь в меню пуск у вас есть папка XAMPP. В ней будет XAMPP htdocs folder. Вам нужно нажать на нее.
Все это нужно удалить. После этого вам нужно разархивировать bWAPP в эту папку. Получится так.
После этого вы должны зайти в bWAPP → admin → settings.php. И открыть через текстовый редактор.
Сделайте все так. После этого входите в панель XAMPP и нажимаете MySQL → Config.
И вписываете там эту строку, после чего сохраняете.
После чего в браузере переходим по ссылке:
Ссылка скрыта от гостей
Появится такая страничка:
Нажмите на кнопку HERE. Установка на локальный сервер закончена.
Запуск и использование:
Чтобы использовать площадку перейдите по ссылке
Ссылка скрыта от гостей
, Логин: bee, Пароль: bug.Установка виртуальной машины bee-box
Чтобы установить bee-box вам потребуется установленный VirtualBox.
Скачиваем bee-box:
Ссылка скрыта от гостей
Установка:
Запускаем VirtualBox и жмем Создать.
В открывшемся окне пишем название машины. Выбираем тип → Linux, версия → Ubuntu. Жмём далее.
Количество оперативной памяти выбираем до 512 мб. Большее количество ничего не даст, а только замедлит ваш компьютер. Жмём далее.
Нажимаем на жёлтую папку.
Жмём на добавить, после чего выбираем скачанный виртуальный диск bee-box.vmdk. Жмём кнопку выбрать → создать.
На этом установка завершена.
Запуск и использование:
Заходим в терминал.
Командой ip a узнаем ip машины
На основной машине введите в адресную строку ip адрес
Проходим несколько первых уровней
Выбор нужного уровня и сложности
Уровень можно выбрать из выпадающего меню под названием “Choose Your Bug”, после чего надо нажать кнопку Hack, чтобы приступить к уровню.
У bWAPP есть 3 уровня сложности: low, medium, high. Изменить уровень сложности можно выбрав его и нажав кнопку Set в определенном уровне.
HTML Injection - Reflected (POST)
Для того чтобы провести эту уязвимость на уровне low, вам достаточно написать любой исполняемый код, и он будет выполнен из-за отсутствия фильтрации. В картинке выше, я написал простейший код, который поймет даже новичок. При отсутствии фильтрации, вы даже не представляете, какая угроза светит сайту.
Результат:
XML/XPath Injection (Login Form)
XPath — язык запросов для XML документов, в общем похожий на SQL для баз данных. При уязвимостях на сайте, вы можете залогиниться под любым пользователем, с любым правами.
Вы можете использовать строку 'or'1’=’1 для того, чтобы залогиниться под первым пользователем в файле, где хранятся данные от всех пользователей.
Результат:
CSRF (Change Password)
На данном скриншоте у формы есть уязвимость XSS, теперь сгенерируем ссылку для CSRF уязвимости, чтобы изменить пароль для пользователя. Я вошёл в bWAPP, как bee с паролем bug, теперь мы попытаемся изменить его с помощью межсайтового скриптинга. Данной строкой мы изменяем свой пароль на lol. Отправив такую ссылку пользователю, вы меняете его пароль на свой, что повлечет большие проблемы.
?password_new=lol&password_conf=lol&action=change
Результат:
Изучение кода
Важно!!! Это возможно только при установке bWAPP на локальный сервер.
Изучение кода необходимо для самостоятельного нахождения уязвимостей. Чтобы найти файл с кодом, смотрим на адресную строку и видим, что мы находимся в файле с названием htmli-post.php
Заходим в папку с bWAPP и ищем этот файл.
Теперь ищим в файле функцию фильтрации содержимого. В нашем случае это xss_check_1.
Теперь перейдем к файлу, в котором находятся все функции фильтрации содержимого - functions-external.php.
Теперь, с помощью функции поиска в редакторе кода (обычно вызывается сочетанием клавиш ctrl + f) находим xss_check_1. Тут у нас есть краткая информация о том, что фильтрует функция.
Так, например, вы можете вбить в google: “Как обойти фильтрацию функцией str_replace?”, и пройти уровень.
Задание
Практика нахождения уязвимостей. Вам стоит провести все атаки от A1 до A10. В интернете полно информации о многих уязвимостях, в то время, как о других нет ни слова.
Очень неплохой сайт: https
Ссылка скрыта от гостей
Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.
- Какая самая популярная уязвимость по топу OWASP?
- Как определить, является ли приложение уязвимым?
- Как предотвратить атаку на приложение?
- Что такое XSS атака?
- Что такое XXE?
На этом заканчивается третья часть. У вас будет большое задание, которое будет достаточно тяжело выполнить. Следующая часть будет выделена уязвимостям OS и их эксплуатации.