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

EartyStudio

Grey Team
26.10.2018
103
407
BIT
2
Полное руководство на русском языке о 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 уязвимостей:

image30.png


image18.png


Подробнее вы можете посмотреть информацию о всех уязвимостях OWASP тут: .

Мы рассмотрим установку и настройку площадки BWAPP, после чего пройдём несколько уровней.

Установка и настройка BWAPP.
У нас есть 2 варианта установки этой площадки:
  • Установка на локальный сервер
  • Установка виртуальной машины bee-box
Я предпочитаю второй пункт, но мы разберём оба.

Установка на локальный сервер
Мы будем использовать XAMPP. Сейчас это одна из самых лучших программ. Если у вас есть свой локальный сервер, то можете пропустить эту часть.

Ссылка на официальный сайт XAMPP:

image1.png


У вас откроется такое окно. Теперь в меню пуск у вас есть папка XAMPP. В ней будет XAMPP htdocs folder. Вам нужно нажать на нее.

image11.png


Все это нужно удалить. После этого вам нужно разархивировать bWAPP в эту папку. Получится так.

image17.png


После этого вы должны зайти в bWAPP → admin → settings.php. И открыть через текстовый редактор.

Ql-1ppnbsbP4EtMSc5R0xIW01-aW3BggaIMS0x9Bptad6I3kv4smvLSvTf-VO3HTJVhbQuGlBMYlvGfi8L2ZUsHdXykdZxXH-BrDNOYdRVJKkg_p70LzhSSdQI1G2e8Lre2N-N4Z


Сделайте все так. После этого входите в панель XAMPP и нажимаете MySQL → Config.

image12.png


И вписываете там эту строку, после чего сохраняете.

image28.png



После чего в браузере переходим по ссылке:

Появится такая страничка:


image19.png


Нажмите на кнопку HERE. Установка на локальный сервер закончена.


Запуск и использование:
Чтобы использовать площадку перейдите по ссылке , Логин: bee, Пароль: bug.

Установка виртуальной машины bee-box
Чтобы установить bee-box вам потребуется установленный VirtualBox.

Скачиваем bee-box:

Установка:
Запускаем VirtualBox и жмем Создать.

image24.png


В открывшемся окне пишем название машины. Выбираем тип → Linux, версия → Ubuntu. Жмём далее.

image9.png


Количество оперативной памяти выбираем до 512 мб. Большее количество ничего не даст, а только замедлит ваш компьютер. Жмём далее.

image3.png


Нажимаем на жёлтую папку.

image6.png


Жмём на добавить, после чего выбираем скачанный виртуальный диск bee-box.vmdk. Жмём кнопку выбрать → создать.

image27.png


На этом установка завершена.

Запуск и использование:

Заходим в терминал.

image23.png


Командой ip a узнаем ip машины

image13.jpg


На основной машине введите в адресную строку ip адрес

image4.jpg


Проходим несколько первых уровней
Выбор нужного уровня и сложности

Уровень можно выбрать из выпадающего меню под названием “Choose Your Bug”, после чего надо нажать кнопку Hack, чтобы приступить к уровню.

У bWAPP есть 3 уровня сложности: low, medium, high. Изменить уровень сложности можно выбрав его и нажав кнопку Set в определенном уровне.

image14.png


HTML Injection - Reflected (POST)

image25.png


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

Результат:

image10.png


XML/XPath Injection (Login Form)
XPath — язык запросов для XML документов, в общем похожий на SQL для баз данных. При уязвимостях на сайте, вы можете залогиниться под любым пользователем, с любым правами.

image2.png


Вы можете использовать строку 'or'1’=’1 для того, чтобы залогиниться под первым пользователем в файле, где хранятся данные от всех пользователей.

Результат:

image29.png


CSRF (Change Password)

ilQQctDHwU1Ce4rO6CUYLDRcHgQsmaW0M87WAL4k8yQ-2qkky_sWhJUgTxMLCTM-dCI9CrbCHhuGA3Zd-jeBjy-X6HoOb0iNr9Mp3VC6P7Lfd6iAVyCRY1kaE6P44cNI23CEM8ET


