Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
jvmxray — Externalizar el acceso de aplicaciones Java a recursos protegidos como mensajes de log. | Kitploit
Herramientas/GitHubGitHub/spoofzu/jvmxray
Análisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoRespuesta a Incidentes
GitHubspoofzu/jvmxray

jvmxray

Externalizar el acceso de aplicaciones Java a recursos protegidos como mensajes de log.

Ver Repositorio
465hace 1 mesRevisado 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

JVMXRay: Monitoreo de Seguridad en Aplicaciones Java

Black Hat Arsenal USA 2020 Java License Development Status

JVMXRay Logo

Historia de Duke

Documentación | Cambios desde Upstream | Blog del Proyecto

JVMXRay monitorea aplicaciones Java en tiempo real mediante inyección de bytecode, detectando vulnerabilidades y actividad sospechosa sin cambios en el código. 19 sensores modulares rastrean acceso a archivos, conexiones de red, consultas SQL, operaciones criptográficas, autenticación, ejecución de procesos y más — generando eventos de seguridad estructurados y legibles por máquina con correlación automática entre sensores.


Inicio rápido

root@kitploit:~
git clone https://github.com/spoofzu/jvmxray.git
cd jvmxray
mvn clean install

Durante la fase de pruebas de Maven, un pequeño programa llamado Turtle se ejecuta bajo el agente JVMXRay recién compilado. Turtle realiza operaciones de E/S de archivos, criptografía, ejecución de procesos, serialización, reflexión y otras actividades que activan los sensores — por lo que una compilación exitosa ya te proporciona registros de eventos de seguridad reales para explorar en ./target/test-jvmxray/. También se crea una base de datos SQLite en ./target/test-jvmxray/common/data/jvmxray-test.db para experimentación rápida. Consulta la documentación para más detalles.

Despliega como agente Java en tus propias aplicaciones:

root@kitploit:~
java -javaagent:target/jvmxray-0.0.1-agent.jar -jar yourapp.jar

Beneficios

  • Sin cambios en el código — Se adjunta a cualquier aplicación Java al inicio, como un depurador. Sin modificaciones de código fuente, sin recompilación, sin dependencias de bibliotecas que añadir.
  • Eventos estructurados listos para IA — Los sensores generan eventos de seguridad legibles por máquina, no líneas de registro no estructuradas. Usa tus herramientas de IA para analizar el comportamiento de la aplicación como tus registros de aplicación.
  • Se adapta a tu infraestructura de registro — Los eventos son mensajes de registro Logback. Envíalos a Splunk, ELK, DataDog, Kafka o cualquier destino que admita el ecosistema Logback.
  • Reconstrucción de cadenas de ataque — Eventos correlacionados con trace_id y scope_chain permiten a los equipos SOC rastrear un incidente desde una solicitud HTTP hasta la inyección SQL y la exfiltración de datos en una sola consulta.
  • Sobrecarga ajustable — Las propiedades estándar de nivel de registro Logback controlan qué sensores se activan y con qué verbosidad. Activa o desactiva sensores por entorno sin recompilar.

Ten en cuenta que JVMXRay es una fuente de verdad sobre lo que hace una aplicación Java, no un motor de análisis. El análisis lo proporciona tu solución de registro centralizada y/o tus proyectos de herramientas de IA.


Sensores

Correlación de eventos

Cada evento de sensor incluye campos de correlación para reconstruir cadenas de ataque:

Una cadena de ámbito como HTTP>Serialization>Reflection>Process es una firma de ataque de deserialización de un vistazo. La columna TRACE_ID está indexada en la base de datos para consultas rápidas de correlación.

Arquitectura

