
Simple JMX RMI scanning tool
シンプルな JMX RMI スキャンツール
完全なコード: https://github.com/marcin-wolak/SimpleRmiDiscoverer/blob/master/SimpleRmiDiscoverer.java
このツールは、公開された Java JMX に対して以下のオプションを提供します:
[Apache Commons] (https://commons.apache.org/) (コマンドライン引数の解析用)
$ javac -cp commons-cli-1.6.0/commons-cli-1.6.0.jar SimpleRmiDiscoverer.java
SimpleRmiDiscoverer [-d] [-h] -H RMI-HOST-IP [-i] -P RMI-HOST-TCP-PORT
SimpleRmiDiscoverer は RMI レジストリから JMX の host:port エンドポイントを抽出し、資格情報なしで管理アプレット (MLet) を使用して悪用可能かどうかを確認します。
各オプション:
-d,--dumponly 資格情報なしでの JMX の悪用可能性を確認せずに、RMI レジストリからエンドポイント host:port を抽出します。
-h,--help ツールのヘルプを表示します。
-H,--host 照会する RMI レジストリの IP。
-i,--ignore メソッド呼び出しには RMI レジストリの IP を使用します。レジストリダンプのエンドポイント (IP) を無視します。
-P,--port 照会する RMI レジストリの TCP ポート。
以下のプロパティで実行されている JVM アプレットを想定します:

RMI レジストリのダンプ (-d, --dumponly) オプションを実行すると、以下の結果が得られます:

ホスト (192.168.229.131) が脆弱かどうかを確認するには、この場合 -i, --ignore オプションを使用する必要があります。
これにより、"FakeHost" を無視し、代わりに 192.168.229.131 を、先ほど RMI レジストリから抽出した動的 TCP ポート
(45057) とともに使用できます:

詳細については、私のブログを確認してください: https://marcin-wolak.medium.com/