Che cos'è il tunneling DNS? Guida all'individuazione

Che cos'è il tunneling DNS? Guida all'individuazione

Il tunneling DNS trasforma il sistema dei nomi di dominio in un'arma per gli hacker. Il DNS è, in sostanza, un'enorme rubrica di internet. Inoltre, il DNS è il protocollo di base che permette agli amministratori di fare richieste al database del server DNS. Fin qui tutto chiaro. Ma astuti hacker hanno capito che è possibile comunicare di nascosto con il computer vittima infiltrando comandi e dati nel protocollo DNS. È proprio questa idea alla base del tunneling DNS.

Come funziona il tunneling DNS

Che cos'è il tunneling DNS? Guida all'individuazione

Per ogni cosa su internet esiste un protocollo specifico. E il DNS supporta un semplice protocollo di tipo richiesta-risposta. Se vuoi vedere come funziona, puoi avviare nslookup - lo strumento principale per inviare richieste DNS. Puoi richiedere un indirizzo semplicemente specificando il nome di dominio di interesse, ad esempio:

Che cos'è il tunneling DNS? Guida all'individuazione

Nel nostro caso, il protocollo ha risposto con l'indirizzo IP del dominio. In termini di protocollo DNS, ho effettuato una richiesta di indirizzo o una richiesta del tipo "A". Esistono anche altri tipi di richieste, e il protocollo DNS risponderà con un insieme diverso di campi dati, che, come vedremo più avanti, potrebbero essere sfruttati dagli hacker.

In ogni caso, la natura del protocollo DNS consiste nel trasmettere la richiesta al server e nella risposta di ritorno al client. E se un malintenzionato aggiungesse un messaggio nascosto all'interno della richiesta del nome di dominio? Ad esempio, invece di inserire un URL del tutto legittimo, inserirebbe i dati che desidera trasmettere:

Che cos'è il tunneling DNS? Guida all'individuazione

Supponiamo che un malintenzionato controlli un server DNS. In tal caso, potrebbe trasmettere dati — ad esempio, dati personali — e non sarebbe necessariamente scoperto. Alla fine, perché mai una richiesta DNS dovrebbe diventare qualcosa di illegittimo?

Controllando il server, gli hacker possono falsificare le risposte e inviare dati indietro al sistema bersaglio. Questo consente loro di trasmettere messaggi nascosti in vari campi della risposta DNS, verso malware su una macchina compromessa, con istruzioni come la ricerca all'interno di una certa cartella.

La parte "tunneling" di questo attacco consiste nel nascondere dati e comandi dalla rilevazione da parte dei sistemi di monitoraggio. Gli hacker possono utilizzare set di caratteri come base32, base64, ecc., o persino crittografare i dati. Tale codifica passerà inosservata a semplici strumenti di rilevazione delle minacce che cercano nel testo aperto.

Ed ecco il DNS tunneling!

Storia degli attacchi tramite DNS tunneling

Tutto ha un inizio, compresa l'idea di sfruttare il protocollo DNS per scopi hacker. Per quanto possiamo giudicare, la prima discussione di un tale attacco è stata condotta da Oskar Pearson nella mailing list Bugtraq nell'aprile del 1998.

Entro il 2004, il DNS tunneling è stato presentato al Black Hat come metodo di hacking in una presentazione di Dan Kaminsky. Così, l'idea è rapidamente evoluta in un vero e proprio strumento di attacco.

Ad oggi, il DNS tunneling occupa una posizione sicura nella mappa delle minacce potenziali (e i blogger nel campo della sicurezza informatica vengono spesso invitati a spiegarlo).

Avete sentito parlare di Sea Turtle ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.

Minacce di DNS tunneling

Che cos'è il tunneling DNS? Guida all'individuazione

