Глава 5
Предыдущая глава
Следующая глава
Оглавление
Доброго времени суток друзья) Сегодня настало время очередного токена. А так же на этом таске мы попрактикуемся в таком интересном векторе атаки, как
Template Injection Server Side ,и как обычно качнем немножко свое логическое мышление) Речь пойдем сегодня о
Hall-Of-Fame(
192.168.0.8) машине на топологии сети.
Сперва как всегда для удобной работы пробросим порт:
Далее знакомимся с веб приложением,гуляем по ссылкам,наблюдаем за поведением контента,изучаем передаваемые параметры и т.д:
Видим что GET-ом передается параметр
hnameи это очень похоже на то что там может быть
LFI(Local File Inclusion) Но несколько часов я долбился в поисках этой уязвимости и увы безрезультатно...
Затем на ум пришло побрутить директории и файлы на этом веб сервере..
Тут стоит обратить внимания на инструмент которым мы будим брутить директории. Конечно можно и обычным dirbuster-ом пробрутить,но лично мне нравится очень инструмент dirsearchкоторый как по мне в разы быстрее чем
dirb или
dirbuster)
Прогоняем этой утилитой наш зал славы(Hall-Of-Fame)
Находим интересную две интересные папки
/backup
и
/dev
Пробуем зайти на
/dev
Нас встречает там
Basic Auth аутентификация:
Пробрутив директорию
/backup находим файлик passwords.txt:
В этой папке находим файлик с паролями,смотрим его.
Пробуем залогинится на
/dev. Но увы не один логин пароль нам не подошел
Пробуем зайти на основной странице:
Наблюдаем и изучаем поведения контента после успешного логина под пользователем
creator:
Ковыряли ковыряли,ничего не наковыряли... Не нашел я ничего тут...
Пробуем под другим пользователем залогинится:
А тут после логина нам вернуло какой то масив с данными:
Видим путь
/dev/ и пароль
0bf190ffdc397fd51334d908845fbb1
Вспоминаем что по пути
/dev у нас была аутентификация,идем туда и пробуем наш пароль под известными нам учетными записями.Но почему то нас не пускает ни под одной учетной записей..
Посидели,успокоились,подум али...
Тут включаем
логику и начинаем думать о том какие еще могут быть учетные записи разработчика(
developer), пробуем логин
dev (сокращенно от developer) и наш полученный пароль и попадаем в каталог разработчика и видим что визуально поведение контента ничем не отличается:
Хм... Странно...
Кавыряемся,кавыряемся, паралельно запускаем сканеры уязвимостей,пускай работают.
Ну и на выходе сканер находит нам весьма интересный вектор уязвимостей:
Видим что в параметре
hname нашло
Template Injection и определило тип шаблонизатора
Twig.
Server Side Template Injection - вектор атаки построен на принципе внедрения шаблона.
Вообщем гуглим вектор,вооружаемся знаниями и пробуем эксплуатировать.
Я расписывать не буду про этот вектор,так как очень доступно,подробно и хорошо об этом векторе расписано в этой_статье
Прочитав статью пробуем выяснить для практики и закрепления знаний попробуем выяснить тип шаблонизатора,не смотря на то что сканер сделал это уже за нас(всегда нужно стараться понимать тот или иной вектор уязвимости), самостоятельно по вот этой схеме:
Помним что у нас уязвимый параметр
hname, валидируем вектор:
Видим что мы передали GET-ом
hname=DarkNode {{7*'7'}} И нам вернуло в теге
DarkNode 49
Значит и вправду шаблонизатор
Twig. Это все хорошо) Идем дальше)
Читаем внимательно статью и находим там уже готовый шаблон дляRCE под шаблонизатор Twig:
Документация говорит, что Twig имеет обьект _self, который имеет атрибут env (является ссылкой на Twig_Evironment).В процессе чтения документации, мы приходим к рабочей полезной нагрузке{{_self.env.registerUndefinedFilterCallback(«exec »)}}{{_self.env.getFilter(«id»)}}
Пробуем нашу
полезную нагрузку:
Ну вот вектор готов) Осталось бросить удаленный шелл и забрать токен)
Так как ssh(
172.16.0.8) машина и Hall-Of-Fame(
192.168.0.8) у нас находятся в разных сегментах сети,то тут мы сможем сделать только
Bind Shell(Кто не понимает различие между
Bind и Reverse шеллом - прочтите мою
статью)
Всем спасибо)
Помни! Если понравилась статья - жмакни лайк , мне будет приятно)
Предыдущая глава
Следующая глава
Оглавление