Bienvenidos al nuevo foro de hackplayers. En caso de encontrarse cualquier tipo de error, contacte con cualquier administrador por mensaje privado.
Recuerda que, para incrementar tu privacidad, tambien puedes acceder al foro usando el dominio forohpysho2t5mjs.onion de la red tor.
Recuerda que, para incrementar tu privacidad, tambien puedes acceder al foro usando el dominio forohpysho2t5mjs.onion de la red tor.
Custom-bytecode-analyzer: análisis de JARs mediante reglas personalizadas
Custom-bytecode-analyzer es una herramienta de línea de comandos que
recibe un directorio y un archivo JSON como parámetros. Analiza los
archivos JAR dentro del directorio (usando el framework ASM) y genera un
report dependiendo de las reglas definidas. Un ejemplo del tipo de
reglas que acepta sería:
El report generado mostraría todas las llamadas de java.lang.reflect.Method. invoke(...) que haya en el directorio a analizar.
La herramienta puede usarse para encontrar vulnerabilidades en proyectos Java sin importar si se dispone del código fuente (es básicamente para lo que la hice, pero al final decidí subirla a GitHub). Aun sigo desarrollándola para que soporte más reglas.
Espero que os parezca interesante, me encantaría saber vuestra opinión.
Tenéis más detalle en el 'readme' y el código en Github: https://github.com/fergarrui/custom-bytecode-analyzer
Contribución gracias a Fernando García
pd. ¿también has hecho tu propia herramienta y quieres compartirla? Ponemos a tu disposición nuestro repositorio Github y/o también podemos probarla y publicar una entrada. ¡Participa!
{
"rules": [{
"name": "Method invocation by reflection",
"invocations": [{
"owner": "java.lang.reflect.Method",
"method": {
"name": "invoke"
}
}]
}]
}
El report generado mostraría todas las llamadas de java.lang.reflect.Method. invoke(...) que haya en el directorio a analizar.
La herramienta puede usarse para encontrar vulnerabilidades en proyectos Java sin importar si se dispone del código fuente (es básicamente para lo que la hice, pero al final decidí subirla a GitHub). Aun sigo desarrollándola para que soporte más reglas.
Espero que os parezca interesante, me encantaría saber vuestra opinión.
Tenéis más detalle en el 'readme' y el código en Github: https://github.com/fergarrui/custom-bytecode-analyzer
Contribución gracias a Fernando García
pd. ¿también has hecho tu propia herramienta y quieres compartirla? Ponemos a tu disposición nuestro repositorio Github y/o también podemos probarla y publicar una entrada. ¡Participa!
En grupo se divide el trabajo y se multiplican los resultados.
Etiquetado:
Accede o Regístrate para comentar.
Comentarios
Aun sigo añadiendole cosillas, ahora he puesto que en el report te aparezca la clase que ha encontrado segun el JSON de busqueda decompilada, para ayudar a descartar o investigar algo de un vistazo rapido sin tener que cargar la libreria y decompilarla o buscar en grepcode.
Pabloko dijo: Se podria hacer, si no existe nada ya, quizas podria hacer una POC, aunque ultimamente no tengo demasiado tiempo. Lo que dices se ejecutaria en runtime y modificaria los parametros de las llamadas a metodos que tu especificas, no?
Saludos
lo ideal es que sea un hook global y que se aplique sin mas configuracion que estar en un directorio referente a la clase por ejemplo:
/var/javahook/System/out.java
Generar /var/javahook/System/out.class y que se cargue en todo el entorno java. Como esto es para testear se me ocurre compilar por mi cuenta openjdk para añadir que cargue y intercambie los metodos
Por cierto, pedazo de herramienta te has currao
Mola.