記事ディレクトリ
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 には上記以外にも脆弱性が存在しますが、ここでは一つ一つ紹介しませんので、興味のある方は主要な技術フォーラムなどでご自身で調べてください。