
Sondea endpoints que consumen objetos serializados de Java para identificar clases, bibliotecas y versiones de bibliotecas en classpaths remotos de Java.
Acabas de encontrar un bug de deserialización de Java, ejecutaste todos tus payloads de ysoserial y... no obtuviste nada. ¿Y ahora qué? ¿Cómo puedes depurar o construir una cadena de gadgets si estás completamente a ciegas?
Te presentamos GadgetProbe, una herramienta que arroja luz sobre los classpaths remotos y aumenta la gravedad del bug para todos.
GadgetProbe toma una wordlist de clases Java, genera objetos serializados de devolución de llamada DNS e informa de lo que se esconde en el classpath remoto.
La extensión de Burp se integra automáticamente con Burp Collaborator para gestionar las devoluciones de llamada DNS. La extensión también incluye firmas y un analizador para identificar versiones de librerías de fuentes populares de gadgets.
Descarga la versión publicada o sigue las instrucciones de compilación a continuación.
Después de cargar la extensión de Burp:

2. Añade una lista de clases Java (consulta las wordlists incluidas)

3. Añade el procesador de payload de GadgetProbe y cualquier otro procesador necesario en tu cadena (p. ej., codificación Base64).

4. Ejecuta el ataque de Intruder y observa cómo los resultados vuelven a la pestaña GadgetProbe de Burp.

GadgetProbe también se puede utilizar como librería Java o CLI para ataques especializados.
import com.bishopfox.gadgetprobe.GadgetProbe
...
// Call the GadgetProbe constructor with your authoritative nameserver (or use Burp collaborator).
GadgetProbe gp = new GadgetProbe("dnscallback.burpcollaborator.net");
// The crafted object "obj" is now ready to be sent using any custom implementation :)
Object obj = gp.getObject("org.apache.commons.collections.functors.invokertransformer");
# Build JAR (run first)
./gradlew shadowJar
# Build wordlists
./generate_wordlists.sh
Consulta mi artículo en el blog de Bishop Fox.
Twitter: @theBumbleSec
GitHub: the-bumble