
JMX-Enumeration und Angriffswerkzeug.
beanshooter ist ein JMX-Erkennungs- und Angriffswerkzeug, das hilft, häufige Schwachstellen auf JMX-Endpunkten zu identifizieren.
beanshooter ist ein Maven-Projekt und die Installation sollte unkompliziert sein. Mit installiertem Maven genügen die folgenden Befehle, um eine ausführbare .jar-Datei zu erstellen:```console
[qtc@devbox ~]$ git clone https://github.com/qtc-de/beanshooter
[qtc@devbox ~]$ cd beanshooter
[qtc@devbox ~]$ mvn package
Sie können auch vorgefertigte Pakete verwenden, die für [jede Veröffentlichung](https://github.com/qtc-de/beanshooter/releases) erstellt werden.
Vorgefertigte Pakete für den Entwicklungszweig werden automatisch erstellt und sind auf der *GitHub*
[Actions-Seite](https://github.com/qtc-de/beanshooter/actions) zu finden. Außerdem ist ein vorgefertigtes Docker-Image für die Ausführung von *beanshooter*
[verfügbar](#docker-image).
*beanshooter* enthält *ysoserial* nicht als Abhängigkeit. Um *ysoserial*-Unterstützung zu aktivieren, müssen Sie entweder den Pfad
zu Ihrer ``ysoserial.jar``-Datei als zusätzliches Argument angeben (z.B. ``--yso /opt/ysoserial.jar``) oder Sie ändern den
Standardpfad in der [beanshooter-Konfigurationsdatei](https://github.com/qtc-de/beanshooter/blob/master/beanshooter/config.properties) vor dem Bau des Projekts.
*beanshooter* unterstützt die automatische Vervollständigung für *bash*. Um die automatische Vervollständigung zu nutzen, müssen Sie das
[completion-helpers](https://github.com/qtc-de/completion-helpers)-Projekt installiert haben. Bei korrekter Einrichtung genügt es, das
[Vervollständigungsskript](https://github.com/qtc-de/beanshooter/blob/master/resources/bash_completion.d/beanshooter) in Ihren ``~/.bash_completion.d``-Ordner zu kopieren, um die
automatische Vervollständigung zu aktivieren.```console
[qtc@devbox ~]$ cp resources/bash_completion.d/beanshooter ~/bash_completion.d/
Die verschiedenen beanshooter-Operationen lassen sich in zwei Gruppen unterteilen: grundlegende Operationen und MBean-Operationen. Während grundlegende Operationen dazu dienen, allgemeine Operationen an einem JMX-Endpunkt durchzuführen, zielen MBean-Operationen auf ein bestimmtes MBean ab, um damit zu interagieren. Weitere Details finden Sie in den Nutzungsbeispielen in den folgenden Abschnitten.```console [qtc@devbox ~]$ beanshooter -h usage: beanshooter [-h] ...
beanshooter v3.0.0 - a JMX enumeration and attacking tool
positional arguments:
Basic Operations attr set or get MBean attributes brute bruteforce JMX credentials deploy deploys the specified MBean on the JMX server enum enumerate the JMX service for common vulnerabilities info display method and attribute information on an MBean invoke invoke the specified method on the specified MBean list list available MBEans on the remote MBean server serial perform a deserialization attack stager start a stager server to deliver MBeans undeploy undeploys the specified MBEAN from the JMX server
MBean Operations diagnostic Diagnostic Command MBean hotspot HotSpot Diagnostic MBean mlet default JMX bean that can be used to load additional beans dynamically recorder jfr Flight Recorder MBean tomcat tomcat MemoryUserDatabaseMBean used for user management tonka general purpose bean for executing commands and uploading or download files
named arguments: -h, --help show this help message and exit
### Grundlegende Operationen
---
Grundlegende Operationen sind allgemeine Operationen, die auf einem JMX-Dienst ausgeführt werden können. In der Regel handelt es sich um Operationen, die nicht auf einen bestimmten MBean abzielen oder die auf einen MBean abzielen, der keine integrierte Unterstützung durch beanshooter besitzt.
#### Attr