
Простой инструмент сканирования JMX RMI
Простой инструмент сканирования 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 извлекает JMX-эндпоинт host:port из RMI-реестра и проверяет, можно ли его эксплуатировать с помощью management applet (MLet) без учётных данных.
Где:
-d,--dumponly Извлекает эндпоинт host:port из RMI-реестра без проверки эксплуатируемости JMX без учётных данных.
-h,--help Выводит справку по инструменту.
-H,--host IP-адрес RMI-реестра для запроса.
-i,--ignore Использует IP-адрес RMI-реестра для вызовов методов. Игнорирует эндпоинт (IP) из дампа реестра.
-P,--port TCP-порт RMI-реестра для запроса.
Рассмотрим JVM-апплет, работающий со следующими свойствами:

Опция дампа RMI-реестра (-d, --dumponly) даёт следующий результат:

Проверка того, уязвим ли хост (192.168.229.131), в данном случае требует использования опции -i, --ignore.
Это помогает игнорировать «FakeHost» и использовать вместо него 192.168.229.131 вместе с динамическим TCP-портом
(45057), извлечённым ранее из RMI-реестра:

Подробнее см. в моём блоге: https://marcin-wolak.medium.com/