EartyStudio
18.04.2019, 22:31
Полное руководство на русском языке о Hack The Box Pen-testing Labs
Первая часть - Hack The Box - все об онлайн лаборатории для пентеста, часть 1 (https://forum.antichat.xyz/threads/1627307/)
Вторая часть- Hack The Box - вторая часть руководства, в которой проанализируем несколько машин из HTB (https://forum.antichat.xyz/threads/1627309/)
Всем привет, сегодня мы разберём несколько веб уязвимостей. Эта часть предназначена для самостоятельного обучения. Мы выберем машину для практики веб уязвимостей(OWASP Top 10), и вашей задачей будет изучать и самостоятельно проходить уровни. Подробнее о всех уязвимостях вы можете узнать в официальном pdf файле OWASP Top 10 - 2017: https://www.owasp.org/images/9/96/OWASP_Top_10-2017-ru.pdf.
В случае непонимания уязвимости, я с радостью готов помочь вам. (Не отвечаю, если ответ на ваш вопрос есть в гугле)
На выбор у нас есть 3 площадки:
BWAPP
Моя любимая площадка. Именно её я выбрал, когда обучался использовать веб уязвимости. Позже я объясню почему.
DVWA
Площадку создали британские специалисты. Очень схожий функционал с BWAPP. Ещё мне очень понравилась их страница wiki: ethicalhack3r/DVWA.
Mutillidae
Созданная платформа специалистом по ИБ. Сам создал эту платформу. Хорошо читаемый и закомментированный код позволяет новичку легко разобраться.
OWASP Top 10
Для начала проведем обзор этих 10 уязвимостей:
https://forum.antichat.xyz/attachments/29018980/img_ebd0656edc.png
https://forum.antichat.xyz/attachments/29018980/img_3a35b82f1d.png
Подробнее вы можете посмотреть информацию о всех уязвимостях OWASP тут: https://www.owasp.org/images/9/96/OWASP_Top_10-2017-ru.pdf.
Мы рассмотрим установку и настройку площадки BWAPP, после чего пройдём несколько уровней.
Установка и настройка BWAPP.
У нас есть 2 варианта установки этой площадки:
Установка на локальный сервер
Установка виртуальной машины bee-box
Я предпочитаю второй пункт, но мы разберём оба.
Установка на локальный сервер
Мы будем использовать XAMPP. Сейчас это одна из самых лучших программ. Если у вас есть свой локальный сервер, то можете пропустить эту часть.
Ссылка на официальный сайт XAMPP: XAMPP - Бесплатный веб сервер. Скачать XAMPP последнюю версию
https://forum.antichat.xyz/attachments/29018980/img_7dfdea0374.png
У вас откроется такое окно. Теперь в меню пуск у вас есть папка XAMPP. В ней будет XAMPP htdocs folder. Вам нужно нажать на нее.
https://forum.antichat.xyz/attachments/29018980/img_29732f2303.png
Все это нужно удалить. После этого вам нужно разархивировать bWAPP в эту папку. Получится так.
https://forum.antichat.xyz/attachments/29018980/img_762dceb13e.png
После этого вы должны зайти в bWAPP → admin → settings.php. И открыть через текстовый редактор.
Сделайте все так. После этого входите в панель XAMPP и нажимаете MySQL → Config.
https://forum.antichat.xyz/attachments/29018980/img_b321fc9d69.png
И вписываете там эту строку, после чего сохраняете.
https://forum.antichat.xyz/attachments/29018980/img_be33386662.png
После чего в браузере переходим по ссылке: http://localhost/bWAPP/install.php
Появится такая страничка:
https://forum.antichat.xyz/attachments/29018980/img_c577dd19d7.png
Нажмите на кнопку HERE. Установка на локальный сервер закончена.
Запуск и использование:
Чтобы использовать площадку перейдите по ссылке http://localhost, Логин: bee, Пароль: bug.
Установка виртуальной машины bee-box
Чтобы установить bee-box вам потребуется установленный VirtualBox.
Скачиваем bee-box: bWAPP - Browse /bee-box at SourceForge.net
Установка:
Запускаем VirtualBox и жмем Создать.
https://forum.antichat.xyz/attachments/29018980/img_5fc75316fd.png
В открывшемся окне пишем название машины. Выбираем тип → Linux, версия → Ubuntu. Жмём далее.
https://forum.antichat.xyz/attachments/29018980/img_3ec19ffa7e.png
Количество оперативной памяти выбираем до 512 мб. Большее количество ничего не даст, а только замедлит ваш компьютер. Жмём далее.
https://forum.antichat.xyz/attachments/29018980/img_3b9919ec0e.png
Нажимаем на жёлтую папку.
https://forum.antichat.xyz/attachments/29018980/img_0814e5214f.png
Жмём на добавить, после чего выбираем скачанный виртуальный диск bee-box.vmdk. Жмём кнопку выбрать → создать.
https://forum.antichat.xyz/attachments/29018980/img_9c04a6e38e.png
На этом установка завершена.
Запуск и использование:
Заходим в терминал.
https://forum.antichat.xyz/attachments/29018980/img_5b0ad65f38.png
Командой ip a узнаем ip машины
https://forum.antichat.xyz/attachments/29018980/img_331a7f8e07.png
На основной машине введите в адресную строку ip адрес
https://forum.antichat.xyz/attachments/29018980/img_3373b35d47.png
Проходим несколько первых уровней
Выбор нужного уровня и сложности
Уровень можно выбрать из выпадающего меню под названием “Choose Your Bug”, после чего надо нажать кнопку Hack, чтобы приступить к уровню.
У bWAPP есть 3 уровня сложности: low, medium, high. Изменить уровень сложности можно выбрав его и нажав кнопку Setв определенном уровне.
https://forum.antichat.xyz/attachments/29018980/img_d00560110b.png
HTML Injection - Reflected (POST)
https://forum.antichat.xyz/attachments/29018980/img_d1b548a930.png
Для того чтобы провести эту уязвимость на уровне low, вам достаточно написать любой исполняемый код, и он будет выполнен из-за отсутствия фильтрации. В картинке выше, я написал простейший код, который поймет даже новичок. При отсутствии фильтрации, вы даже не представляете, какая угроза светит сайту.
Результат:
https://forum.antichat.xyz/attachments/29018980/img_e851382599.png
XML/XPath Injection (Login Form)
XPath — язык запросов для XML документов, в общем похожий на SQL для баз данных. При уязвимостях на сайте, вы можете залогиниться под любым пользователем, с любым правами.
https://forum.antichat.xyz/attachments/29018980/img_00cb059ba1.png
Вы можете использовать строку 'or'1’=’1 для того, чтобы залогиниться под первым пользователем в файле, где хранятся данные от всех пользователей.
Результат:
https://forum.antichat.xyz/attachments/29018980/img_b6e4ce3d66.png
CSRF (Change Password)
На данном скриншоте у формы есть уязвимость XSS, теперь сгенерируем ссылку для CSRF уязвимости, чтобы изменить пароль для пользователя. Я вошёл в bWAPP, как bee с паролем bug, теперь мы попытаемся изменить его с помощью межсайтового скриптинга. Данной строкой мы изменяем свой пароль на lol. Отправив такую ссылку пользователю, вы меняете его пароль на свой, что повлечет большие проблемы.
?password_new=lol&password_conf=lol&action=change
Результат:
https://forum.antichat.xyz/attachments/29018980/img_b61db88058.png
https://forum.antichat.xyz/attachments/29018980/img_16b398eef8.png
Изучение кода
Важно!!! Это возможно только при установке bWAPP на локальный сервер.
Изучение кода необходимо для самостоятельного нахождения уязвимостей. Чтобы найти файл с кодом, смотрим на адресную строку и видим, что мы находимся в файле с названием htmli-post.php
https://forum.antichat.xyz/attachments/29018980/img_731864403b.png
Заходим в папку с bWAPP и ищем этот файл.
https://forum.antichat.xyz/attachments/29018980/img_5169a2e5cd.png
Теперь ищим в файле функцию фильтрации содержимого. В нашем случае этоxss_check_1.
https://forum.antichat.xyz/attachments/29018980/img_fcb697ef37.png
Теперь перейдем к файлу, в котором находятся все функции фильтрации содержимого - functions-external.php.
https://forum.antichat.xyz/attachments/29018980/img_d0ac775e71.png
Теперь, с помощью функции поиска в редакторе кода (обычно вызывается сочетанием клавиш ctrl + f) находимxss_check_1. Тут у нас есть краткая информация о том, что фильтрует функция.
https://forum.antichat.xyz/attachments/29018980/img_1691c19088.png
Так, например, вы можете вбить в google: “Как обойти фильтрацию функцией str_replace?”, и пройти уровень.
Задание
Практика нахождения уязвимостей. Вам стоит провести все атаки от A1 до A10. В интернете полно информации о многих уязвимостях, в то время, как о других нет ни слова.
Очень неплохой сайт: https://secapps.com/tutorials/html-injection
Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.
Какая самая популярная уязвимость по топу OWASP?
Как определить, является ли приложение уязвимым?
Как предотвратить атаку на приложение?
Что такое XSS атака?
Что такое XXE?
Заключение
На этом заканчивается третья часть. У вас будет большое задание, которое будет достаточно тяжело выполнить. Следующая часть будет выделена уязвимостям OS и их эксплуатации.
Первая часть - Hack The Box - все об онлайн лаборатории для пентеста, часть 1 (https://forum.antichat.xyz/threads/1627307/)
Вторая часть- Hack The Box - вторая часть руководства, в которой проанализируем несколько машин из HTB (https://forum.antichat.xyz/threads/1627309/)
Всем привет, сегодня мы разберём несколько веб уязвимостей. Эта часть предназначена для самостоятельного обучения. Мы выберем машину для практики веб уязвимостей(OWASP Top 10), и вашей задачей будет изучать и самостоятельно проходить уровни. Подробнее о всех уязвимостях вы можете узнать в официальном pdf файле OWASP Top 10 - 2017: https://www.owasp.org/images/9/96/OWASP_Top_10-2017-ru.pdf.
В случае непонимания уязвимости, я с радостью готов помочь вам. (Не отвечаю, если ответ на ваш вопрос есть в гугле)
На выбор у нас есть 3 площадки:
BWAPP
Моя любимая площадка. Именно её я выбрал, когда обучался использовать веб уязвимости. Позже я объясню почему.
DVWA
Площадку создали британские специалисты. Очень схожий функционал с BWAPP. Ещё мне очень понравилась их страница wiki: ethicalhack3r/DVWA.
Mutillidae
Созданная платформа специалистом по ИБ. Сам создал эту платформу. Хорошо читаемый и закомментированный код позволяет новичку легко разобраться.
OWASP Top 10
Для начала проведем обзор этих 10 уязвимостей:
https://forum.antichat.xyz/attachments/29018980/img_ebd0656edc.png
https://forum.antichat.xyz/attachments/29018980/img_3a35b82f1d.png
Подробнее вы можете посмотреть информацию о всех уязвимостях OWASP тут: https://www.owasp.org/images/9/96/OWASP_Top_10-2017-ru.pdf.
Мы рассмотрим установку и настройку площадки BWAPP, после чего пройдём несколько уровней.
Установка и настройка BWAPP.
У нас есть 2 варианта установки этой площадки:
Установка на локальный сервер
Установка виртуальной машины bee-box
Я предпочитаю второй пункт, но мы разберём оба.
Установка на локальный сервер
Мы будем использовать XAMPP. Сейчас это одна из самых лучших программ. Если у вас есть свой локальный сервер, то можете пропустить эту часть.
Ссылка на официальный сайт XAMPP: XAMPP - Бесплатный веб сервер. Скачать XAMPP последнюю версию
https://forum.antichat.xyz/attachments/29018980/img_7dfdea0374.png
У вас откроется такое окно. Теперь в меню пуск у вас есть папка XAMPP. В ней будет XAMPP htdocs folder. Вам нужно нажать на нее.
https://forum.antichat.xyz/attachments/29018980/img_29732f2303.png
Все это нужно удалить. После этого вам нужно разархивировать bWAPP в эту папку. Получится так.
https://forum.antichat.xyz/attachments/29018980/img_762dceb13e.png
После этого вы должны зайти в bWAPP → admin → settings.php. И открыть через текстовый редактор.
Сделайте все так. После этого входите в панель XAMPP и нажимаете MySQL → Config.
https://forum.antichat.xyz/attachments/29018980/img_b321fc9d69.png
И вписываете там эту строку, после чего сохраняете.
https://forum.antichat.xyz/attachments/29018980/img_be33386662.png
После чего в браузере переходим по ссылке: http://localhost/bWAPP/install.php
Появится такая страничка:
https://forum.antichat.xyz/attachments/29018980/img_c577dd19d7.png
Нажмите на кнопку HERE. Установка на локальный сервер закончена.
Запуск и использование:
Чтобы использовать площадку перейдите по ссылке http://localhost, Логин: bee, Пароль: bug.
Установка виртуальной машины bee-box
Чтобы установить bee-box вам потребуется установленный VirtualBox.
Скачиваем bee-box: bWAPP - Browse /bee-box at SourceForge.net
Установка:
Запускаем VirtualBox и жмем Создать.
https://forum.antichat.xyz/attachments/29018980/img_5fc75316fd.png
В открывшемся окне пишем название машины. Выбираем тип → Linux, версия → Ubuntu. Жмём далее.
https://forum.antichat.xyz/attachments/29018980/img_3ec19ffa7e.png
Количество оперативной памяти выбираем до 512 мб. Большее количество ничего не даст, а только замедлит ваш компьютер. Жмём далее.
https://forum.antichat.xyz/attachments/29018980/img_3b9919ec0e.png
Нажимаем на жёлтую папку.
https://forum.antichat.xyz/attachments/29018980/img_0814e5214f.png
Жмём на добавить, после чего выбираем скачанный виртуальный диск bee-box.vmdk. Жмём кнопку выбрать → создать.
https://forum.antichat.xyz/attachments/29018980/img_9c04a6e38e.png
На этом установка завершена.
Запуск и использование:
Заходим в терминал.
https://forum.antichat.xyz/attachments/29018980/img_5b0ad65f38.png
Командой ip a узнаем ip машины
https://forum.antichat.xyz/attachments/29018980/img_331a7f8e07.png
На основной машине введите в адресную строку ip адрес
https://forum.antichat.xyz/attachments/29018980/img_3373b35d47.png
Проходим несколько первых уровней
Выбор нужного уровня и сложности
Уровень можно выбрать из выпадающего меню под названием “Choose Your Bug”, после чего надо нажать кнопку Hack, чтобы приступить к уровню.
У bWAPP есть 3 уровня сложности: low, medium, high. Изменить уровень сложности можно выбрав его и нажав кнопку Setв определенном уровне.
https://forum.antichat.xyz/attachments/29018980/img_d00560110b.png
HTML Injection - Reflected (POST)
https://forum.antichat.xyz/attachments/29018980/img_d1b548a930.png
Для того чтобы провести эту уязвимость на уровне low, вам достаточно написать любой исполняемый код, и он будет выполнен из-за отсутствия фильтрации. В картинке выше, я написал простейший код, который поймет даже новичок. При отсутствии фильтрации, вы даже не представляете, какая угроза светит сайту.
Результат:
https://forum.antichat.xyz/attachments/29018980/img_e851382599.png
XML/XPath Injection (Login Form)
XPath — язык запросов для XML документов, в общем похожий на SQL для баз данных. При уязвимостях на сайте, вы можете залогиниться под любым пользователем, с любым правами.
https://forum.antichat.xyz/attachments/29018980/img_00cb059ba1.png
Вы можете использовать строку 'or'1’=’1 для того, чтобы залогиниться под первым пользователем в файле, где хранятся данные от всех пользователей.
Результат:
https://forum.antichat.xyz/attachments/29018980/img_b6e4ce3d66.png
CSRF (Change Password)
На данном скриншоте у формы есть уязвимость XSS, теперь сгенерируем ссылку для CSRF уязвимости, чтобы изменить пароль для пользователя. Я вошёл в bWAPP, как bee с паролем bug, теперь мы попытаемся изменить его с помощью межсайтового скриптинга. Данной строкой мы изменяем свой пароль на lol. Отправив такую ссылку пользователю, вы меняете его пароль на свой, что повлечет большие проблемы.
?password_new=lol&password_conf=lol&action=change
Результат:
https://forum.antichat.xyz/attachments/29018980/img_b61db88058.png
https://forum.antichat.xyz/attachments/29018980/img_16b398eef8.png
Изучение кода
Важно!!! Это возможно только при установке bWAPP на локальный сервер.
Изучение кода необходимо для самостоятельного нахождения уязвимостей. Чтобы найти файл с кодом, смотрим на адресную строку и видим, что мы находимся в файле с названием htmli-post.php
https://forum.antichat.xyz/attachments/29018980/img_731864403b.png
Заходим в папку с bWAPP и ищем этот файл.
https://forum.antichat.xyz/attachments/29018980/img_5169a2e5cd.png
Теперь ищим в файле функцию фильтрации содержимого. В нашем случае этоxss_check_1.
https://forum.antichat.xyz/attachments/29018980/img_fcb697ef37.png
Теперь перейдем к файлу, в котором находятся все функции фильтрации содержимого - functions-external.php.
https://forum.antichat.xyz/attachments/29018980/img_d0ac775e71.png
Теперь, с помощью функции поиска в редакторе кода (обычно вызывается сочетанием клавиш ctrl + f) находимxss_check_1. Тут у нас есть краткая информация о том, что фильтрует функция.
https://forum.antichat.xyz/attachments/29018980/img_1691c19088.png
Так, например, вы можете вбить в google: “Как обойти фильтрацию функцией str_replace?”, и пройти уровень.
Задание
Практика нахождения уязвимостей. Вам стоит провести все атаки от A1 до A10. В интернете полно информации о многих уязвимостях, в то время, как о других нет ни слова.
Очень неплохой сайт: https://secapps.com/tutorials/html-injection
Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.
Какая самая популярная уязвимость по топу OWASP?
Как определить, является ли приложение уязвимым?
Как предотвратить атаку на приложение?
Что такое XSS атака?
Что такое XXE?
Заключение
На этом заканчивается третья часть. У вас будет большое задание, которое будет достаточно тяжело выполнить. Следующая часть будет выделена уязвимостям OS и их эксплуатации.