Cloudflare, scoprire indirizzo IP dei server protetti tramite reverse proxy

Il reverse proxy Cloudflare maschera l'indirizzo IP reale di qualunque sito Web. Con il software gratuito CloakQuest3r è spesso possibile risalire agli indirizzi IP pubblici configurati lato server.

Il reverse proxy di Cloudflare è una parte fondamentale della suite di servizi offerti dall’azienda al fine di migliorare la sicurezza, le prestazioni e l’affidabilità di qualunque sito Web. Si tratta di un componente che funge da intermediario tra i client e uno o più server di destinazione. Quando il client invia una richiesta al server remoto, ad esempio il server Web di un sito, la richiesta transita attraverso il reverse proxy, che la inoltra al server appropriato. Al momento dell’invio della risposta da parte del server del sito Web, questa passa di nuovo attraverso il reverse proxy prima di essere consegnata al client.

A cosa serve il reverse proxy di Cloudflare

Cloudflare offre una comoda dashboard, ovvero un pannello di amministrazione avanzato, che permette di attivare le funzionalità di reverse proxy per qualunque sito Web.

Completata quest’operazione, non appena si digita il comando nslookup seguito dall’indirizzo mnemonico del sito (esempio: nslookup cloudflare.com), ciò che viene restituito non è più l’indirizzo IP pubblico del server Web bensì quello del reverse proxy Cloudflare. Generalmente il comando espone più di un indirizzo IP, in formato IPv4 e IPv6, poiché Cloudflare imposta più record DNS. Questo perché Cloudflare utilizza efficaci politiche di bilanciamento del carico in modo da distribuire il traffico su più macchine reverse proxy.

Indirizzo IP reale, risposta nslookup

Le protezioni offerte grazie all’attivazione del reverse proxy

Grazie all’utilizzo del reverse proxy, Cloudflare può offrire ai suoi clienti protezione DDoS (Distributed Denial of Service): mitigando il traffico malevolo prima che raggiunga il server di destinazione, è possibile proteggere il sito da eventuali tentativi di interruzione del servizio, posti in essere da parte di malintenzionati.

Cloudflare mantiene inoltre una cache distribuita: il reverse proxy conserva copie di risorse statiche come immagini, fogli di stile (CSS) e codice JavaScript. Quando un utente richiede una di queste risorse, Cloudflare può fornirla direttamente dalla sua cache, migliorando notevolmente i tempi di caricamento del sito, facendo risparmiare banda preziosa ed evitando di consumare risorse macchina lato server.

Facendo leva sul reverse proxy, Cloudflare può comprimere le risorse presenti in pagina (ad esempio le immagini) e ottimizzarle per migliorare ulteriormente i tempi di caricamento del sito.  Le varie strategie includono la minificazione di file CSS, JavaScript e la compressione delle immagini.

Vestendo i panni di reverse proxy, inoltre, Cloudflare può attivare la cifratura HTTPS sui siti Web che ancora non la usano, occupandosi anche della gestione dei certificati SSL/TLS; permette di configurare il load balancing distribuendo il traffico tra più server di destinazione; offre un Web firewall che opera a livello applicativo (WAF) per proteggere il sito da attacchi comuni (si pensi ai tentativi di SQL injection e cross-site scripting, XSS). In un altro articolo abbiamo visto quante vulnerabilità di sicurezza esistono e come possono essere sfruttate dai criminali informatici.

Come scoprire l’indirizzo IP pubblico del server Web protetto con Cloudflare

Nella già citata dashboard di Cloudflare, il servizio mostra uno o più avvisi allorquando qualche indirizzo mnemonico presente a livello di record DNS non risultasse protetto tramite reverse proxy. Cloudflare mette in evidenza il fatto che se uno o più indirizzi mnemonici puntano ancora al server Web del sito, soggetti terzi possono essere in grado di scoprire l’indirizzo IP pubblico della macchina e avanzare tentativi di connessione diretti, di fatto scavalcando la protezione del reverse proxy.

Si pensi ad esempio a una delle “sviste” più comuni: il terzo livello www è configurato per puntare al reverse proxy di Cloudflare ma, sui record DNS, il nome a dominio (senza www) fa riferimento al server Web del sito. Lato client, la cosa può essere semplicemente verificata usando il comando nslookup seguito dal nome a dominio d’interesse, con e senza www.

Spesso si legge che Cloudflare è usato primariamente per mascherare l’indirizzo IP reale di uno o più server Web. In realtà, questo non corrisponde propriamente al vero perché a volte sono disponibili delle strategie per risalire all’indirizzo IP pubblico usato da qualsivoglia sito Web.

