
Simple JMX RMI scanning tool
简单的 JMX RMI 扫描工具
完整代码:https://github.com/marcin-wolak/SimpleRmiDiscoverer/blob/master/SimpleRmiDiscoverer.java
该工具为暴露的 Java JMX 提供以下选项:
$ 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 从 RMI 注册表提取端点 host:port,而不检查是否无需凭据即可利用 JMX。
-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 以及动态 TCP 端口
(45057)(先前从 RMI 注册表提取)作为替代:

请查看我的博客以获取更多详细信息:https://marcin-wolak.medium.com/