Категория > Новости > HTB Laboratory. Взламываем GitLab и учимся перехватывать пути в Linux - «Новости»
HTB Laboratory. Взламываем GitLab и учимся перехватывать пути в Linux - «Новости»27-05-2021, 00:00. Автор: Бронислава |
GitLab.Сканирование вебаGitLab — это система управления репозиториями кода для Git с собственной вики, системой отслеживания ошибок и другими функциями. Страница авторизации GitLab У нас есть возможность зарегистрироваться, что сразу и сделаем. Это позволит нам получить доступ к большему числу функций, чем у гостей. Поскольку мы имеем дело с серьезным проектом, «тыкать кавычки» в каждую форму смысла нет. Вместо этого стоит поискать информацию об уязвимостях и готовые эксплоиты. Первый шаг на пути к этому — узнать версию продукта. Обычно она приводится на страницах вроде About или в данном случае — Help. Используемая версия GitLab Мы узнаем версию GitLab CE — 12.8.1. Точка входаВ реальных условиях лучше всего искать эксплоиты при помощи Google, поскольку этот поисковик заглядывает и в личные блоги, и в самые разные отчеты. Но для ускорения можно пользоваться специализированными базами вроде Exploit-DB — скорее всего, там найдутся подходящие варианты. Если ты используешь Kali Linux, то эта база у тебя уже есть и для поиска можно использовать утилиту Поиск эксплоитов для GitLab с помощью searchsploit Как видишь, мы нашли сразу несколько эксплоитов, хотя для нужной версии GitLab ничего нет. Зато есть для более новой (номер 48431), а значит, скорее всего, подойдет и к нашей. Эксплуатируемая уязвимость срабатывает при перемещении задачи между проектами GitLab и приводит к тому, что мы можем читать файлы на удаленной машине. Однако у меня ни одна из реализаций этого эксплоита не заработала, поэтому придется все делать в ручном режиме. Для этого нам нужно изначальное исследование, доказательство работоспособности (proof of concept) этой уязвимости. Чтобы найти его, обращаемся в Google. Нам повезло, на HackerOne (самая известная платформа для bug bounty) нашелся целый отчет. В нем рассказано, как не только читать файлы, но и получить удаленное выполнение кода (RCE)! Поиск PoC на HackerOne Для получения RCE нам нужно иметь консоль Ruby on Rails и значение ЗакреплениеИтак, читаем файл. Создадим два проекта в GitLab, а потом перейдем к вкладке Issues и выберем New Issue. Там указываем следующее значение в качестве описания и таким образом воспользуемся уязвимостью типа path traversal.
Страница созданного проектаСтраница New Issue Далее необходимо указать целевой проект (который мы создали вторым), после чего Выбор опции перемещения задачиВыбор проекта для перемещения задачиДоступный для загрузки файл, представленный в качестве вложенияСодержимое файла secrets.yml Перейти обратно к новости |