Добавить в корзинуПозвонить
Найти в Дзене
B0rn2beR00T

Решение Codeby Gemes (Будущий релиз)

Приветствую! На этот раз мы разберём тачку с Path Traversal-уязвимостью, которая даст нам возможность пробиться во внутрь хоста и повысить свои привилегии. Приступим к разбору! Для начала осмотримся на нашей цели. На первый взгляд вообще ничего примечательного. Многие кнопки не кликабельны. Значит нужно смотреть код. Возможно он что-то нам даст. При просмотре исходного кода ничего важного я не обнаружил. Попробовал поколдовать с путями к файлам, но достать что-то не вышло. Нужно искать дальше. При фаззаинге директорий видим /v2/. Выглядит в данной директории web-ресурс также, но если посмотреть исходный код станицы, то увидим явное различие с первой версией. Обращение к картинкам происходит следующим образом: image.php?image=images/logo.php То есть, пхпшный файл имеет параметр, который выводит картинку. Это довольно сильно намекает на Path Traversal. Попробуем простой payload и это срабатывает! Закинем запрос в Intruder и воспользуемся словарями Seclist для фаззинга Traversal. В каче
Оглавление

Приветствую!

На этот раз мы разберём тачку с Path Traversal-уязвимостью, которая даст нам возможность пробиться во внутрь хоста и повысить свои привилегии. Приступим к разбору!

Крутим Path Traversal

Для начала осмотримся на нашей цели. На первый взгляд вообще ничего примечательного. Многие кнопки не кликабельны. Значит нужно смотреть код. Возможно он что-то нам даст.

-2

При просмотре исходного кода ничего важного я не обнаружил. Попробовал поколдовать с путями к файлам, но достать что-то не вышло. Нужно искать дальше.

-3

При фаззаинге директорий видим /v2/. Выглядит в данной директории web-ресурс также, но если посмотреть исходный код станицы, то увидим явное различие с первой версией.

-4

Обращение к картинкам происходит следующим образом:

image.php?image=images/logo.php

-5

То есть, пхпшный файл имеет параметр, который выводит картинку.

-6

Это довольно сильно намекает на Path Traversal. Попробуем простой payload и это срабатывает!

-7

Закинем запрос в Intruder и воспользуемся словарями Seclist для фаззинга Traversal. В качестве списка полезных нагрузок я использовал LFI-Jhaddix.txt

Из вывода /etc/passwd можем заприметить пользователя Don. Из этого можем уже понять где искать: /home/Don. Скорее всего у данного пользака что-то спрятано.

Немного подождав, Burp Suite выдаст нам код 200 на /home/Don/.bash_history

-8

Так мы находим скрытый системный файл домашней директории пользователя Don, где есть недотёртая часть истории команд пользователя.

Попробуем подключиться по ssh с этими кредами:

-9

Отлично! Мы внутри! Теперь проверим какие у нас права при помощи команды id:

-10

Прав у нас немного... Так ещё и нет sudo-прав...

Тогда закинем LinPeas для поиска путей повышения привилегий и посмотрим как быть дальше:

-11

В разделе с SUID видим бинарь capsh.

-12

Пробуем реализовать LPE при помощи capsh. На ресурсе GTFOBins нам любезно расписали команды для реализации повышения привилегий.

-13

Повышаем привилегии:

-14

В /root будет лежать наш флаг!

Выводы

Дико скучал по такому формату тачек. На VulnHub мне не хватает именно web-уязвимостей, которые и приводят к пробиву во внутрь сервера. Там всё сводиться к уязвимому сервису и одному эксплойту или reverse-шеллу. Тут всё в разы интересней.

Старые версии веб-сервера, как и бекапы, могут находиться прям на нём самом. Важно проверять такие моменты. Старая версия на то и старая, что в ней могут быть не устранены какие-то недочёты, которые вели к подобные проблемам. Важно не хранить их в открытом доступе так ещё и на том же сервере.

Что насчёт внутряки: тут всё по классике - повысили права парочкой команд. Всё элементарно!

Пофиксить такую проблему на хосте очень просто:

chmod u-s <путь_к_файлу с SUID>

Спасибо за внимание! Не забывайте оценивать моё творчество лайком и всех благ!