
Sonder les points de terminaison consommant des objets sérialisés Java afin d'identifier les classes, les bibliothèques et les versions de bibliothèques sur les classpaths Java distants.
Vous venez de trouver un bug de désérialisation Java, vous avez exécuté toutes vos payloads ysoserial, et.... vous n'avez rien obtenu. Et maintenant ? Comment pouvez-vous déboguer ou construire une chaîne de gadgets si vous êtes totalement aveugle ?
Voici GadgetProbe, un outil qui éclaire les classpaths distants et augmente la sévérité des bugs pour tous !
GadgetProbe prend une wordlist de classes Java, génère des objets sérialisés de rappel DNS et signale ce qui se cache dans le classpath distant.
L'extension Burp s'intègre automatiquement à Burp Collaborator pour gérer les rappels DNS. L'extension inclut également des signatures et un analyseur pour identifier les versions de bibliothèques de sources populaires pour les gadgets.
Téléchargez la version ou suivez les instructions de compilation ci-dessous.
Après avoir chargé l'extension Burp :

2. Ajoutez une liste de classes Java (voir les wordlists incluses)

3. Ajoutez le processeur de payload GadgetProbe, ainsi que tout autre processeur requis dans votre chaîne (par exemple, encodage Base64).

4. Lancez l'attaque Intruder et observez les résultats dans l'onglet GadgetProbe de Burp.

GadgetProbe peut également être utilisé comme bibliothèque Java ou CLI pour des attaques spécialisées.
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
Voir mon article sur le blog de Bishop Fox.
Twitter : @theBumbleSec
GitHub : the-bumble