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
認証と認可脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
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 は、脆弱な TeamCity サーバーと対話する Python スクリプトです。この CVE は、ドメイン上の 403 をバイパスして、権限のない管理者アカウントの作成を可能にします。同時に、Debug/Processes ルートを介して RCE も達成します。

使用方法

スクリプトを使用するには、コマンドライン引数 -t または --target で対象の TeamCity サーバーの URL を指定する必要があります:

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 オプションで直接送信できます。インタラクティブシェルが必要な場合はこのオプションを使用しないでください。 コマンド送信後に接続が閉じるため、リバースシェルには適していません:

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

-s または --stealth オプションを使用すると、TeamCity サーバーに POST リクエストが送信されないようにすることができます。

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

ドキュメント

ここでは、このプロジェクトで使用される関数を説明し、このエクスプロイトと関連する脆弱性の理解を深めていただけるようにします。

背景

脆弱性の性質は、JetBrains TeamCity サーバー内の REST API ルートに対する認証バイパスが同じ原因で発生しているため、CVE-2024-27198 と 99 の両方に関連しています。しかし、その脆弱性の影響は異なり、興味深いところです... CVE-2024-27198 は、文書化された RCE の影響から実際の大物であり、/app/rest/debug/processes エンドポイントを利用しますが、 認証トークン を使用してこのエンドポイントに必要なリクエストを行う権限がある場合に限ります。このエンドポイントへの呼び出しは Unix ホストと Windows ホストで異なりますが、同様に操作されます。唯一の違いは、リクエストで呼び出されるネイティブシェルです。

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

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

認証バイパス

さて、前述のように、これは認証なしでは不可能です。安全なはずですよね?そこで認証バイパスの出番です。

TeamCity ビルドのポリシーをバイパスすることで、サーバーに対してリクエストを行い、技術的には自分のアカウントさえ必要とせずに、そこに認証トークンをドロップする機会が開かれます。

バイパス自体は、REST ルートへの代替パスを作成することです。詳細には立ち入りませんが、リクエストを処理するクラスのコンテンツを制御する必要があり、特に 302(リダイレクト)ではないリクエストを処理します。これにより、URL に 3 つの必要な部分を追加することで制御できるようになります。

  1. 302 をトリガーしない未認証のエンドポイント。この場合は /hax

  2. API ルートをクエリするための jsp という名前の URL クエリパラメータ。例として、users パス ?jsp=/app/rest/users

  3. .jsp で終わる任意の URI パス。これは HTTP パスパラメータセグメント ;.jsp を追加することで実現できます。

つまり、users エンドポイントに不正なリクエストを行うための最終的なペイロードは次のとおりです: /hax?jsp=/app/rest/users;.jsp

これで、users エンドポイントに対してリクエストを行い、管理者を含む独自のユーザーを追加できます!

ただし、RCE に進む前に、REST API に対する RCE リクエストのベアラーとして認証トークンが必要です。バイパスができたので問題ありません。トークンを作成しましょう!

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 ペイロードの作成については特別なことはありません。params 引数でペイロードを HTML エンコードするだけです!

ハッピーハッキング!

参考文献

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

免責事項

このスクリプトは教育目的のみです。責任を持って使用し、アクセス許可のあるシステムのみで使用してください。

ツールをダウンロード