root@kitploit:~
java -javaagent:jvmxray-agent.jar -jar app.jar
         |
    AgentBootstrap (classloader aislado)
         |
    ByteBuddy instala interceptores de sensores
         |
    Los sensores se activan en entrada/salida de método
         |
    LogProxy fusiona el contexto de correlación MCC
         |
    +----------+----------+----------+
    | SQLite   | File     | Socket   |
    | Appender | Appender | Appender |
    +----------+----------+----------+
  • Java 17, ByteBuddy 1.14.17 para inyección de bytecode
  • Logback + SLF4J para registro empresarial (compatible con Splunk, ELK, DataDog)
  • Multi-base de datos: SQLite (desarrollo), MySQL, Cassandra (producción)
  • MCC (Contexto de Correlación Mapeado): seguimiento de ámbito local de hilo con limpieza TTL

Documentación

  • Referencia del Agente — Configuración de sensores, campos de eventos, esquema de base de datos
  • Componentes Comunes — Configuración y utilidades de base de datos
  • Registro de cambios — Cambios detallados de versiones
  • Archivo de noticias — Historial del proyecto

Agradecimientos

Este proyecto fue desarrollado utilizando ideas, arquitectura y, en algunos casos, código de las siguientes fuentes:

  • Claude Code CLI de Anthropic, Anthropic
  • Arquitectura de bytecode basada en parte en ideas de Terse Systems, Terse Systems
  • Framework de registro Logback de QOS.ch Sarl Suiza, QOS.ch
  • Apache Software Foundation, Apache Software Foundation

Colaborador(es)

Milton Smith — Creador y líder del proyecto

Divulgación: JVMXRay no está aprobado, respaldado ni afiliado con Oracle Corporation.

Descargar herramienta
SensorQué monitorea
E/S de archivosLecturas, escrituras, eliminaciones, permisos, enlaces simbólicos con resolución de rutas y estadísticas agregadas de E/S
RedConexión/aceptación/enlace/cierre de socket con detección de TLS, clasificación de IP privada, temporización
SQLCaptura de consultas con detección de parametrización, tipo de operación, duración, metadatos de conexión
HTTPSolicitud/respuesta con análisis de cabeceras de seguridad, correlación usuario/sesión
ProcesoProcessBuilder.start() y Runtime.exec() con argumentos de comando, duración, estado de salida
CriptografíaCipher/KeyStore/MessageDigest/SSL con detección de algoritmos débiles y validación de fortaleza de clave
AutenticaciónOperaciones de sesión, inicio de sesión JAAS, autenticación Spring Security, consultas de principal con seguimiento de éxito/fallo
Llamada APIHttpClient.send() con URI, método, host, TLS, estado de respuesta, temporización
Motor de scriptsScriptEngine.eval() con identificación del motor, hash de contenido, detección de patrones sospechosos, nivel de riesgo
SerializaciónDeserialización nativa de Java, Jackson, Gson, XStream con detección de cadenas de gadgets
ReflexiónClass.forName, Method.invoke, Field access, setAccessible con clasificación de amenazas
ConfiguraciónPropiedades del sistema, variables de entorno, archivos Properties, Preferences con anotaciones de seguridad
BibliotecaCarga de JAR estática y dinámica con SHA-256, coordenadas Maven, inventario de paquetes
MonitorEstado de JVM: memoria, hilos, GC, CPU, archivos abiertos, detección de interbloqueos (intervalo de 60s)
Excepción no capturadaDiagnósticos de fallo: pila completa, estado de memoria, volcado de hilos, cadena de causas, ID de incidente
Inicio de aplicaciónCaptura única al inicio: versión de JVM, SO, detección de contenedor, variables de entorno (editadas)
Transferencia de datosConteo de bytes de InputStream.read() (actualmente deshabilitado — demasiado amplio)
HiloMonitoreo del ciclo de vida de hilos (actualmente deshabilitado — requiere corrección de registro recursivo)
MemoriaSeguimiento de asignación de memoria (actualmente deshabilitado — requiere corrección de registro recursivo)
CampoEjemploPropósito
trace_ida1b2c3d4e5f6Vincula todos los eventos en el mismo contexto de ejecución
scope_chainHTTP>SQL>FileIORuta anidada del sensor — el "stacktrace de seguridad"
parent_scopeSQLPadre inmediato para reconstrucción de árbol
scope_depth3Nivel de anidamiento — profundidad 6+ justifica investigación