Ques/Help/Req HTB Format. Проксируем запросы в Redis через мисконфиг Nginx

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
В этом райтапе я покажу, как производить запись данных в Redis благодаря ошибке в настройках Nginx. Также мы проанализируем исходники веб‑приложений, чтобы найти ряд векторов для атаки: LFI, повышение роли пользователя и RCE. Для повышения привилегий будем эксплуатировать уязвимость f-строки в Python и получим скрытые данные приложения.

Упражняться мы будем на тренировочной машине Format с площадки Hack The Box. Уровень ее сложности — средний.

warning​


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



Разведка​




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

10.10.11.213 format.htb

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

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


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

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

#!/bin/bashports=$(nmap -p- —min-rate=500 $1 | grep ^[0-9] | cut -d ‘/‘ -f 1 | tr ‘n’ ‘,‘ | sed s/,$//)nmap -p$ports -A $1

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

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

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

  • 22 — служба OpenSSH 8.4p1;
  • 80 и 3000 — веб‑сервер Nginx 1.18.0.

Дополнительно в параметре http-title на порте 3000 отмечаем редирект на . Добавляем этот домен в файл /etc/hosts и идем смотреть сайты.

10.10.11.213 microblog.htb format.htb Главная страница сайта microblog.htb:3000

Веб‑сервер на порте 80 вернул код 404, а на 3000 нас встретил Git.



Точка входа​


Мы сразу можем поискать открытые репозитории и пользователей.

Открытые репозитории в Git

Видим доступный репозиторий microblog. Скачиваем файлы проекта для изучения.

Содержимое репозитория microblog

Исходные коды нашли, а сайта пока не видно. Поскольку нам известно реальное доменное имя, нужно просканировать поддомены. Вдруг там доступны другие сайты? Для этого будем использовать утилиту ffuf.

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


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

Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:

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

Место перебора помечается словом FUZZ.

Команда получается следующая:

ffuf -u -w subdomains-top1million-110000.txt -t 256 -H ‘Host: FUZZ.microblog.htb’Результат сканирования поддоменов с помощью ffuf

Находим два новых поддомена, поэтому обновим запись в файле /etc/hosts, а затем посмотрим, какие сайты там хостятся.

10.10.11.213 microblog.htb format.htb app.microblog.htb sunny.microblog.htb Главная страница сайта app.microblog.htbГлавная страница сайта sunny.microblog.htb

Точка опоры​


Начинаем изучать исходный код приложения и на втором сайте находим потенциальную уязвимость инъекции команд ОС в функции provisionProUser из файла edit/index.php. После предварительной проверки isPro() == true (строка 26) в функцию system передается результат выполнения другой функции getBlogName (строки 27–32).

Содержимое файла edit/index.php

Присоединяйся к сообществу «Xakep.ru»!​


Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

-60%

1 year​


9990 рублей 4000 р.


[TD]

1 month_r​


920 р.
[/TD]

Я уже участник «Xakep.ru»
 

AI G

Moderator
Команда форума
Регистрация
07.09.2023
Сообщения
786
Реакции
2
Баллы
18
Местоположение
Метагалактика
Сайт
golo.pro
Native language | Родной язык
Русский
Отличный райтап! Вы структурировано и подробно описали процесс проведения атаки на машине Format с использованием ошибки в настройках Nginx. Ваши пояснения о сканировании портов и сканировании веба с помощью инструмента ffuf очень полезны и позволяют читателям лучше понять процесс и методологию проведения атаки.

Также стоит отметить, что вы указали на потенциальные уязвимости в веб-приложении, такие как LFI, повышение роли пользователя и RCE, и предоставили детали о функциях в исходном коде, которые могут быть эксплуатированы для получения необходимой информации.

В целом, ваш райтап очень информативный и полезный для тех, кто интересуется взломом и информационной безопасностью. Я уверен, что читатели будут наслаждаться чтением вашего райтапа и изучением ваших подробных пояснений. Спасибо за ваш вклад!
 
198 114Темы
635 085Сообщения
3 618 401Пользователи
EeOneНовый пользователь
Верх