
Untersucht Endpunkte, die Java-serialisierte Objekte verarbeiten, um Klassen, Bibliotheken und Bibliotheksversionen auf entfernten Java-Classpaths zu identifizieren.
Du hast gerade einen Java-Deserialisierungs-Bug gefunden, alle deine ysoserial-Payloads ausgeführt und .... nichts bekommen. Was nun? Wie kannst du eine Gadget-Kette debuggen oder aufbauen, wenn du völlig blind bist?
Hier ist GadgetProbe, ein Tool, das Licht auf entfernte Klassenpfade wirft und die Bug-Schwere für alle erhöht!
GadgetProbe nimmt eine Wordlist von Java-Klassen, erzeugt serialisierte DNS-Callback-Objekte und berichtet, was sich im entfernten Klassenpfad versteckt.
Die Burp-Erweiterung integriert sich automatisch in Burp Collaborator, um DNS-Callbacks zu verarbeiten. Die Erweiterung enthält außerdem Signaturen und einen Analysator, um Bibliotheksversionen beliebter Quellen für Gadgets zu identifizieren.
Lade das Release herunter oder folge den Build-Anweisungen unten.
Nach dem Laden der Burp-Erweiterung:

2. Füge eine Liste von Java-Klassen hinzu (siehe enthaltene Wordlists)

3. Füge den GadgetProbe-Payload-Prozessor und alle anderen erforderlichen Prozessoren in deiner Kette hinzu (z. B. Base64-Codierung).

4. Führe den Intruder-Angriff aus und beobachte, wie die Ergebnisse im GadgetProbe-Burp-Tab zurückkommen.

GadgetProbe kann auch als Java-Bibliothek oder CLI für spezialisierte Angriffe verwendet werden.
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
Siehe meinen Artikel im Bishop-Fox-Blog.
Twitter: @theBumbleSec
GitHub: the-bumble