Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Hack tutorial: scopriamo un attacco XML External Entities (XXE)

Redazione RHC : 26 Aprile 2021 06:30

Autore: Damiano Capo

Data Pubblicazione: 22/04/2021

Iscriviti GRATIS alla RHC Conference 2025 (Venerdì 9 maggio 2025)

Il giorno Venerdì 9 maggio 2025 presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terrà la RHC Conference 2025. Si tratta dell’appuntamento annuale gratuito, creato dalla community di RHC, per far accrescere l’interesse verso le tecnologie digitali, l’innovazione digitale e la consapevolezza del rischio informatico.

La giornata inizierà alle 9:30 (con accoglienza dalle 9:00) e sarà interamente dedicata alla RHC Conference, un evento di spicco nel campo della sicurezza informatica. Il programma prevede un panel con ospiti istituzionali che si terrà all’inizio della conferenza. Successivamente, numerosi interventi di esperti nazionali nel campo della sicurezza informatica si susseguiranno sul palco fino alle ore 19:00 circa, quando termineranno le sessioni. Prima del termine della conferenza, ci sarà la premiazione dei vincitori della Capture The Flag prevista per le ore 18:00.
Potete iscrivervi gratuitamente all'evento utilizzando questo link.

Per ulteriori informazioni, scrivi a [email protected] oppure su Whatsapp al 379 163 8765


Supporta RHC attraverso:


Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

L’XXE è un tipo di attacco che viene sferrato nei confronti di un’applicazione che non analizza correttamente l’input XML. Esso si verifica quando l’input XML, contenente un riferimento a un’entità esterna, viene elaborato da un parser XML configurato in modo debole.

Le conseguenze dell’attacco possono essere gravi e possono arrivare alla divulgazione di dati riservati, a delle negazioni del servizio (DoS), a Server side request forgery, a port scanning dal punto di vista della macchina in cui si trova il parser e altri impatti sul sistema.

Lo standard XML 1.0 definisce la struttura di un documento XML.

Questo standard definisce un concetto chiamato “entità”, che è sostanzialmente un’unità di archiviazione di qualche tipo. Esistono diversi tipi di entità, entità esterne analizzate da parametri / generali spesso abbreviate in entità esterne, che possono accedere ad un contenuto locale o remoto tramite un identificatore di sistema dichiarato.

Si presume che l’identificatore di sistema sia un URI che può essere dereferenziato (accessibile) dal processore XML durante l’elaborazione dell’entità.

Il processore XML quindi sostituisce le occorrenze dell’entità esterna denominata con i contenuti dereferenziati dall’identificatore di sistema. Se l’identificatore di sistema contiene dati contaminati e il processore XML de referenzia questi dati contaminati, il processore XML può divulgare informazioni riservate normalmente non accessibili dall’applicazione.

Vettori di attacco simili applicano l’uso di DTD esterni, fogli di stile esterni, schemi esterni, ecc. che, se inclusi, consentono attacchi di stile di inclusione di risorse esterne simili.

Gli attacchi possono includere la divulgazione di file locali, che possono contenere dati sensibili come password o dati utente privati, utilizzando schemi file: o percorsi relativi nell’identificatore di sistema.

Poiché l’attacco si verifica in relazione all’applicazione che elabora il documento XML, un utente malintenzionato può utilizzare questa applicazione affidabile per eseguire il pivot su altri sistemi interni, eventualmente divulgando altri contenuti interni tramite richieste http o lanciando un CSRF a qualsiasi servizio interno non protetto.

In alcune situazioni, una libreria del processore XML che è vulnerabile a problemi di danneggiamento della memoria lato client può essere sfruttata dereferenziando un URI dannoso, possibilmente consentendo l’esecuzione di codice arbitrario con l’account dell’applicazione.

Altri attacchi possono accedere a risorse locali che potrebbero non interrompere la restituzione dei dati, con possibile impatto sulla disponibilità dell’applicazione se non vengono rilasciati troppi thread o processi.

Si noti che l’applicazione non deve restituire esplicitamente la risposta all’autore dell’attacco affinché sia ​​vulnerabile alla divulgazione di informazioni. Un utente malintenzionato può sfruttare le informazioni DNS per esfiltrare i dati tramite i nomi di sotto dominio a un server DNS che controlla.

Scenario

Supponiamo di aver scoperto che il target è vulnerabile ad XXE.

Il passo successivo è quello di utilizzare un payload che ci possa permettere di sfruttare questa vulnerabilità. Un esempio classico che viene utilizzato dai penetration testers è il seguente:

In genere, è sufficiente disabilitare la risoluzione di entità esterne e disabilitare il supporto per XInclude. Questo di solito può essere fatto tramite le opzioni di configurazione o sovrascrivendo a livello di codice il comportamento predefinito.

Consultate sempre la documentazione per la libreria di analisi XML o l’API per dettagli su come disabilitare le funzionalità non necessarie.

Riferimenti:

https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing

https://portswigger.net/web-security/xxe

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

Articoli in evidenza

DarkLab intervista HellCat Ransomware! La chiave è “assicurarsi che tutti comprendano la cybersecurity”

Il ransomware HellCat è apparso nella seconda metà del 2024 e ha attirato l’attenzione degli analisti grazie all’umorismo delle sue dichiarazioni pubbliche. Ricordiamo l’...

X/Twitter nel Caos! Un Threat Actors pubblica 2.8 Miliardi di Account Compromessi

Il 28 marzo 2025, un utente del noto forum di cybersecurity BreachForums, con lo pseudonimo ThinkingOne, ha rivelato quello che potrebbe essere il più grande data breach mai registrato nel mondo ...

Signal è abbastanza sicuro per la CIA e per il CISA. Lo è anche per te?

Quando Jeffrey Goldberg dell’Atlantic ha fatto trapelare accidentalmente un messaggio di gruppo privato di alti funzionari statunitensi su un possibile attacco contro gli Houthi nello Yemen, ha...

Addio alle password! La rivoluzione della sicurezza informatica è già iniziata

Ogni mese diventa sempre più evidente: le password non funzionano più. Gli hacker hanno imparato a eludere anche la protezione a due fattori sfruttando sessioni rubate e milioni di dati comp...

Alla scoperta della Pseudonimizzazione: Tra definizione e valore giuridico

La pseudonimizzazione è una tecnica di protezione dei dati definita dall’art. 4(5) del GDPR. Consiste nella trasformazione dei dati personali in modo tale che non possano più essere a...