JBoss5.x6.xの逆シリアル化の脆弱性

JBOSS 下载地址:http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

EXP 下载地址:https://github.com/yunxu1/jboss-_CVE-2017-12149

2)。環境設定
wget http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

ここに画像の説明を挿入します
ステップ2:ネットワーク内のすべてのホストがJBOSSにアクセスできるように設定ファイルを変更します

vim〜 / jboss-6.1.0.Final / server / default / deploy / jbossweb.sar / server.xml

ここに画像の説明を挿入します
ステップ3:JBOSSを起動します

./jboss-6.1.0.Final/bin/run.sh

ここに画像の説明を挿入します
ステップ4:EXPをダウンロードする

git clone https://github.com/yunxu1/jboss-_CVE-2017-12149

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

スクリプトEXPの使用方法がありますが、グラフィカルな使用方法もあります

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

3)情報収集

ステップ1:nmapを使用して、ターゲットホストの共通ポートをスキャンします

nmap -p 1-65535 -A 192.168.1.107

ここに画像の説明を挿入します
手順2:ターゲットホストのポート8080にアクセスして、正常にアクセスできるかどうかを確認します

ここに画像の説明を挿入します
4)脆弱性の悪用

ダウンロードしたEXPを使用して脆弱性を悪用し、グラフィカルツールjbossを開いてdeserialize_CVE-2017-12149.jarを実行します

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

githubはjbossを検出するプロジェクトをリリースしました:https://github.com/joaomatosf/jexboss

ここでビルド環境の検証:

脆弱性IP:192.168.127.128

プロジェクトを直接複製してローカルで使用する

ここに画像の説明を挿入します
アイコンが赤い場合は、問題があることを意味します
ここに画像の説明を挿入します

シェルが正常にリバウンドしたことがわかります。

このプロジェクトはバッチスキャンも実現できますが、これは一般的に非常に優れています。

Javaの逆シリアル化の脆弱性を理解する

ペーパー:Javaの逆シリアル化の脆弱性をエントリーから詳細まで学ぶことをお勧めします:https://xz.aliyun.com/t/2041。内容はさらに多く、最初に単純なJava構文構造とオブジェクト指向プログラミングの基本を理解し、次にシリアル化と逆シリアル化の基本概念と脆弱性の原因を学びます。

(1)シリアル化:Javaオブジェクトをバイトシーケンスに変換するプロセスは、メモリ、ファイル、およびデータベースに簡単に保存できます。ObjectOutputStreamクラスのwriteObject()メソッドはシリアル化できます。

(2)逆シリアル化:バイトシーケンスをJavaオブジェクトに復元するプロセス。ObjectInputStreamクラスのreadObject()メソッドは、逆シリアル化に使用されます。

(3)脆弱性の原因:デシリアライズAPIまたは着信ポイントを公開すると、ユーザーは着信データを操作でき、デシリアライズreadObject()メソッドはユーザーの着信データに対して効果的なセキュリティ検出を実行せず、攻撃者は慎重に構築できますカウンターオブジェクトをシリアル化し、悪意のあるコードを実行します。

おすすめ

転載: blog.csdn.net/weixin_44110913/article/details/109521747