![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
KenticoのXperience CMSは、いくつかの重要な基準を有望で充実したものとして際立っていました。これは、「興味深い」と定義するものの基準を満たしています。
Recently joining the watchTowr Labs team, I wanted to maintain the trail of destruction left by the team and so had to get my teeth into things quickly. Two primary goals were clear:
最近、WatchTowr Labsチームに参加した私は、チームが残した破壊の軌跡を維持したかったので、すぐに歯を吸い込まなければなりませんでした。 2つの主要な目標が明らかでした:
* Continue the legacy of high-quality research into interesting and impactful vulnerabilities.
*興味深いインパクトのある脆弱性に関する高品質の研究の遺産を継続します。
* Contribute to the broader security community with our findings.
*調査結果を使用して、より広範なセキュリティコミュニティに貢献します。
Kentico’s Xperience CMS stood out as promising, fulfilling several key criteria:
KenticoのXperience CMSは、有望で、いくつかの重要な基準を満たすものとして際立っていました。
* It’s a widely used solution, powering a large portion of the web.
*これは広く使用されているソリューションであり、Webの大部分に電力を供給しています。
* The Kentico security team has always been responsive and engaged in disclosing vulnerabilities.
*ケンチコのセキュリティチームは常に対応しており、脆弱性の開示に従事しています。
* It presented several interesting technical challenges that we enjoyed exploring.
*私たちが探検したいくつかの興味深い技術的課題を提示しました。
This meets the criteria of something we’d define as “interesting,” so we began. A few hours later, (sigh), we stumbled into our first Authentication Bypass vulnerability. Throughout this research, we identified the following vulnerabilities:
これは、私たちが「興味深い」と定義するものの基準を満たしているので、私たちは始めました。数時間後(ため息)、私たちは最初の認証バイパスの脆弱性につまずきました。この研究を通して、次の脆弱性を特定しました。
* WT-2025-0006: Authentication Bypass in Kentico Xperience CMS Staging API
* WT-2025-0006:Kentico Xperience CMSステージングAPIの認証バイパス
* WT-2025-0007: Post-Auth Remote Code Execution in Kentico Xperience CMS Staging API
* WT-2025-0007:Kentico Xperience CMSステージングAPIでのポストAUTHリモートコードの実行
* WT-2025-0011: Another Authentication Bypass in Kentico Xperience CMS Staging API
* WT-2025-0011:Kentico Xperience CMSステージングAPIの別の認証バイパス
As we walk through this analysis, we’ll take you on our journey that allowed us to build exploit chains to achieve Remote Code Execution against (at the time) fully patched Kentico Xperience CMS deployments.
この分析を進めるとき、私たちはあなたを旅に連れて行きます。これにより、エクスプロイトチェーンを構築して、(当時)完全にパッチを当てたケンティコXperience CMSの展開に対してリモートコード実行を実現することができます。
Time to dive in… (and until next time..)
飛び込む時間…(そして次回まで..)
Vulnerable Configuration
脆弱な構成
脆弱な構成
Before we even start deep diving into the vulnerabilities, we want to be clear that the vulnerabilities highlighted in this blogpost do not affect every Kentico CMS installation (but do appear to affect common configurations).
脆弱性に深く潜り込む前に、このブログ投稿で強調されている脆弱性がすべてのケンチコCMSのインストールに影響しないことを明確にしたいと思います(ただし、共通の構成に影響するようです)。
For the vulnerabilities we’re about to discuss, two requirements need to be fulfilled:
私たちが議論しようとしている脆弱性のために、2つの要件を満たす必要があります。
* The Staging Service must be enabled.
*ステージングサービスを有効にする必要があります。
* The authentication type must be set to User name and password.
*認証タイプは、ユーザー名とパスワードに設定する必要があります。
However, based on our dataset and exposure across the watchTowr client base, we can confidently say that the above requirements appear to be a common configuration - please do not write these weaknesses off as requiring edge cases. Reassuringly, this seriousness and severity was reflected in the vendors response - the Kentico security team treated all vulnerabilities seriously, and we’ll discuss this further later.
ただし、WatchTowrクライアントベース全体のデータセットと露出に基づいて、上記の要件が共通の構成であると思われると自信を持って言うことができます。エッジケースを必要とするように、これらの弱点を書き留めないでください。安心して、この深刻さと重大度はベンダーの対応に反映されていました - ケンティコのセキュリティチームはすべての脆弱性を真剣に扱いました。これについては後でさらに説明します。
Our research, initially, was performed our initial research on Kentico Xperience 13.0.172. We also found a second Authentication Bypass, while reviewing Kentico Xperience 13.0.173. Although we never reviewed version 12 of Kentico Xperience (or below), we have high-confidence data that version 12 is also vulnerable to both WT-2025-0006 Authentication Bypass and WT-2025-0011 Authentication Bypass.
当初、私たちの研究は、Kentico Xperience 13.0.172に関する最初の研究を実施しました。また、Kentico Xperience 13.0.173をレビューしながら、2番目の認証バイパスも見つかりました。 Kentico Xperienceのバージョン12(または以下)をレビューしたことはありませんが、バージョン12はWT-2025-0006認証バイパスとWT-2025-0011認証バイパスの両方に対しても脆弱であるという高い自信データがあります。
To get your system into a vulnerable position while you follow this post along at home, a Kentico administrative user can enable the Staging Service within the CMS settings functionality, while selecting the User name and password authentication type, as presented in the next screenshot:
自宅でこの投稿をフォローしている間、システムを脆弱な位置にするために、ケンティコの管理ユーザーは、次のスクリーンショットで提示されているように、ユーザー名とパスワード認証タイプを選択しながら、CMS設定機能内のステージングサービスを有効にすることができます。
With this configuration complete, the next step is to investigate how this authentication is being performed. Let's dive into the technical details!
この構成が完了すると、次のステップは、この認証の実行方法を調査することです。技術的な詳細に飛び込みましょう!
WT-2025-0006: Authentication Bypass
WT-2025-0006:認証バイパス
WT-2025-0006:認証バイパス
When we review new solutions, as we’ve described before a basic aim is to understand the exposed attack surface of the solution and quickly get a feel for how it has been architected. In case of web applications, you may want to look for some REST- or SOAP-based APIs. Interestingly, Kentico’s Experience CMS does not expose a significant number of webservices and endpoints, presenting a relatively small attack surface.
前に説明したように、新しいソリューションを確認するとき、基本的な目的は、ソリューションの露出した攻撃面を理解し、それがどのようにアーキテクチャされたかを迅速に感じることです。 Webアプリケーションの場合、休憩またはSOAPベースのAPIを探すことをお勧めします。興味深いことに、Kenticoの経験CMSは、かなりの数のWebサービスやエンドポイントを露出せず、比較的小さな攻撃面を提示します。
However, a service called CMS.Synchronization.WSE3.SyncServer immediately caught our attention. It exposes a single endpoint, and was interesting for two reasons:
ただし、cms.synchronization.wse3.syncserverというサービスがすぐに私たちの注意を引きました。単一のエンドポイントを公開し、2つの理由で興味深いものでした。
* It’s used for synchronization tasks between several Kentico instances.
*いくつかのケンチコインスタンス間の同期タスクに使用されます。
* It’s part of the internal Kentico API, not something that is designed to be used by third-party services or applications.
*これは内部のケンチコAPIの一部であり、サードパーティのサービスやアプリケーションで使用するように設計されたものではありません。
Sounds like fun! Let's try to send a simple HTTP request targeting this web method and just see what happens through the power of FAFO:
楽しいように聞こえます!このWebメソッドをターゲットにした簡単なHTTPリクエストを送信して、FAFOのパワーを通じて何が起こるかを確認しましょう。
We’re presented with the following error message:
次のエラーメッセージが表示されます。
In the screenshot above presenting the definition of WebService, you may have noticed a mysterious Policy attribute. Its full class name is Microsoft.Web.Services3.PolicyAttribute, and it's implemented in Microsoft.Web.Services3.dll. We've never heard of this DLL before, and so found ourselves scratching our heads a little here.
WebServiceの定義を提示している上記のスクリーンショットでは、神秘的なポリシー属性に気づいたかもしれません。その完全なクラス名はMicrosoft.web.services3.policyattributeで、microsoft.web.services3.dllで実装されています。このDLLについて聞いたことがないので、ここで少し頭を掻いていることがわかりました。
A quick Google search revealed that this is part of obsolete (probably since 2012) Web Services Enhancement 3.0 for Microsoft .NET. This is likely superseded by .NET WCF, but it'
Googleの簡単な検索により、これはMicrosoft .Net用のObsolete(おそらく2012年以降)Web Services Enhancement 3.0の一部であることが明らかになりました。これは.NET WCFに置き換えられる可能性がありますが、
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。