На данном скриншоте у формы есть уязвимость XSS, теперь сгенерируем ссылку для CSRF уязвимости, чтобы изменить пароль для пользователя. Я вошёл в bWAPP, как bee с паролем bug, теперь мы попытаемся изменить его с помощью межсайтового скриптинга. Данной строкой мы изменяем свой пароль на lol. Отправив такую ссылку пользователю, вы меняете его пароль на свой, что повлечет большие проблемы.

?password_new=lol&password_conf=lol&action=change

Результат:

image15.png


image16.png


Изучение кода
Важно!!!
Это возможно только при установке bWAPP на локальный сервер.

Изучение кода необходимо для самостоятельного нахождения уязвимостей. Чтобы найти файл с кодом, смотрим на адресную строку и видим, что мы находимся в файле с названием htmli-post.php

image22.png


Заходим в папку с bWAPP и ищем этот файл.

image5.png


Теперь ищим в файле функцию фильтрации содержимого. В нашем случае это xss_check_1.

image8.png


Теперь перейдем к файлу, в котором находятся все функции фильтрации содержимого - functions-external.php.

image7.png


Теперь, с помощью функции поиска в редакторе кода (обычно вызывается сочетанием клавиш ctrl + f) находим xss_check_1. Тут у нас есть краткая информация о том, что фильтрует функция.

image21.png


Так, например, вы можете вбить в google: “Как обойти фильтрацию функцией str_replace?”, и пройти уровень.

Задание
Практика нахождения уязвимостей. Вам стоит провести все атаки от A1 до A10. В интернете полно информации о многих уязвимостях, в то время, как о других нет ни слова.

Очень неплохой сайт: https

Вопросы
Прочитав статью, вы сможете ответить на данные вопросы, и закрепить знания.
  1. Какая самая популярная уязвимость по топу OWASP?
  2. Как определить, является ли приложение уязвимым?
  3. Как предотвратить атаку на приложение?
  4. Что такое XSS атака?
  5. Что такое XXE?
Заключение
На этом заканчивается третья часть. У вас будет большое задание, которое будет достаточно тяжело выполнить. Следующая часть будет выделена уязвимостям OS и их эксплуатации.
 

woolf1514

Green Team
06.03.2017
181
191
BIT
5
Афигеть, сколько стараний. Это ж планомерное обучение, будто автор куда-то ведет людей серией своих статей.
Автор, сделай в конце экзамены в виде боевых кейсов с какими-нибудь бонусами! Пиши в ЛС, поделюсь идеями как это реализовать)
 

beetle

New member
29.08.2019
2
0
BIT
0
В дополнение к учебным площадкам: XVWA и
 

SooLFaa

Platinum
15.07.2016
898
1 560
BIT
36
Отвратительная статья! Осталось только постить на тему bwapp, который, кстати, в 2019 не акутален. Разбор опять же никакой. Лоу левел инфа, которая гуглится одним запросом. Пожалуйста, прекратите писать посты только ради того, чтобы постить посты.
 
  • Не нравится
Реакции: DoMenty и Азиз

beetle

New member
29.08.2019
2
0
BIT
0
По случаю вспомнил, еще на stepik.org есть курс "Анализ безопасности веб-проектов", и конечно на h1
 

Pono

One Level
28.05.2019
3
1
BIT
0
Отвратительная статья! Осталось только постить на тему bwapp, который, кстати, в 2019 не акутален. Разбор опять же никакой. Лоу левел инфа, которая гуглится одним запросом. Пожалуйста, прекратите писать посты только ради того, чтобы постить посты.
Уважаемый Администратор, для меня, как для новичка - это полезный цикл статей !
Думаю не стоит препятствовать данному автору, так как не все гуру темы пинтест .
Спасибо за понимание )))
 
  • Нравится
Реакции: DoMenty

resno

One Level
29.01.2019
7
4
BIT
1
Спасибо конечно за статью, но это немного не то, чего я лично ожидал от продолжения. Почему не продолжить работу с hackthebox?
И зачем столько заморачиваться по установке лабораторий bwapp, mutillidae, dvwa, если можно просто скачать Metasploitable3 или 2, в которой уже все это установлено и к тому же она импортируется в virtualbox или vmware например.
Либо я чего-то не могу понять, либо автора действительно куда-то не туда понесло))
 
  • Нравится
Реакции: DoMenty
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!