ネットワーク セキュリティの詳細な学習レッスン 6 - 一般的なフレームワークの脆弱性 (RCE - Weblogic デシリアライゼーションの脆弱性)


1. Weblogic の概要

現在、Weblogic の使用状況は世界トップクラスにあります。統計によると、世界中で Weblogic サービスを備えた資産が 35,382 もあり、米国と中国での Weblogic の使用率は世界の 70% 近くに達しています。 Weblogic の総使用量のうち、中国に属する資産の数は 10,562 ユニットです。

  • Weblogic の脆弱性のほとんどは 201X 年に報告されました。
  • Weblogic 共通ポート: 7001

2. Weblogic デシリアライゼーションの脆弱性の歴史

  • #SSRF:
    CVE-2014-4210

  • #JAVA反序列化:
    CVE-2015-4852
    CVE-2016-0638
    CVE-2016-3510
    CVE-2017-3248
    CVE-2018-2628
    CVE-2018-2893

  • #任意のファイルのアップロード
    CVE-2018-2894

  • #XMLDecoder 逆シリアル化:
    CVE-2017-10271
    CVE-2017-3506

  • Weblogic のいくつかの新しいバージョンがアクティブです
    Weblogic 10.3.6.0
    Weblogic 12.1.3.0
    Weblogic 12.2.1.1
    Weblogic 12.2.1.2
    Weblogic 12.2.1.3


3. Weblogic フレームワークの機能

1.404インターフェース

ここに画像の説明を挿入します

2. ログインインターフェース

一般的なデフォルトのバックエンド アドレスは次のとおりです: IP:7001/console/login/LoginForm.jsp
ここに画像の説明を挿入します


4. Weblogic アカウントとパスワードに一般的に使用される弱いパスワード

ここに画像の説明を挿入します


5. Weblogic の脆弱性の概要

Weblogic パスワードは AES (旧バージョン 3DES) を使用して暗号化されており、対称暗号化は復号化できるため、ユーザーの暗号文と暗号化キーを見つけるだけで済みます。どちらのファイルもbase_domainの下にあり、SerializedSystemIni.datおよびconfig.xmlという名前が付けられます。


6. Weblogic の脆弱性を手動で再現する

1. アカウントのパスワードを取得する 任意のファイルを読み取られる脆弱性です。

1) SerializedSystemIni.dat ファイルを読み取り、暗号化キーを取得します。

http://ip:7001/hello/file.jsp?path=security/SerializedSystemIni.dat にアクセスしてください。任意のファイルを読み取る脆弱性があります。SerializedSystemIni.dat は
ここに画像の説明を挿入します
ここに画像の説明を挿入します
注意:バイナリ ファイルなので、読み取りおよび参照するには burpsuite を使用する必要があります。 . サーバーから直接ダウンロードすると、干渉する文字が発生する可能性があります。burpで読み込まれた文字化けした文字列を選択してコピーし、ローカルに保存し、1.datという名前を付けます。

2) config.xml ファイルを読み取り、暗号化されたパスワードを取得します。

http://ip:7001/hello/file.jsp?path=config/config.xml にアクセスすると、その<node-manager-password-encrypted>値が暗号化された管理者パスワードになります。
ここに画像の説明を挿入します

3) ツールを使用してクリアテキストのパスワードを取得する

ここに画像の説明を挿入します
このようにして、管理者のパスワードを取得します。

2. バックグラウンドでシェルをアップロードします (前提条件: 今ファイルを読み取って取得したアカウント パスワードを使用して正常にログインします)

1) アップロード入口

アップロード エントリ: ドメイン構造 - デプロイメント - インストール - ファイルのアップロード - このデプロイメントをアプリケーションとしてインストールします。あとはプロジェクト名にアクセスするだけです。
ここに画像の説明を挿入します

2) アップロードパス

アップロード パス: ドメイン構造 - デプロイメント - インストール - ファイルのアップロード - このデプロイメントをアプリケーションとしてインストールします。あとはプロジェクト名にアクセスするだけです。
ここに画像の説明を挿入します
「ファイルをアップロード」をクリックすると以下のページにジャンプします
ここに画像の説明を挿入します

3) シェルをアップロードします。ここで war ファイルをアップロードする必要があります

ここで、JSP シェルをアップロードする必要があることに注意してください。次に、shell.jsp を処理する必要があります。
ここに画像の説明を挿入します

ファイルを圧縮する
ここに画像の説明を挿入します

次に、ファイル拡張子をshell.warに変更します。
ここに画像の説明を挿入します

シェルをアップロードしたら、「次へ」をクリックします
ここに画像の説明を挿入します

これが表示されれば、シェルのアップロードが成功したことになります。ここにもパスがあるので、
ここに画像の説明を挿入します
そのまま「次へ」をクリックしてください。

最後に「完了」をクリックすると、シェルのアップロード操作はここで完了です。
ここに画像の説明を挿入します

4) シェルツールを使用して接続します

ここでは Ice Scorpion 馬を使用するため、Ice Scorpion 接続を使用します。接続
パスは次のとおりです。
ここに画像の説明を挿入します
ここに画像の説明を挿入します


7. 追記

Weblogic には上記以外にも脆弱性が存在しますが、ここでは一つ一つ紹介しませんので、興味のある方は主要な技術フォーラムなどでご自身で調べてください。


おすすめ

転載: blog.csdn.net/p36273/article/details/132982083