• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

HTB Environment. Манипулируем переменными окружения при атаке на Linux

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,483
Баллы
155
Сегодня я покажу, как можно повысить привилегии в Linux, используя настройку env_keep для sudo. Чтобы подобраться к ОС, нам сначала понадобится проэксплуатировать баг CVE-2024-52301 во фреймворке Laravel, обойти авторизацию и через функцию загрузки файла добавить веб‑шелл.

Наша конечная цель — получение прав суперпользователя на машине Environment с учебной площадки

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. Уровень сложности задания — средний.

warning


Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.

Разведка

Сканирование портов


Добавляем IP-адрес машины в /etc/hosts:


10.10.11.67 environment.htb


И запускаем сканирование портов.

Справка: сканирование портов


Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.

Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:


#!/bin/bash

ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '

' ',' | sed s/,$//)

nmap -p$ports -A $1


Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).

Результат работы скрипта

Результат работы скрипта

Сканер нашел два открытых порта:

  • 22 — служба OpenSSH 9.2p1;
  • 80 — веб‑сервер Nginx 1.22.1.

Область тестирования маленькая, сразу просмотрим сайт.

Главная страница сайта

Главная страница сайта
Точка входа


На сайте ничего интересного найти не удалось, поэтому приступим к сканированию сайта с помощью

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.

Справка: сканирование веба c feroxbuster


Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

,

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

или

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. Я предпочитаю

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.

При запуске указываем следующие параметры:

  • -u — URL;
  • -d — глубина сканирования;
  • -t — количество потоков;
  • -w — словарь (я использую словари из набора

    Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    ).

Задаем все нужные параметры и запускаем:


feroxbuster -u

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

-d 1 -t 128 -w directory_2.3_medium_lowercase.txt

Результат сканирования каталогов с помощью feroxbuster

Результат сканирования каталогов с помощью feroxbuster

Находим страницу авторизации /login и еще несколько интересных эндпоинтов, которые без авторизации недоступны.

Содержимое страницы login

Содержимое страницы login

Попробуем авторизоваться с любыми учетными данными и просмотрим запрос в Burp Proxy. По названию сессионной куки определяем, что используется движок Laravel.

Запрос в Burp Proxy

Запрос в Burp Proxy

Версию Laravel (11.30.0) и PHP находим на странице /mailing.

Содержимое страницы mailing

Содержимое страницы mailing

Первым делом стоит проверить, есть ли для этой версии CMS готовые эксплоиты. Как обычно, хватает запроса к Google.

Поиск эксплоитов в Google

Поиск эксплоитов в Google

Так мы узнаём о

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. Эта уязвимость позволяет в запросе указать значение переменной среды при активной директиве register_argc_argv. Пока неясно, как это может нам помочь.

Вернемся к запросу авторизации и поиграем с параметрами. При изменении параметра remember мы получим отладочный лог Laravel, в котором есть интересный блок исходного кода.

Запрос авторизации и ответ сервера

Запрос авторизации и ответ сервера

Если установлена переменная среды preprod, то мы автоматически будем залогинены как администратор Laravel. Как раз тут и пригодится

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

, с помощью которой в запросе авторизации устанавливаем переменную среды preprod. Для эксплуатации уязвимости перехватываем запрос к странице login и добавляем ?--env=preprod.

Запрос авторизации

Запрос авторизации
Главная страница сайта

Главная страница сайта

Источник:

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу