
Tunelarea DNS transformă sistemul de nume de domenii într-o armă pentru hackeri. DNS este, în esență, un enorm caiet de telefoane pentru internet. De asemenea, DNS este un protocol de bază care permite administratorilor să facă cereri către baza de date a serverului DNS. Până acum totul pare clar. Dar hackerii isteți au realizat că pot comunica discret cu computerul-victimă prin inserarea comenzilor de control și a datelor în protocolul DNS. Această idee stă la baza tunelării DNS.
Cum funcționează tunelarea DNS

Pentru fiecare lucru pe internet există un protocol specific. Și DNS suportă un tip relativ simplu de cerere-răspuns. Dacă doriți să vedeți cum funcționează, puteți rula nslookup – instrumentul principal pentru trimiterea cererilor DNS. Puteți solicita o adresă, indicând pur și simplu numele de domeniu de interes, de exemplu:

În cazul nostru, protocolul a răspuns cu adresa IP a domeniului. În termeni ai protocolului DNS, am făcut o cerere de adresă sau o cerere de tipul "A". Există și alte tipuri de cereri, iar protocolul DNS va răspunde cu un set diferit de câmpuri de date, pe care, după cum vom vedea mai târziu, le pot folosi hackerii.
Indiferent de situație, în esența sa, protocolul DNS se ocupă de transmiterea cererii către server și a răspunsului înapoi către client. Dar ce s-ar întâmpla dacă un atacator ar adăuga un mesaj mascat în cererea de nume de domeniu? De exemplu, în loc să introducă o adresă URL legitimă, ar introduce datele pe care vrea să le transmită:

Să presupunem că atacatorul controlează serverul DNS. Atunci poate transmite date – de exemplu, date personale – și nu va fi neapărat detectat. La urma urmei, de ce ar deveni o cerere DNS ceva ilegal?
Controlând serverul, hackerii pot falsifica răspunsurile și pot trimite date înapoi către sistemul țintă. Aceasta le permite să transmită mesaje, ascunse în diverse câmpuri ale răspunsului DNS, către malware-ul de pe mașina infectată, cu instrucțiuni de genul căutării într-un anumit folder.
Partea "tunelatoare" a acestei atacuri constă în datele și comenzile de detectarea sistemelor de monitorizare. Hackerii pot folosi seturi de caractere base32, base64 etc., sau chiar pot cifra datele. O astfel de codare va trece neobservată de simplele instrumente de detectare a amenințărilor care caută în textul deschis.
Și acesta este tunelarea DNS!
Istoria atacurilor prin tunelarea DNS
Totul are un început, inclusiv ideea de capturare a protocolului DNS în scopuri rău intenționate. Din câte putem judeca, primul astfel de atac a fost efectuat de Oskar Pearson în mailing list-ul Bugtraq în aprilie 1998.
Până în 2004, tunelarea DNS a fost prezentată la Black Hat ca o metodă de hacking în prezentarea lui Dan Kaminsky. Astfel, ideea a crescut rapid în un adevărat instrument de atac.
Astăzi, tunelarea DNS își ocupă poziții ferme pe harta (iar bloggerii din domeniul securității informației sunt adesea rugați să o explice).
Ați auzit de ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Amenințările tunelării DNS

Tunelarea DNS este ca un indicator al începutului unei etape de știri proaste. Care anume? Am discutat deja despre câteva, dar haideți să le structurăm:
- Exfiltrarea de date – hackerii transmit în secret date critice prin intermediul DNS. Acesta nu este cu siguranță cel mai eficient mod de a transmite informații de pe computerul victimei — având în vedere toate costurile și codările — dar funcționează, și totodată – în mod secret!
- Comandă și control (Command and Control, prescurtat C2) – hackerii folosesc protocolul DNS pentru a trimite comenzi simple de control, să zicem, prin intermediul (Remote Access Trojan, prescurtat RAT).
- Tunelarea IP-Over-DNS – poate suna nebunește, dar există utilitare care implementează stiva IP peste cererile și răspunsurile protocolului DNS. Acest lucru face ca transmiterea de date prin FTP, Netcat, ssh etc. să fie o sarcină relativ simplă. Extrem de sinistru!
Detectarea tunelării DNS

Există două metode principale de detectare a abuzului de DNS: analiza încărcăturii și analiza traficului.
Upon analiza încărcăturii partea apărată caută anomalii în datele transmise în ambele sensuri, care pot fi detectate prin metode statistice: nume de gazde ciudate, tipuri de înregistrări DNS care nu sunt folosite atât de des sau codări neobișnuite.
Upon analiza traficului evaluază numărul cererilor DNS către fiecare domeniu în comparație cu nivelul mediu. Atacatorii care folosesc tunelarea DNS vor genera un volum mare de trafic către server. În teorie, acest volum va depăși semnificativ schimbul normal de mesaje DNS. Și este necesar să se urmărească!
Utilitare de tunelare DNS
Dacă doriți să efectuați un test de penetrare pe cont propriu și să verificați cât de bine poate compania dumneavoastră să detecteze și să reacționeze la o astfel de activitate, există mai multe utilitare disponibile. Toate acestea pot tunela în modul IP-Over-DNS:
- – disponibil pe multe platforme (Linux, Mac OS, FreeBSD și Windows). Permite stabilirea unui SSH shell între computerul țintă și cel de control. Iată un ghid decent pentru configurarea și utilizarea Iodine.
- – un proiect de tunelare DNS creat de Dan Kaminsky, scris în Perl. Acesta permite conectarea prin SSH.
- – „tunel DNS care nu provoacă greață”. Creează un canal C2 cifrat pentru trimiterea/descărcarea fișierelor, pornirea shell-urilor etc.
Utilitare de monitorizare DNS
Mai jos se află o listă a unor utilitare care vor fi utile pentru detectarea atacurilor de tunelare:
- – modul Python, scris pentru MercenaryHuntFramework și Mercenary-Linux. Citește fișiere .pcap, extrage cererile DNS și efectuează asocierea geolocației, ajutând astfel la analiză.
- – utilitar Python care citește fișiere .pcap și analizează mesajele DNS.
Micro FAQ despre tunelarea DNS
Informații utile sub formă de întrebări și răspunsuri!
Î: Ce este tunelarea?
R: Este pur și simplu o metodă de transfer de date deasupra unui protocol existent. Protocolul de bază asigură un canal sau tunel dedicat, care este apoi utilizat pentru a ascunde informațiile transmise efectiv.
Î: Când a avut loc primul atac prin tunelare DNS?
R: Nu știm! Dacă știți, vă rugăm să ne comunicați. Din câte știm, prima discuție despre atac a fost inițiată de Oscar Pearson pe lista de discuții Bugtraq în aprilie 1998.
Î: Ce atacuri sunt similare cu tunelarea DNS?
R: DNS nu este singurul protocol care poate fi folosit pentru tunelare. De exemplu, malware-urile de gestionare și control (C2) folosesc adesea HTTP pentru a masca canalul de interacțiune. La fel ca în tunelarea DNS, hackerul își ascunde datele, dar în acest caz, ele arată ca traficul unui browser web obișnuit care accesează un site de la distanță (controlat de atacator). Aceasta poate trece neobservat de programele de monitorizare, dacă acestea nu sunt configurate să perceapă abuzuri ale protocolului HTTP în scopuri de hacking.
Doriți să vă ajutăm cu detectarea tunelării DNS? Consultați modul nostru și încercați-l gratuit !
Sursa: habr.com
