
DNS tunneling transforms the domain name system into a weapon for hackers. DNS is essentially a vast phone book of the internet. Additionally, DNS is a fundamental protocol that allows administrators to query the DNS server's database. So far, everything seems clear. But clever hackers realized that they could secretly communicate with the victim's computer by embedding control commands and data into the DNS protocol. This idea is the foundation of DNS tunneling.
How DNS Tunneling Works

Everything on the internet has its own dedicated protocol. And DNS supports a relatively simple request-response model. If you want to see how it works, you can run nslookup – the primary tool for sending DNS queries. You can request an address simply by specifying the domain name of interest, for example:

In our case, the protocol responded with the IP address of the domain. In DNS protocol terms, I made an address query or an 'A' type request. There are other types of requests, and the DNS protocol will respond with various data fields that hackers can exploit, as we will see later.
In any case, at its core, the DNS protocol handles the transmission of a request to the server and its response back to the client. But what if an attacker embeds a hidden message within the domain name request? For example, instead of entering a perfectly legitimate URL, they input data they want to transmit:

Let's assume the attacker controls the DNS server. They could transmit data – for instance, personal information – and it wouldn’t necessarily be detected. After all, why would a DNS query all of a sudden become something illegitimate?
By controlling the server, hackers can forge responses and send data back to the target system. This allows them to transmit messages hidden within various fields of the DNS response to malware on the infected machine, with instructions such as searching within a specific folder.
The 'tunneling' part of this attack is centered on data and commands from detection by monitoring systems. Hackers can use sets of symbols like base32, base64, etc., or even encrypt the data. Such encoding will go unnoticed by simple threat detection utilities that search for plain text.
Dhe është DNS-tunneling!
Historia e sulmeve përmes DNS-tunneling
Çdo gjë ka një fillim, përfshirë idenë e kapjes së protokollit DNS për qëllime hakerimi. Nëse mund të gjykojmë, e para një sulm të tillë ishte kryer nga Oskar Pearson në listën e postës Bugtraq në prill 1998.
Deri në vitin 2004, DNS-tunneling u prezantua në Black Hat si një metodë hakerimi në një prezantim të Dan Kaminsky. Kështu, ideja u shndërrua shumë shpejt në një mjet të vërtetë sulmi.
Sot, DNS-tunneling ka pozita të forta në hartën (dhe blogerët në fushën e sigurisë informatike shpesh kërkohen për ta shpjeguar atë).
A keni dëgjuar për ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Kërcënimet e DNS-tunneling

DNS-tunneling është si një tregues i fillimit të një faze të keqe të lajmeve. Çfarë lloj? Ne tashmë kemi folur për disa, por le të strukturojmë ato:
- Shkëmbimi i të dhënave (ekzfiltrimi) - hakeri transmeton fshehurazi të dhëna kritike mbi DNS. Kjo sigurisht që nuk është mënyra më efektive për të transferuar informacion nga kompjuteri i viktimës — duke marrë parasysh të gjitha shpenzimet dhe kodimet — por ajo funksionon, dhe po ashtu, fshehurazi!
- Menaxhimi dhe Kontrolli (Command and Control, shkurt C2) - hakerët përdorin protokollin DNS për të dërguar komanda të thjeshta, për shembull, përmes (Remote Access Trojan, shkurt RAT).
- Tunneling IP-Over-DNS - kjo mund të duket e çmendur, por ekzistojnë utilitarë që realizojnë stakun IP mbi kërkesa dhe përgjigje të protokollit DNS. Kjo e bën transferimin e të dhënave me FTP, Netcat, ssh, etj. një gjë relativisht të lehtë. Jashtëzakonisht e frikshme!
Identifikimi i DNS-tunneling

Ekzistojnë dy metoda kryesore për të zbuluar abuzimin me DNS: analiza e ngarkesës dhe analiza e trafikut.
Kur analiza e ngarkesës anë mbrojtëse kërkon anomalitë në të dhënat e transmetuara në të dyja drejtimet, që mund të zbulohen me metoda statistike: emra hostesh që duken çuditshëm, lloji i regjistrit DNS që nuk përdoret aq shpesh, ose kodim jo standard.
Kur analiza e trafikut vlerëson numrin e kërkesave DNS për çdo domen në krahasim me nivelin mesatar. Sulmuesit që përdorin DNS-tunneling do të gjenerojnë një volum të madh trafiku në server. Në teori, dukshëm më i madh se shkëmbimi normal i mesazheve DNS. Dhe kjo duhet të monitorohet!
Utilitet e tunneling DNS
Nëse dëshironi të kryeni një testim të pavarur dhe të kontrolloni se sa mirë kompania juaj mund të zbulojë dhe të reagojë ndaj një aktiviteti të tillë, ka disa utilitete për këtë. Të gjitha ato dinë të tunnelojnë në modin IP mbi DNS:
- – e disponueshme në shumë platforma (Linux, Mac OS, FreeBSD dhe Windows). Lejon të vendosni një SSH shell midis kompjuterit të synuar dhe atij të menaxhimit. Ja një udhëzues i mirë për konfigurimin dhe përdorimin e Iodine.
- – një projekt tunneling DNS nga Dan Kaminsky, shkruar në Perl. Mund të lidhet përmes SSH.
- – 'Tunneli DNS që nuk të bën të vjellësh'. Krijon një kanal C2 të enkriptuar për dërgimin/shkarkimin e skedarëve, ekzekutimin e shell-ev etj.
Utilitetet e monitorimit DNS
Më poshtë është paraqitur një listë e disa utiliteteve, që do t'i shërbejnë për zb discovery tunneling attacks:
- – një modul Python, i shkruar për MercenaryHuntFramework dhe Mercenary-Linux. Lexon skedarët .pcap, nxjerr kërkesat DNS dhe kryen ndërlidhjen e gjeolokacionit, e cila ndihmon në analizë.
- – një utilitet në Python, që lexon skedarët .pcap dhe analizojnë mesazhet DNS.
Mikro FAQ për tunneling DNS
Informacione shumë të dobishme në formën e pyetjeve dhe përgjigjeve!
P: Çfarë është tunneling?
P: Kjo është thjesht një mënyrë për të transferuar të dhëna mbi një protokoll ekzistues. Protokolli nënkuptues siguron një kanal të dedikuar ose një tunnë, e cila më pas përdoret për të fshehur informacionin që po dërgohet në të vërtetë.
P: Kur u krye sulmi i parë me tunneling DNS?
P: Ne nuk e dimë! Nëse e dini – ju lutemi na njoftoni. Sipas asaj që dimë, diskutimi i parë për sulmin u iniciua nga Oscar Persan në një postë të Bugtraq në prill 1998.
P: Cilët sulme janë të ngjashme me tunneling DNS?
P: DNS nuk është aspak protokolli i vetëm që mund të përdoret për tunneling. Për shembull, programet e keqija për menaxhim dhe kontroll (C2) shpesh përdorin HTTP për të masqueraduar kanalin e komunikimit. Ashtu si me tunneling DNS, hakera fshehin të dhënat e tyre, por në këtë rast ato duken si trafik i zakonshëm web browser-i që i drejtohet një site-i të largët (të kontrolluar nga krimineli). Kjo mund të kalojë pa u vënë re nga programet e monitorimit, nëse ato nuk janë të konfiguruara për të perceptuar abuzimi i protokollit HTTP për qëllime hakimi.
Doni që ne të ndihmojmë në zbulimin e tunelimit DNS? Shikoni modulimin tonë dhe provoni falas !
Burimi: habr.com