CloakQuest3r rivela i veri indirizzi IP dei siti Web protetti con Cloudflare

Uno dei metodi più semplici e comunemente utilizzati per risalire al vero indirizzo IP di un sito Web consiste nel consultare la cronologia dei record DNS relativi al nome a dominio. Lo si può fare, ad esempio, utilizzando il servizio ViewDNS IP History. Basta digitare il nome a dominio di proprio interesse nell’apposita casella, per verificare la lista indirizzi IP pubblici che ha utilizzato nel corso del tempo.

CloakQuest3r è uno strumento Python open source che aiuta a scoprire il vero indirizzo IP di siti Web protetti tramite Cloudflare oppure attraverso altri reverse proxy alternativi. Come abbiamo accennato in precedenza, CloakQuest3r automatizza la scansione dei sottodomini, una tecnica che generalmente si rivela estremamente efficace per scoprire gli indirizzi IP.

Accanto ad essa, comunque, CloakQuest3r abbina anche il recupero delle informazioni storiche sugli indirizzi IP usati dai vari siti Web. Utilizza il già citato servizio ViewDNS oltre al noto SecurityTrails (in questo caso è necessario specificare nel file config.ini la chiave API gratuita fornita dal servizio previa registrazione di un account).

Il terzo pilastro sul quale poggia CloakQuest3r, consiste nell’estrazione e nell’analisi dei certificati digitali associati al dominio di destinazione. Quest’attività può fornire informazioni aggiuntive sulla struttura del sito Web oggetto di verifica e potenzialmente rivelare il vero indirizzo IP.

Lo strumento fornisce un output completo, inclusi il numero totale di sottodomini scansionati, quello dei sottodomini complessivamente trovati e il tempo impiegato per la scansione.

Inoltre, al fine di migliorare l’efficienza ed accelerare il processo di rilevamento dell’IP reale, CloakQuest3r utilizza il threading. Questa funzione ottimizza la scansione dei sottodomini così da ridurre i tempi di verifica.

Come installare e usare CloakQuest3r

L’installazione e l’uso di CloakQuest3r risultano davvero semplici. Basta usare il terminale Linux oppure la finestra di WSL (Windows Subsystem for Linux) in Windows.

Supponendo di usare Debian o una distribuzione Linux derivata, ad esempio Ubuntu, è sufficiente impartire i comandi seguenti per installare CloakQuest3r:

sudo apt update && sudo apt upgrade -y
sudo apt-get install git-all python3 python3-pip -y
git clone https://github.com/spyboy-productions/CloakQuest3r.git
cd CloakQuest3r
pip3 install -r requirements.txt

Il comando seguente permette di avviare la ricerca dell’indirizzo IP reale corrispondente a qualunque nome a dominio:

python3 cloakquest3r.py nomedominio.abc

Come primo passo, CloakQuest3r accerta se il sito Web indicato utilizzi o meno i servigi di Cloudflare. La comparsa del messaggio Website is not using Cloudflare informa che il sito non si appoggia all’infrastruttura Cloudflare.

Scoprire indirizzo IP reale sito Web

CloakQuest3r combina più indicatori per scoprire gli indirizzi IP reali dietro Cloudflare. Ovviamente, è importante tenere presente che non tutti i record A dei sottodomini configurati a livello di DNS possono davvero puntare all’host di destinazione. Lo strumento, quindi, potrebbe non funzionare e non offrire risultati attendibili in ogni scenario.

Ad ogni modo, scorrendo i risultati via via proposti nell’output di CloakQuest3r, si possono ottenere riscontri preziosi. Oltre ai dati storici, infatti, ci sono quelli derivanti dalla scansione dei sottodomini oltre che a valle dell’analisi dei certificati digitali. Ogni volta che l’utilità sviluppata in Python rileva un indirizzo IP pubblico, lo evidenzia in rosso.

CloakQuest3r, scansione IP nomi a dominio

Sebbene si tratti di uno strumento davvero flessibile e versatile, CloakReveal3r potrebbe non riuscire a identificare sempre con precisione l’IP reale dietro Cloudflare, soprattutto per i siti Web contraddistinti da configurazioni di rete complesse o che applicano misure di sicurezza rigorose.

L’infrastruttura e le configurazioni dei siti Web possono cambiare ripetutamente nel tempo. Lo strumento può non essere in grado di catturare tutti questi cambiamenti, limitandosi ad esporre informazioni obsolete.

Credit immagine in evidenza: iStock.com – PUGUN SJ

Ti consigliamo anche

Link copiato negli appunti