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()メソッドはユーザーの着信データに対して効果的なセキュリティ検出を実行せず、攻撃者は慎重に構築できますカウンターオブジェクトをシリアル化し、悪意のあるコードを実行します。