Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
beanshooter — Herramienta de enumeración y ataque JMX. | Kitploit
Herramientas/GitHubGitHub/qtc-de/beanshooter
Análisis de VulnerabilidadesExplotaciónPruebas de Penetración
GitHubqtc-de/beanshooter

beanshooter

Herramienta de enumeración y ataque JMX.

Ver Repositorio
5095551hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

beanshooter


beanshooter es una herramienta de enumeración y ataque JMX que ayuda a identificar vulnerabilidades comunes en endpoints JMX.

https://user-images.githubusercontent.com/49147108/183278179-4a5566a7-5af8-4ce8-a73d-1016876a36d5.mp4

Instalación


beanshooter es un proyecto maven y la instalación debería ser sencilla. Con maven instalado, solo ejecute los siguientes comandos para crear un archivo .jar ejecutable:```console [qtc@devbox ~]$ git clone https://github.com/qtc-de/beanshooter [qtc@devbox ~]$ cd beanshooter [qtc@devbox ~]$ mvn package

También puede usar paquetes precompilados que se crean para [cada lanzamiento](https://github.com/qtc-de/beanshooter/releases).
Los paquetes precompilados para la rama de desarrollo se crean automáticamente y se pueden encontrar en la *GitHub*
[página de acciones](https://github.com/qtc-de/beanshooter/actions). También hay una imagen Docker precompilada para ejecutar *beanshooter*
[disponible](#docker-image).

*beanshooter* no incluye *ysoserial* como dependencia. Para habilitar el soporte de *ysoserial*, debe especificar la ruta
a su archivo ``ysoserial.jar`` como argumento adicional (por ejemplo, ``--yso /opt/ysoserial.jar``) o cambiar la
ruta predeterminada dentro del [archivo de configuración de beanshooter](https://github.com/qtc-de/beanshooter/blob/master/beanshooter/config.properties) antes de construir el proyecto.

*beanshooter* admite autocompletado para *bash*. Para aprovechar el autocompletado, necesita tener el
proyecto [completion-helpers](https://github.com/qtc-de/completion-helpers) instalado. Si la configuración es correcta, simplemente
copiar el [script de autocompletado](https://github.com/qtc-de/beanshooter/blob/master/resources/bash_completion.d/beanshooter) en su carpeta ``~/.bash_completion.d`` habilita
el autocompletado.```console
[qtc@devbox ~]$ cp resources/bash_completion.d/beanshooter ~/bash_completion.d/

Tabla de contenidos


  • Operaciones Soportadas
    • Operaciones Básicas
      • attr
      • brute
      • deploy
      • enum
      • info
      • invoke
      • jolokia
      • list
      • model
      • serial
      • stager
      • standard
      • undeploy
    • Operaciones MBean
      • genérico
        • attr
        • info
        • invoke
        • stats
        • status
        • export
        • deploy
        • undeploy
      • diagnóstico
        • read
        • load
        • logfile
        • nolog
        • cmdline
        • props
      • hotspot
        • dump
        • list
        • get
        • set
      • mlet
        • load
      • grabador
        • new
        • start
        • stop
        • read
        • dump
      • tomcat
        • dump
        • list
        • write
      • tonka
        • exec
        • execarray
        • shell
        • upload
        • download
  • JMXMP
  • Soporte de Jolokia
  • Imagen Docker
  • Servidor de Ejemplo

Operaciones Soportadas


Las diferentes operaciones de beanshooter se pueden dividir en dos grupos: operaciones básicas y operaciones MBean. Mientras que las operaciones básicas se utilizan para realizar operaciones generales en un endpoint JMX, las operaciones MBean se dirigen a un MBean específico con el que interactuar. Para más detalles, consulta los ejemplos de uso en las siguientes secciones.```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

### Operaciones Básicas

---

Las operaciones básicas son operaciones de propósito general que se pueden realizar en un servicio JMX. Por lo general, son
operaciones que no apuntan a un MBean específico o que apuntan a un MBean sin soporte integrado por parte de beanshooter.

#### Attr

La acción `attr` se puede usar para obtener o establecer atributos en un *MBean* especificado. Para obtener los atributos disponibles,
se debe usar la acción `info`:```console
[qtc@devbox ~]$ beanshooter info 172.17.0.2 9010
...
[+] MBean Class: sun.management.MemoryImpl
[+] ObjectName: java.lang:type=Memory
[+]
[+]     Attributes:
[+]         Verbose (type: boolean , writable: true)
[+]         ObjectPendingFinalizationCount (type: int , writable: false)
[+]         HeapMemoryUsage (type: javax.management.openmbean.CompositeData , writable: false)
[+]         NonHeapMemoryUsage (type: javax.management.openmbean.CompositeData , writable: false)
[+]         ObjectName (type: javax.management.ObjectName , writable: false)
[+]
[+]     Operations:
[+]         void gc()

Cuando solo se especifica el nombre del atributo, beanshooter obtiene y muestra el valor actual del atributo:```console [qtc@devbox ~]$ beanshooter attr 172.17.0.2 9010 java.lang:type=Memory Verbose false

Cuando se especifica un valor adicional, *beanshooter* intenta establecer el atributo correspondiente. Para aquellos atributos que tengan un tipo diferente a *String*, es necesario especificar el tipo de atributo usando la opción `--type`:```console
[qtc@devbox ~]$ beanshooter attr 172.17.0.2 9010 java.lang:type=Memory Verbose true --type boolean
[qtc@devbox ~]$ beanshooter attr 172.17.0.2 9010 java.lang:type=Memory Verbose
true

Brute

Descargar herramienta