Il tunneling DNS è un indicatore all'inizio di una brutta notizia. Quali precisamente? Ne abbiamo già parlato di alcune, ma organizziamole:

  • Estrazione dei dati (exfiltrazione) – un hacker trasmette silenziosamente dati critici attraverso il DNS. Questo non è certamente il modo più efficace per trasferire informazioni da un computer compromesso, considerando i costi e le codifiche, ma funziona e lo fa in modo furtivo!
  • Gestione e controllo (Command and Control, C2) – gli hacker utilizzano il protocollo DNS per inviare comandi di controllo semplici, ad esempio attraverso un trojan di accesso remoto (Remote Access Trojan, RAT).
  • Tunneling IP-Over-DNS – può sembrare folle, ma ci sono utility che realizzano lo stack IP sopra le richieste e risposte del protocollo DNS. Questo rende il trasferimento dei dati tramite FTP, Netcat, ssh, ecc. relativamente semplice. Estremamente sinistro!

Rilevamento del tunneling DNS

Che cos'è il tunneling DNS? Guida all'individuazione

Ci sono due metodi principali per rilevare l'abuso del DNS: analisi del carico e analisi del traffico.

Durante analisi del carico la parte difendente cerca anomalie nei dati trasmessi in entrambe le direzioni, che possono essere individuate mediante metodi statistici: nomi di host con caratteristiche strane, tipi di record DNS che non vengono utilizzati frequentemente o codifiche non standard.

Durante analisi del traffico viene valutato il numero di richieste DNS per ogni dominio rispetto ai livelli medi. Gli aggressori che utilizzano il tunneling DNS genereranno un grande volume di traffico verso il server. Teoricamente, questo supererà notevolmente il normale scambio di messaggi DNS. E questo deve essere monitorato!

Utilità di tunneling DNS

Se desideri effettuare un tuo test di penetrazione e verificare quanto bene la tua azienda riesca a rilevare e rispondere a tale attività, ci sono diverse utilità per farlo. Tutte sono in grado di tunneling in modalità IP-Over-DNS:

  • Iodine – disponibile su molte piattaforme (Linux, Mac OS, FreeBSD e Windows). Consente di stabilire una shell SSH tra il computer obiettivo e il computer di controllo. Ecco una buona guida per la configurazione e l'uso di Iodine.
  • OzymanDNS – un progetto di tunneling DNS di Dan Kaminsky, scritto in Perl. Permette di connettersi tramite SSH.
  • DNSCat2 – "un tunnel DNS che non provoca nausea". Crea un canale C2 crittografato per inviare/scaricare file, eseguire shell, ecc.

Utilità di monitoraggio DNS

Di seguito è riportato un elenco di alcune utilità che saranno utili per rilevare attacchi di tunneling:

  • dnsHunter – un modulo Python, scritto per MercenaryHuntFramework e Mercenary-Linux. Legge file .pcap, estrae richieste DNS e produce un mapping di geolocalizzazione, utile per l'analisi.
  • reassemble_dns – un'utilità in Python che legge file .pcap e analizza i messaggi DNS.

Mini FAQ sul tunneling DNS

Informazioni utili sotto forma di domande e risposte!

D: Cos'è il tunneling?
R: È semplicemente un modo per trasmettere dati su un protocollo esistente. Il protocollo sottostante fornisce un canale o un tunnel dedicato, che viene poi utilizzato per nascondere le informazioni effettivamente trasmesse.

D: Quando è stato effettuato il primo attacco di tunneling DNS?
R: Non lo sappiamo! Se lo sai, faccelo sapere. Per quanto ne sappiamo, la prima discussione sull'attacco è stata avviata da Oscar Pierson nella mailing list Bugtraq nell'aprile del 1998.

D: Quali attacchi sono simili al tunneling DNS?
R: Il DNS non è di certo l'unico protocollo che può essere utilizzato per il tunneling. Ad esempio, i malware di comando e controllo (C2) utilizzano spesso HTTP per mascherare il canale di comunicazione. Come nel tunneling DNS, l'hacker nasconde i propri dati, ma in questo caso appaiono come traffico di un normale browser web che si connette a un sito remoto (controllato dall'attaccante). Questo potrebbe passare inosservato ai programmi di monitoraggio, a meno che non siano configurati per rilevare la minaccia abuso di HTTP a scopi hacker.

Vuoi che ti aiutiamo a rilevare il tunneling DNS? Scopri il nostro modulo Varonis Edge e prova la demo gratuita demo!

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster