Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Ginagawang sandata ng DNS tunneling ang sistema ng domain name para sa mga hacker. Ang DNS ay mahalagang malaking phone book ng Internet. Ang DNS din ang pinagbabatayan na protocol na nagbibigay-daan sa mga administrator na i-query ang database ng DNS server. Sa ngayon ay tila malinaw ang lahat. Ngunit napagtanto ng mga tusong hacker na maaari silang lihim na makipag-usap sa computer ng biktima sa pamamagitan ng pag-inject ng mga control command at data sa DNS protocol. Ang ideyang ito ay ang batayan ng DNS tunneling.

Paano gumagana ang DNS tunneling

Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Lahat ng bagay sa Internet ay may sariling hiwalay na protocol. At ang suporta sa DNS ay medyo simple protokol uri ng kahilingan-tugon. Kung gusto mong makita kung paano ito gumagana, maaari mong patakbuhin ang nslookup, ang pangunahing tool para sa paggawa ng mga query sa DNS. Maaari kang humiling ng isang address sa pamamagitan lamang ng pagtukoy sa pangalan ng domain na interesado ka, halimbawa:

Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Sa aming kaso, tumugon ang protocol gamit ang IP address ng domain. Sa mga tuntunin ng DNS protocol, gumawa ako ng isang kahilingan sa address o isang tinatawag na kahilingan. Uri ng "A". Mayroong iba pang mga uri ng mga kahilingan, at ang DNS protocol ay tutugon sa ibang hanay ng mga patlang ng data, na, tulad ng makikita natin sa ibang pagkakataon, ay maaaring pagsamantalahan ng mga hacker.

Sa isang paraan o iba pa, sa pangunahing nito, ang DNS protocol ay nababahala sa pagpapadala ng isang kahilingan sa server at ang tugon nito pabalik sa kliyente. Paano kung ang isang umaatake ay nagdagdag ng isang nakatagong mensahe sa loob ng isang kahilingan sa domain name? Halimbawa, sa halip na maglagay ng ganap na lehitimong URL, ilalagay niya ang data na gusto niyang ipadala:

Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Sabihin nating kinokontrol ng isang umaatake ang DNS server. Pagkatapos ay maaari itong magpadala ng dataβ€”personal na data, halimbawaβ€”nang hindi kinakailangang matukoy. Pagkatapos ng lahat, bakit ang isang DNS query ay biglang naging isang bagay na hindi lehitimo?

Sa pamamagitan ng pagkontrol sa server, ang mga hacker ay maaaring magpeke ng mga tugon at magpadala ng data pabalik sa target na sistema. Nagbibigay-daan ito sa kanila na magpasa ng mga mensaheng nakatago sa iba't ibang larangan ng tugon ng DNS sa malware sa infected na makina, na may mga tagubilin tulad ng paghahanap sa loob ng isang partikular na folder.

Ang "tunneling" na bahagi ng pag-atake na ito ay pagtatago data at mga utos mula sa pagtuklas ng mga sistema ng pagsubaybay. Ang mga hacker ay maaaring gumamit ng base32, base64, atbp. na mga set ng character, o kahit na i-encrypt ang data. Ang ganitong pag-encode ay papasa nang hindi matukoy ng mga simpleng kagamitan sa pagtuklas ng pagbabanta na naghahanap sa plaintext.

At ito ay DNS tunneling!

Kasaysayan ng pag-atake ng DNS tunneling

Ang lahat ay may simula, kabilang ang ideya ng pag-hijack ng DNS protocol para sa mga layunin ng pag-hack. Sa masasabi natin, ang una talakayan Ang pag-atake na ito ay isinagawa ni Oskar Pearson sa mailing list ng Bugtraq noong Abril 1998.

Noong 2004, ang DNS tunneling ay ipinakilala sa Black Hat bilang isang pamamaraan sa pag-hack sa isang presentasyon ni Dan Kaminsky. Kaya, ang ideya ay napakabilis na lumago sa isang tunay na tool sa pag-atake.

Ngayon, ang DNS tunneling ay sumasakop sa isang kumpiyansa na posisyon sa mapa mga potensyal na banta (at ang mga blogger ng seguridad ng impormasyon ay madalas na hinihiling na ipaliwanag ito).

Narinig mo na ba ang tungkol sa Pawikan ? Ito ay isang patuloy na kampanya ng mga cybercriminal groupβ€”malamang na inisponsor ng estadoβ€”upang i-hijack ang mga lehitimong DNS server upang ma-redirect ang mga kahilingan sa DNS sa kanilang sariling mga server. Nangangahulugan ito na makakatanggap ang mga organisasyon ng "masamang" mga IP address na tumuturo sa mga pekeng web page na pinapatakbo ng mga hacker, gaya ng Google o FedEx. Kasabay nito, ang mga umaatake ay makakakuha ng mga user account at password, na hindi sinasadyang ipasok ang mga ito sa naturang mga pekeng site. Hindi ito DNS tunneling, ngunit isa lamang kapus-palad na resulta ng mga hacker na kumokontrol sa mga DNS server.

Mga banta sa DNS tunneling

Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Ang DNS tunneling ay parang indicator ng simula ng masamang yugto ng balita. Alin? Napag-usapan na natin ang tungkol sa ilan, ngunit buuin natin ang mga ito:

  • Output ng data (exfiltration) – isang hacker ang lihim na nagpapadala ng kritikal na data sa DNS. Ito ay tiyak na hindi ang pinaka mahusay na paraan upang ilipat ang impormasyon mula sa biktima ng computer - isinasaalang-alang ang lahat ng mga gastos at pag-encode - ngunit ito ay gumagana, at sa parehong oras - lihim!
  • Command and Control (pinaikling C2) – ginagamit ng mga hacker ang DNS protocol upang magpadala ng mga simpleng control command sa pamamagitan ng, sabihin nating, remote access trojan (Remote Access Trojan, dinaglat na RAT).
  • IP-Over-DNS Tunneling - Ito ay maaaring mukhang baliw, ngunit may mga utility na nagpapatupad ng isang IP stack sa itaas ng mga kahilingan at tugon ng DNS protocol. Gumagawa ito ng paglipat ng data gamit ang FTP, Netcat, ssh, atbp. isang medyo simpleng gawain. Lubhang nagbabala!

Pag-detect ng DNS tunneling

Ano ang DNS tunneling? Mga tagubilin sa pagtuklas

Mayroong dalawang pangunahing pamamaraan para sa pag-detect ng pag-abuso sa DNS: pagsusuri sa pag-load at pagsusuri sa trapiko.

Sa pagsusuri ng pagkarga Ang nagtatanggol na partido ay naghahanap ng mga anomalya sa data na ipinadala pabalik-balik na maaaring makita ng mga istatistikal na pamamaraan: kakaiba ang hitsura ng mga pangalan ng host, isang uri ng tala ng DNS na hindi gaanong ginagamit, o hindi karaniwang pag-encode.

Sa pagsusuri ng trapiko Tinatantya ang bilang ng mga kahilingan sa DNS sa bawat domain kumpara sa average na istatistika. Ang mga umaatake na gumagamit ng DNS tunneling ay bubuo ng malaking halaga ng trapiko sa server. Sa teorya, higit na nakahihigit sa normal na palitan ng mensahe ng DNS. At ito ay kailangang subaybayan!

DNS tunneling utility

Kung gusto mong magsagawa ng iyong sariling pentest at makita kung gaano kahusay ang iyong kumpanya ay maaaring makakita at tumugon sa naturang aktibidad, mayroong ilang mga kagamitan para dito. Lahat ng mga ito ay maaaring tunnel sa mode IP-Over-DNS:

  • Yodo – magagamit sa maraming platform (Linux, Mac OS, FreeBSD at Windows). Binibigyang-daan kang mag-install ng SSH shell sa pagitan ng target at control na mga computer. Iyan ay isang magandang gabay sa pag-set up at paggamit ng Iodine.
  • OzymanDNS – Proyekto ng DNS tunneling mula sa Dan Kaminsky, na nakasulat sa Perl. Maaari kang kumonekta dito sa pamamagitan ng SSH.
  • DNSCat2 - "DNS tunnel na hindi nakakasakit sa iyo." Lumilikha ng naka-encrypt na C2 channel para sa pagpapadala/pag-download ng mga file, paglulunsad ng mga shell, atbp.

Mga kagamitan sa pagsubaybay sa DNS

Nasa ibaba ang isang listahan ng ilang mga utility na magiging kapaki-pakinabang para sa pag-detect ng mga pag-atake ng tunneling:

  • dnsHunter – Python module na isinulat para sa MercenaryHuntFramework at Mercenary-Linux. Nagbabasa ng mga .pcap file, nag-extract ng mga query sa DNS at nagsasagawa ng geolocation mapping para tumulong sa pagsusuri.
  • reassemble_dns – isang Python utility na nagbabasa ng mga .pcap file at nagsusuri ng mga DNS message.

Micro FAQ sa DNS tunneling

Kapaki-pakinabang na impormasyon sa anyo ng mga tanong at sagot!

Q: Ano ang tunneling?
TUNGKOL: Isa lang itong paraan para maglipat ng data sa isang umiiral nang protocol. Ang pinagbabatayan na protocol ay nagbibigay ng nakalaang channel o tunnel, na pagkatapos ay ginagamit upang itago ang impormasyong aktwal na ipinapadala.

T: Kailan isinagawa ang unang pag-atake ng DNS tunneling?
TUNGKOL: Hindi namin alam! Kung alam mo, mangyaring ipaalam sa amin. Sa abot ng aming kaalaman, ang unang pagtalakay sa pag-atake ay pinasimulan ni Oscar Piersan sa mailing list ng Bugtraq noong Abril 1998.

Q: Anong mga pag-atake ang katulad ng DNS tunneling?
TUNGKOL: Ang DNS ay malayo sa tanging protocol na maaaring magamit para sa pag-tunnel. Halimbawa, ang command and control (C2) malware ay kadalasang gumagamit ng HTTP upang i-mask ang channel ng komunikasyon. Tulad ng DNS tunneling, itinatago ng hacker ang kanyang data, ngunit sa kasong ito, mukhang trapiko mula sa isang regular na web browser na nag-a-access sa isang malayong site (kinokontrol ng umaatake). Ito ay maaaring hindi napapansin sa pamamagitan ng pagsubaybay sa mga programa kung ang mga ito ay hindi naka-configure upang makita pagbabanta pang-aabuso ng HTTP protocol para sa mga layunin ng hacker.

Gusto mo bang tumulong kami sa pagtuklas ng tunnel ng DNS? Tingnan ang aming module Varonis Edge at subukan ito nang libre demo!

Pinagmulan: www.habr.com

Magdagdag ng komento