Cos'è l'attraversamento delle directory?
Pubblicato: 2023-05-09Inducendo con l'inganno un server Web a esporre informazioni altrimenti riservate, gli aggressori possono ottenere un potente strumento per compromettere un sistema e causare danni significativi. L'attraversamento delle directory è un metodo comune utilizzato per raggiungere questo obiettivo. Un tentativo di navigare al di fuori delle aree del filesystem riservate a un determinato sito Web può portare al furto di dati e all'esecuzione di codice arbitrario.
In genere, i server Web limitano l'accesso al file system confinando i file di un sito Web all'interno della sua directory principale, nota anche come cartella principale dei documenti. Tuttavia, i criminali informatici possono eludere questi controlli di sicurezza e sfruttare autorizzazioni di file non sicure. In questo modo, possono ottenere l'accesso non autorizzato a informazioni critiche memorizzate altrove sul server della vittima.
Le vulnerabilità di inclusione di file, regolarmente identificate in plugin e temi, rendono i siti Web WordPress un obiettivo ad alta priorità per gli attacchi che coinvolgono l'attraversamento delle directory. E mentre l'implementazione di pratiche di codifica sicure è un compito per gli sviluppatori di plug-in e temi, l'implementazione di buone pratiche di sicurezza è responsabilità dei proprietari di siti web.
In questa guida all'attraversamento delle directory, esploreremo questo metodo comune utilizzato dagli hacker per uscire dalla directory principale del sito Web e accedere ai dati riservati. Imparerai come il path traversal consente agli aggressori di sfruttare con successo le vulnerabilità di inclusione di file locali (LFI) per infliggere danni e come salvaguardare il tuo sito Web WordPress da questi tipi di attacchi implementando solide pratiche di sicurezza.
Innanzitutto, esaminiamo più da vicino i concetti di operazioni server sicure. Più specificamente, in che modo i diversi tipi di dati vengono separati nell'ambiente del server e quale posizione hanno i dati del sito Web in questo ecosistema.
In che modo il partizionamento dei dati aiuta a proteggere le operazioni del server
I siti Web e le applicazioni Web si affidano ai server per archiviare i propri dati. Questi dati vengono quindi elaborati da server Web e database e altre applicazioni specifiche prima di essere inviati ai browser dei visitatori su Internet come pagine Web richieste. I componenti hardware e software sottostanti lavorano insieme per creare una solida infrastruttura che alimenta questa funzionalità.
Tuttavia, questa architettura client-server richiede anche un approccio attento alla sicurezza del server. I servizi critici e gli altri componenti del sistema operativo del server devono essere completamente separati dai file dell'utente e dai dati del sito web. Questa separazione dei dati sul file system è comunemente nota come partizionamento dei dati.
Il partizionamento dei dati aiuta a proteggere gli aspetti più vulnerabili delle operazioni del server segregando diversi tipi di dati in partizioni separate. L'implementazione del partizionamento del file system e di altri meccanismi di sicurezza aiuta a proteggere i server dall'accesso non autorizzato a informazioni sensibili e da compromissioni a livello di sistema. Inoltre, il partizionamento dei dati consente una gestione efficiente delle risorse e migliora le prestazioni del server separando i dati modificati di frequente dai file prevalentemente di sola lettura e isolando i dati del sistema e dell'utente.
Controllo dell'accesso al server Web: limitare i dati del sito Web con le radici dei documenti
Per isolare i dati del sito Web dai dati di sistema, i server Web utilizzano il concetto di radici dei documenti. Ciò comporta la limitazione dei file del sito Web a una directory designata sul file system, nota come directory principale di un sito Web. Definendo la root del documento, il server web può indirizzare e rispondere correttamente alle richieste in arrivo per il contenuto di quel sito web. Questa directory principale è il punto di partenza per la gestione delle richieste web per quel sito web.
Questo confinamento aiuta a prevenire l'accesso non autorizzato ai dati critici del server, come le informazioni sul sistema operativo e i file di configurazione chiave, archiviati al di fuori della directory principale designata. Ciò significa che qualsiasi script o altro contenuto e funzionalità relativi a un determinato sito Web può accedere e modificare solo i dati all'interno della directory principale e delle sue sottodirectory, che protegge il resto del server in caso di violazione della sicurezza.
Oltre alle radici dei documenti, i server Web utilizzano altri meccanismi di controllo degli accessi per limitare ulteriormente l'accesso ai dati dei siti Web. Uno dei meccanismi più importanti sono i permessi dei file. I permessi sui file aiutano a far rispettare il principio del privilegio minimo, il che significa che agli utenti o ai processi del sistema viene concesso solo il livello minimo di accesso richiesto per eseguire le funzioni previste.
Nonostante la solida sicurezza di questo approccio, gli hacker possono utilizzare una serie di tecniche dannose per aggirarlo. Uno di questi metodi è l'attraversamento delle directory. Gli attacchi directory traversal sfruttano i punti deboli del codice del sito Web e l'implementazione di autorizzazioni sicure per indurre il server Web a rivelare informazioni riservate che altrimenti sarebbero inaccessibili dal browser.
Cos'è l'attraversamento delle directory?
L'attraversamento della directory, noto anche come attraversamento del percorso, è una tecnica dannosa volta a concedere l'accesso a file e directory con restrizioni al di fuori della radice del documento del sito Web o dell'applicazione Web di destinazione. L'attraversamento del percorso consente all'attaccante di navigare attraverso il file system del server fino alla directory principale e ad altre cartelle con restrizioni attraverso il browser, il tipo di comportamento che non dovrebbe essere possibile in circostanze normali.
L'attraversamento della directory viene eseguito manipolando le variabili che fanno riferimento ai file con l'uso di caratteri speciali, noti come sequenze di attraversamento del percorso. Sequenze come punto-punto-barra '../' vengono interpretate dal server Web, costringendolo a spostarsi di una directory in alto nella gerarchia del file system, allontanandosi dalla radice del documento del sito Web.
Se un sito Web è memorizzato in /home/user/public_html, fornire una sequenza di attraversamento della directory di '../../../etc' consentirà all'attaccante di navigare nella directory /etc, che memorizza la configurazione critica del sistema su Linux server.
Se l'elenco delle directory è disabilitato nella configurazione del server Web, il criminale informatico non sarà in grado di visualizzare il contenuto della directory richiesta. Ciò può aumentare parzialmente la sicurezza del sistema e limitare il potenziale danno inflitto dagli attacchi di directory traversal poiché l'attaccante dovrà specificare il file esatto che desidera visualizzare nel browser. Ma poiché la maggior parte delle volte gli hacker sanno esattamente quali informazioni stanno cercando, disabilitare l'elenco delle directory non impedirà loro di accedervi.
Il file /etc/passwd è uno degli obiettivi comuni degli attacchi di directory traversal. Sui server Linux, il file /etc/passwd contiene l'elenco degli utenti creati sul server. Questo può fornire agli hacker un buon punto di partenza per attacchi di forza bruta alle credenziali degli utenti. Poiché /etc/passwd ha permessi di file di 644, il che significa che è leggibile da tutti gli utenti del sistema, incluso l'utente con cui viene eseguito il server web. In questo modo, il server Web può eseguire il rendering del contenuto del file tramite il browser.
Come funziona l'attraversamento delle directory?
In quanto tecnica dannosa, l'attraversamento delle directory viene utilizzato raramente come unico mezzo per ottenere l'accesso a informazioni sensibili sui server delle vittime. Innanzitutto, gli aggressori devono trovare un modo per sfruttare una vulnerabilità sul sito Web preso di mira per trovare un modo per fargli visualizzare le informazioni richieste nel browser. Solo allora l'attraversamento delle directory viene utilizzato per navigare attraverso il file system del server della vittima per raggiungere le directory riservate.
Le vulnerabilità di inclusione di file sono ciò che consente l'uso dell'attraversamento delle directory. La vulnerabilità dell'attraversamento delle directory si verifica quando un sito Web non disinfetta correttamente l'input dell'utente, come i percorsi dei file forniti utilizzando l'inclusione dinamica dei file. Una combinazione di vulnerabilità di inclusione di file locali (LFI) e directory traversal presenti consente agli hacker di accedere ai dati al di fuori della root dei documenti del sito Web di destinazione, rivelando informazioni riservate sul server.
Un esempio di attraversamento di directory
Per comprendere meglio come possono essere sfruttate le vulnerabilità di inclusione di file locali e attraversamento di directory, diamo un'occhiata al seguente esempio. Questo esempio è una rappresentazione semplificata di come l'attraversamento di directory viene utilizzato tramite un difetto di inclusione di file.
Uno sviluppatore Web aggiunge una pagina Web content.php che verrà utilizzata per consentire al sito Web di caricare pagine o componenti diversi in modo dinamico in base alla richiesta dell'utente. Ad esempio, se un visitatore del sito Web desidera visualizzare la pagina "Contattaci", la sua richiesta potrebbe essere visualizzata nella barra degli indirizzi del browser come "https://website.com/content.php?page=contact_us".
La pagina content.php utilizzerebbe la tecnica di inclusione del file locale per fare riferimento al file che corrisponde al parametro "contact_us", che potrebbe contenere il codice PHP e HTML per la pagina "Contattaci" richiesta. In questo esempio, la pagina web content.php funge da controller, che carica il file appropriato che genera il contenuto in modo dinamico in base all'input dell'utente.
Tuttavia, se l'input dell'utente non viene adeguatamente convalidato o disinfettato, le vulnerabilità di inclusione di file e directory traversal possono essere sfruttate dagli aggressori per includere file arbitrari, che verrebbero quindi visualizzati nel browser.
Ad esempio, un hacker può passare "../../../../../var/log/apache2/access.log" come valore del parametro di query della pagina: una serie di sequenze di attraversamento delle directory seguite da l'indirizzo del log di accesso principale del server Web Apache nel file system. In questo modo, l'aggressore può visualizzare il contenuto del file di registro, che contiene informazioni riservate come indirizzi IP, stringhe dell'agente utente e URL richiesti dai visitatori del sito web.
In che modo le autorizzazioni sui file possono facilitare o mitigare l'attraversamento delle directory
I permessi dei file svolgono un ruolo enorme nel garantire la sicurezza del server e del sito web. Limitando l'accesso al file solo a determinati utenti e gruppi di sistema, le autorizzazioni possono aiutare a facilitare o mitigare l'attraversamento delle directory.
In un attacco di inclusione di file che utilizza l'attraversamento di directory, il contenuto del file richiesto dall'attaccante verrebbe visualizzato nel browser solo se le sue autorizzazioni file consentono al sistema che utilizza il server Web di leggerlo. Mentre alcuni file con restrizioni come /etc/password hanno permessi di 644, che li rendono leggibili a tutti gli utenti del sistema, altri file rimangono accessibili solo all'utente root.
Il file /etc/shadow, che contiene le password crittografate per tutti gli utenti su un server Linux, ha permessi file di 640, il che lo rende inaccessibile a tutti gli utenti diversi da root. Ciò rende impossibile per gli hacker accedere al file tramite il browser tramite l'attraversamento della directory.
Come rilevare le vulnerabilità di Directory Traversal sul tuo sito WordPress?
Il core di WordPress mantiene un alto livello di sicurezza ed è completamente protetto dalle vulnerabilità di inclusione dei file e dall'attraversamento delle directory. Tuttavia, le elevate opzioni di personalizzazione offerte dalla piattaforma aumentano la possibilità che tali vulnerabilità siano presenti su un sito WordPress. Anche i plugin e i temi WordPress più affidabili possono contenere difetti di sicurezza che vengono scoperti regolarmente.
I report settimanali sulle vulnerabilità di WordPress di iThemes ti aiutano a identificare e correggere rapidamente le vulnerabilità appena rivelate nei plugin e nei temi di WordPress, incluso l'attraversamento delle directory. Controlla semplicemente i rapporti sulle vulnerabilità per vedere se di recente sono state rilevate debolezze di sicurezza nei plug-in che utilizzi sul tuo sito WordPress, così come nel tuo tema attivo, e verifica se è stata rilasciata una patch.
iThemes Security Pro può automatizzare il processo di scansione del tuo sito Web WordPress alla ricerca di vulnerabilità e correggere rapidamente i difetti identificati per tuo conto. iThemes Security Pro eseguirà la scansione avanzata delle vulnerabilità due volte al giorno, ti invierà un'e-mail se vengono rilevate vulnerabilità e installerà automaticamente un aggiornamento se è disponibile una correzione di sicurezza.
Come difendersi dall'attraversamento delle directory?
Lo sfruttamento delle vulnerabilità trovate nei plugin e nei temi è uno dei più grandi vettori di attacco che gli hacker utilizzano per ottenere l'accesso non autorizzato, rubare dati sensibili e caricare malware, comprese le backdoor shell, sui siti Web di WordPress. E mentre seguire pratiche di codifica sicure rientra nell'ambito delle responsabilità degli sviluppatori di plug-in e temi, i proprietari di siti Web WordPress sono responsabili dell'implementazione di misure protettive a livello locale. Solo un approccio poliedrico alla sicurezza di WordPress può aiutare a ridurre il rischio di cadere vittima di attacchi informatici moderni e sofisticati.
Mantieni tutto il software aggiornato
Mantenere il core di WordPress, i plugin attivi e il tema scelto aggiornati all'ultima versione disponibile è il primo passo verso l'eliminazione dell'attraversamento delle directory e di altre gravi vulnerabilità a livello di applicazione. Man mano che vengono identificate nuove falle di sicurezza nel software che alimenta il tuo sito WordPress, è della massima importanza installare le patch di sicurezza non appena diventano disponibili. Prima che la vulnerabilità scoperta venga risolta dallo sviluppatore del plugin o del tema, il software interessato può essere disabilitato per ridurre la superficie di attacco.
Tenere traccia degli aggiornamenti di plug-in e temi può essere un compito impegnativo, ma con iThemes Security Pro, i proprietari di siti Web possono avere accesso a una soluzione completa che semplifica il processo e aiuta a garantire che i siti Web rimangano aggiornati e protetti dalle vulnerabilità della sicurezza. La funzione di gestione delle versioni offre aggiornamenti software automatici per salvaguardare il tuo sito WordPress.
Configura le autorizzazioni per i file protetti
Le autorizzazioni sicure per i file di WordPress forniscono un ulteriore livello di difesa contro gli attacchi volti a ottenere l'accesso a siti web sensibili e informazioni sul server. E sebbene raramente sia necessario modificare le autorizzazioni dei file dei file di configurazione del sistema critici e altri dati del server con restrizioni, la responsabilità di impostare autorizzazioni sicure per i file del sito Web ricade spesso sul proprietario del sito Web.
Mantenere le informazioni critiche di WordPress come il file wp-config.php può aiutare a prevenire efficacemente le compromissioni tra account attraverso collegamenti simbolici di attacchi di inclusione di file che sfruttano le vulnerabilità di directory traversal. I controlli delle autorizzazioni dei file in iThemes Security Pro aiutano i proprietari di siti Web a garantire che questo meccanismo di sicurezza critico sia implementato correttamente sui loro siti WordPress.
Implementare un Web Application Firewall
I firewall funzionano filtrando le richieste Web dannose che corrispondono a modelli noti o presentano modelli anomali prima che vengano trasmesse al server Web. Come solida prima linea di difesa contro una vasta gamma di attacchi informatici guidati da bot, come Denial of Service (Dos) e Distributed Denial of Service (DDoS), e attacchi di data injection come Cross-site scripting (XSS) e SQL iniezioni (SQLi).
L'implementazione di un web application firewall (WAF) o di una combinazione di una soluzione di prevenzione delle intrusioni basata su host e cloud può ridurre significativamente la possibilità di un tentativo di effrazione riuscito. Agendo come un secondo livello di difesa contro l'inclusione di file e le vulnerabilità di directory traversal, i firewall per applicazioni web assicurano che gli hacker possano sfruttare qualsiasi debolezza di sicurezza trovata nelle versioni prive di patch di plugin e temi.
Con IThemes Security Pro, la protezione dalla forza bruta e le soluzioni di gestione dei bot integrate aiutano a fermare i bot dannosi e a filtrare le richieste web dannose prima che raggiungano il tuo sito web. Con l'aggiunta dell'autenticazione a più fattori alimentata da passkey con accessi biometrici, questa suite di sicurezza completa offre un approccio multiforme per difendere il tuo sito Web da vari tipi di minacce alla sicurezza.
Proteggi il tuo sito Web WordPress con iThemes Security Pro
Le vulnerabilità dell'inclusione di file e dell'attraversamento delle directory rappresentano una minaccia significativa per la sicurezza dei siti Web, poiché vengono spesso sfruttate da hacker che cercano di ottenere l'accesso non autorizzato a dati sensibili o eseguire codice dannoso sul server della vittima. Utilizzando sequenze di directory traversal e fornendo a un sito Web vulnerabile il percorso di determinati dati, un utente malintenzionato può indurre il server Web a esporre informazioni sul server e sul sito Web altrimenti limitate.
Nonostante sia ampiamente studiato e riconosciuto, l'attraversamento delle directory rimane una delle principali preoccupazioni per i siti Web WordPress che si basano su software obsoleti e mancano di adeguate misure di sicurezza. L'esecuzione tempestiva di aggiornamenti di core, temi e plug-in di WordPress, la configurazione di autorizzazioni sicure per i file e l'implementazione di un firewall per applicazioni Web può ridurre significativamente il rischio che il tuo sito Web sia suscettibile agli attacchi di inclusione di file che sfruttano l'attraversamento delle directory.
iThemes Security Pro può aiutarti a difendere il tuo sito Web WordPress da una vasta gamma di minacce informatiche offrendo un approccio completo e sfaccettato alla sicurezza del sito Web. Con la scansione avanzata delle vulnerabilità, gli aggiornamenti software automatici e le potenti soluzioni di gestione dei bot integrate, iThemes Security Pro funge da consulente per la sicurezza personale, mantenendo il tuo sito Web WordPress sicuro e protetto in ogni momento.
Il miglior plugin di sicurezza per WordPress per proteggere e proteggere WordPress
WordPress attualmente alimenta oltre il 40% di tutti i siti Web, quindi è diventato un facile bersaglio per gli hacker con intenti dannosi. Il plug-in iThemes Security Pro elimina le congetture dalla sicurezza di WordPress per semplificare la sicurezza e la protezione del tuo sito Web WordPress. È come avere un esperto di sicurezza a tempo pieno nello staff che monitora e protegge costantemente il tuo sito WordPress per te.
Kiki ha una laurea in gestione dei sistemi informativi e più di due anni di esperienza in Linux e WordPress. Attualmente lavora come specialista della sicurezza per Liquid Web e Nexcess. Prima di allora, Kiki faceva parte del team di supporto di Liquid Web Managed Hosting, dove ha aiutato centinaia di proprietari di siti Web WordPress e ha appreso quali problemi tecnici incontrano spesso. La sua passione per la scrittura le permette di condividere le sue conoscenze ed esperienze per aiutare le persone. Oltre alla tecnologia, a Kiki piace conoscere lo spazio e ascoltare podcast sul vero crimine.