
WebLogicの脆弱性探索を初心者からエキスパートまで。
Abstract:近年、Weblogic のデシリアライゼーション脆弱性は、そのトリガーポイントに焦点を当てて発見されてきました。しかし、デシリアライゼーションに関わるものの、実際には悪用できないポイントは多く、通常の脆弱性調査では見落とされがちです。業界では「ポストデシリアライゼーション」脆弱性についてさらなる議論が行われており、一見悪用不可能に見える脆弱性が、その後の技術によって実際に悪用される可能性があります。例えば、bind() または rebind() 操作を実行しても脆弱性がトリガーされない場合、lookup() または lookupLink() などの他のメソッドを試すことで、脆弱性をトリガーすることができます。
このアプローチを用いて、我々は 2 つの WebLogic ポストデシリアライゼーション脆弱性(CVE-2023-21931、CVE-2023-21839)を発見しました。これらは Oracle によって公式に確認されています。本稿では、これら 2 つの WebLogic 脆弱性を例に、ポストデシリアライゼーション脆弱性を悪用する際の思考プロセスを共有します。今後、同様の脆弱性が数多く発見されることでしょう。本稿が研究者の皆さんの助けになれば幸いです。
Abstract:WebLogic のシリアライゼーション脆弱性は主に T3 および IIOP プロトコルに依存しています。これらのプロトコルは、クロスランゲージやネットワーク伝送など、通信相互作用において多くの問題を抱えており、脆弱性の検出と悪用に多くの不便をもたらす可能性があります。WhiteHat Labs の理念では、脆弱性の検出と悪用は創造的な作業であり、脆弱性のクロスプラットフォーム性と実用性を確保するために、最も簡潔かつ効率的な方法で実装されるべきです。そこで我々は、シリアライゼーション脆弱性の問題を解決するために、クロスランゲージの IIOP プロトコル通信ソリューションを実装しました。
Abstract:本稿では、以下の脆弱性を取り上げます: CVE-2021-2135、CVE-2021-2394、CVE-2020-2555、CVE-2020-2883、CVE-2020-14645、CVE-2020-14825、CVE-2020-14841、CVE-2020-14756。 近年、WebLogic Coherence コンポーネントにおけるデシリアライゼーション脆弱性が頻繁に報告されています。しかし、WebLogic Coherence コンポーネントの過去のデシリアライゼーション脆弱性に関する公開されたまとめは存在せず、WebLogic Coherence コンポーネントのデシリアライゼーション脆弱性を学びたい、または理解したい人々にとって困難な状況です。そこで、本稿では WebLogic Coherence コンポーネントの過去のデシリアライゼーション脆弱性のまとめと分析を提供します。
Abstract:2021 年 7 月 21 日、Oracle は一連のセキュリティアップデートをリリースしました。これには、Weblogic Server、Database Server、Java SE、MySQL などの製品における 342 件の脆弱性が含まれています。その中で、Oracle WebLogic Server 製品に高リスクの脆弱性があり、脆弱性番号は CVE-2021-2394、CVSS スコアは 9.8 です。この脆弱性は複数の WebLogic バージョンに影響し、T3 および IIOP プロトコルを使用して低難易度でリモートから悪用される可能性があります。
Abstract:最近公開された Weblogic のデシリアライゼーション RCE 脆弱性 CVE-2020-14645 は、CVE-2020-2883 のパッチのバイパスです。CVE-2020-2883 は基本的に ReflectionExtractor を介して任意のメソッドを呼び出し、Runtime オブジェクトの exec メソッドを使用して任意のコマンドを実行していました。パッチは ReflectionExtractor をブラックリストに登録したため、UniversalExtractor を使用して新しいエクスプロイトチェーンを構築できるようになりました。UniversalExtractor は get メソッドと is メソッドを任意に呼び出すことができ、これにより JDNI のリモート動的クラスローディングの悪用が可能になります。UniversalExtractor は Weblogic バージョン 12.2.1.4.0 に固有のものであり、本稿ではそのバージョンに基づいて分析します。
Abstract:2020 年 7 月 15 日、Oracle は多数のセキュリティパッチをリリースしました。その中で、CVE-2020-14644 脆弱性は深刻度 9.8 と評価され、バージョン 12.2.1.3.0、12.2.1.4.0、14.1.1.0.0 に影響を与えました。本稿は、インターネット上で公開されている proof-of-concept (POC) コードに基づいて再現と分析を行ったものです。最終的に、無制限の defineClass + インスタンス化を達成し、リモートコード実行 (RCE) をもたらしました。
機能に関する問題がある場合は、GitHub で issue を立てるか、以下のディスカッショングループで報告できます。