PDA

Просмотр полной версии : Hack The Box - третья часть руководства, в которой мы будем искать уязвимости http порта


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 и их эксплуатации.

woolf1514
24.04.2019, 16:57
Афигеть, сколько стараний. Это ж планомерное обучение, будто автор куда-то ведет людей серией своих статей.
Автор, сделай в конце экзамены в виде боевых кейсов с какими-нибудь бонусами! Пиши в ЛС, поделюсь идеями как это реализовать)

Beetle
16.09.2019, 00:54
В дополнение к учебным площадкам: XVWA и unescape() room

Beetle
26.09.2019, 02:42
По случаю вспомнил, еще на stepik.org есть курс "Анализ безопасности веб-проектов", и конечно на h1 Resources

resno
06.12.2019, 12:38
Спасибо конечно за статью, но это немного не то, чего я лично ожидал от продолжения. Почему не продолжить работу с hackthebox?
И зачем столько заморачиваться по установке лабораторий bwapp, mutillidae, dvwa, если можно просто скачать Metasploitable3 или 2, в которой уже все это установлено и к тому же она импортируется в virtualbox или vmware например.
Либо я чего-то не могу понять, либо автора действительно куда-то не туда понесло))