Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SuiteCRM-RCE — CVE-2020-28328 のライトアップ: SuiteCRM ログファイルのリモートコード実行に加えて、おまけのクロスサイトスクリプティング | Kitploit
ツール/GitHubGitHub/mcorybillington/suitecrm-rce
脆弱性分析エクスプロイトウェブアプリケーション悪用フィッシングペネトレーションテスト論文と研究学習と教育
GitHubmcorybillington/suitecrm-rce

SuiteCRM-RCE

CVE-2020-28328 のライトアップ: SuiteCRM ログファイルのリモートコード実行に加えて、おまけのクロスサイトスクリプティング

リポジトリを見る
215年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2020-28328 SuiteCRM ログファイルシステム設定とログファイルポイズニングによるリモートコード実行

概要

私は最近、SuiteCRM に2つの脆弱性を発見しました。これにより、低権限ユーザーが基盤となるオペレーティングシステム上でコード実行を達成する攻撃チェーンが可能になります。攻撃チェーンはクロスサイトスクリプティングで、これを利用してクロスサイトリクエストフォージェリを実行し、アプリケーション設定を改ざんしてログファイルをポイズニングすることでリモートコード実行に至ります。これはすべて、悪意のある JavaScript を含むファイルアップロードを介して達成され、低権限ユーザーが管理者権限を持つユーザーを騙して実行させることができます。添付した Proof-Of-Concept ファイルと動画は、低権限ユーザーがこの攻撃を実行し、SuiteCRM をホストしているシステム上でリバースシェルを取得する様子を示しています。 これは SuiteCRM バージョン 7.11.17 でパッチが適用されました。

深刻度

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
この評価には完全には同意していません。なぜなら、このエクスプロイトは管理者アクセスを必要とするため、PR:L が PR:H に変わり、最終スコアが 8.8 から 7.2 に調整されるからです。
私は次のように評価します: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
参照: https://nvd.nist.gov/vuln/detail/CVE-2020-28328

バージョン詳細

SuiteCRM バージョン 7.11.15

クロスサイトスクリプティング (XSS)

保存型クロスサイトスクリプティングは、「Create Documents」のファイルアップロードに存在します。低権限ユーザーは任意の内容のファイルをアップロードできます。次に、ユーザーはこのドキュメントをダウンロードするために提供されたリンクを調べ、id パラメータを特定することで、ファイルシステム上のファイルの場所を確認できます。この長いランダムな値は、/uploads/ ディレクトリ内のファイル名です。ユーザーはこのファイルに任意の JavaScript を配置し、そのリンクを別のユーザーに送信できます。これは、別のユーザーのセッションを乗っ取ったり、そのユーザーに代わって操作を実行したりするために使用でき、PoC 動画で示されています。

リモートコード実行

クロスサイトスクリプティングを介したセッションハイジャックで管理者になれることを発見した後、私は「Admin → System Settings」のシステムプロパティ、具体的にはログファイルのプロパティを制御できることを発見しました。ログファイルの拡張子はかなりしっかりブロックされていましたが、BurpSuite を使用して「Log File Name」の値を .php 拡張子を含む任意の値に更新できました。これは、何も変更せずにリクエストを送信し、実際に値を更新する POST リクエストをキャプチャすることで行いました。logger_file_name パラメータを shell.php に変更し、「Extension」フィールドを空白にしただけです。これにより、ブラウザで Web ルートにアクセスできる php ファイルが作成されましたが、実行するにはファイル内に php コードが必要でした。
次に、ファイルの出力を調査したところ、ロギングが info に設定されていれば(デフォルトだったと思います...)、ユーザーを更新するとき(ユーザーの名や姓など)にユーザープロパティを介してファイルへの入力を制御できることに気付きました。そこで、burp でリクエストをキャプチャし、last_name フォームフィールドに php コード <?php $id =`id`; echo $id; ?> を挿入しました。その結果、Linux 上で Web サーバーユーザー www-data のコンテキストで id コマンドの出力が得られました。ログファイルに基づいてエスケープされていることが確認できた文字は、シングルクォート、ダブルクォート、バックスラッシュだけでした。これは、バックエンドで sql ログファイルを tail することで確認できます。

2つの脆弱性をクロスサイトリクエストフォージェリに連鎖させる(ワンクリック → シェル)

私はセッションクッキーを取得できたため、これらすべてを管理者ユーザーとして実行できましたが、機能するチェーンにするには、管理者ユーザーのコンテキストで JavaScript を介してこれを実行する必要がありました。私は、いくつかの fetch リクエストを使用して、これらの各 POST リクエストを実行するスクリプトを作成できました。最初のリクエストはシステムプロパティを更新し、2番目は管理者ユーザーの「Last Name」フィールドを更新し、最後は悪意のある php コードを含む新しく作成されたログファイルに対して GET リクエストを実行しました。悪意のある php コードは、自分のマシンに対して curl リクエストを実行し、bash リバースシェルをダウンロードして、その curl リクエストの出力を直接 bash にパイプしてコードを実行します。その後、XSS セクションで説明したのと同じ方法でこれをアップロードし、管理者ユーザーとして新しいリンクに再度アクセスしました。bash ファイルをホストする Web サーバーと netcat リスナーを実行しておくことで、リバースシェルを取得できました。

緩和策

クロスサイトスクリプティング

Apache で AllowOveride All が設定されていることを確認してください。nginx にはこの設定がなく、nginx ではテストしていません。

リモートコード実行

SuiteCRM の最新リリース、または少なくともバージョン 7.11.17 に更新してください。
これが具体的な修正です。コミット 1618af16eaa494c4551bac961e5ac8fc3d87ab8c

SuiteCRM への報告

SuiteCRM は報告プロセス全体を通じて非常に迅速に対応しました。彼らは RCE を認め、パッチが適用されました。XSS は Web サーバー設定の結果であったため、脆弱性としては認識されませんでした。ただし、これを受けてドキュメントを更新する予定であると述べていました。

タイムライン

06 AUG 2020 -> 両方の問題を [email protected] に報告
07 AUG 2020 <- SuiteCRM がレポートの受信を確認し、内部セキュリティチームに問題を提起
21 AUG 2020 -> フォローアップのために [email protected] に連絡
25 AUG 2020 <- SuiteCRM が Web サーバー設定/XSS について返信
26 AUG 2020 -> AllowOveride All の提案が XSS を緩和することを伝える返信
16 SEP 2020 -> フォローアップのために [email protected] に連絡
17 SEP 2020 <- SuiteCRM が問題を部分的な問題として確認する返信
29 OCT 2020 アップデートリリース
03 NOV 2020 -> ライティングを公開する前に他に必要なものがないか確認するため [email protected] に連絡
05 NOV 2020 <- SuiteCRM が返信

私たちはこの問題のパッチをリリースし、公開領域にあるため、私たちの観点から脆弱性についてブログ記事を書くことは問題ありません。

05 NOV 2020 -> 私が CVE を申請
06 NOV 2020 <- CVE-2020-28328 が発行

POC

https://www.exploit-db.com/exploits/49001

SuiteCRM に感謝!

彼らはとても協力的で、今後もこのソフトウェアの脆弱性を探して報告し続けるつもりです!

ツールをダウンロード