Што такое DNS-тунэляванне? Інструкцыя па выяўленні

Што такое DNS-тунэляванне? Інструкцыя па выяўленні

DNS-тунэляванне ператварае сістэму даменных імёнаў у зброю хакераў. DNS - гэта, па сутнасці, велізарная тэлефонная кніга інтэрнэту. А яшчэ DNS з'яўляецца базавым пратаколам, які дазваляе адміністратарам рабіць запыты ў базу дадзеных DNS-сервера. Пакуль быццам усё зразумела. Але хітрыя хакеры ўсвядомілі, што можна ўтойліва мець зносіны з кампутарам-ахвярай шляхам укаранення кіраўнікоў каманд і дадзеных у пратакол DNS. Гэта ідэя і ляжыць у аснове DNS-тунэлявання.

Як працуе DNS-тунэляванне

Што такое DNS-тунэляванне? Інструкцыя па выяўленні

Для ўсяго ў інтэрнэце ёсць свой асобны пратакол. І DNS падтрымлівае адносна просты пратакол тыпу запыт-адказ. Калі вы хочаце паглядзець, як ён працуе, то можаце запусціць nslookup - асноўны інструмент для падачы DNS-запытаў. Вы можаце запытаць адрас, проста паказаўшы даменнае імя, якое цікавіць, напрыклад:

Што такое DNS-тунэляванне? Інструкцыя па выяўленні

У нашым выпадку пратакол адказаў IP-адрасам дамена. У тэрмінах DNS-пратакола, я зрабіў запыт адраса або запыт т.зв. "А"-тыпу. Існуюць і іншыя тыпы запытаў, пры гэтым DNS-пратакол будзе адказваць з розным наборам палёў дадзеных, якімі, як мы гэта пазней убачым, могуць скарыстацца хакеры.

Так ці інакш, па сваёй сутнасці DNS-пратакол займаецца перадачай запыту на сервер і яго адказу назад кліенту. А што, калі зламыснік дадасць срытае паведамленне ўнутр запыту даменнага імя? Напрыклад, замест уводу цалкам легітымнага URL, ён увядзе дадзеныя, якія жадае перадаць:

Што такое DNS-тунэляванне? Інструкцыя па выяўленні

Выкажам здагадку, зламыснік кіруе DNS-серверам. Тады ён можа перадаваць дадзеныя - напрыклад, персанальныя дадзеныя, - і не абавязкова будзе знойдзены. У рэшце рэшт, з чаго раптам DNS-запыт можа стаць нечым нелегітымным?

Кіруючы серверам, хакеры могуць падрабляць адказы і адпраўляць дадзеныя зваротна на мэтавую сістэму. Гэта дазваляе ім перадаваць паведамленні, схаваныя ў розных палях DNS-адказу, у шкоднаснае ПА на заражанай машыне, з указаннямі накшталт пошуку ўсярэдзіне вызначанай тэчкі.

«Тунэлюючая» частка дадзенага нападу складаецца ў ўтойванні дадзеных і каманд ад выяўлення сістэмамі маніторынгу. Хакеры могуць выкарыстоўваць наборы сімвалаў base32, base64 і г.д., ці нават шыфраваць дадзеныя. Такая кадоўка пройдзе незаўважанай міма простых утыліт выяўлення пагроз, якія ажыццяўляюць пошук па адкрытым тэксце.

І гэта і ёсць DNS-тунэляванне!

Гісторыя нападаў праз DNS-тунэляванне

Ва ўсяго ёсць пачатак, уключаючы ідэю захопу DNS-пратакола для хакерскіх мэт. Наколькі мы можам судзіць, першае абмеркаванне такога нападу праводзілася Оскарам Пірсанам (Oskar Pearson) у паштовай рассылцы Bugtraq у красавіку 1998 гады.

Да 2004 году, DNS-тунэляванне было прадстаўлена на Black Hat як хакерскі метад у прэзентацыі Дэна Камінскага (Dan Kaminsky). Такім чынам, ідэя вельмі хутка перарасла ў сапраўдную прыладу нападу.

На сёння DNS-тунэляванне займае ўпэўненыя пазіцыі на мапе патэнцыйных пагроз (і блогераў у сферы інфармацыйнай бяспекі часта просяць яго растлумачыць).

Ці чулі вы пра марская чарапаха ? Гэта дзеючая кампанія кіберзлачынных груповак - хутчэй за ўсё, якая фундуецца дзяржавай, - накіраваная на захоп легітымных DNS-сервераў з мэтай перанакіраванні DNS-запытаў на ўласныя серверы. Гэта азначае, што арганізацыі будуць атрымліваць "дрэнныя" IP-адрасы, якія паказваюць на падробленыя вэб-старонкі пад кіраваннем хакераў, - напрыклад, Google або FedEx. Пры гэтым зламыснікі змогуць займець уліковыя запісы і паролі карыстальнікаў, якія тыя неўсвядомлена ўвядуць іх на такіх падробленых сайтах. Гэта не DNS-тунэляванне, але проста яшчэ адно дрэннае наступства кантролю DNS-сервераў хакерамі.

Пагрозы DNS-тунэлявання

Што такое DNS-тунэляванне? Інструкцыя па выяўленні

DNS-тунэляванне - гэта як індыкатар пачатку стадыі дрэнных навін. Якіх менавіта? Мы ўжо распавялі аб некалькіх, але давайце іх структуруемы:

  • Выснова дадзеных (эксфільтрацыя) – хакер скрытна перадае крытычныя дадзеныя па-над DNS. Гэта вызначана не самы эфектыўны спосаб перадачы інфармацыі з кампутара-ахвяры - з улікам усіх выдаткаў і кадовак - але ён працуе, і пры гэтым - утойліва!
  • Кіраванне і кантроль (Command and Control, скарочана C2) - хакеры выкарыстоўваюць DNS-пратакол для адпраўкі простых кіраўнікоў каманд, скажам, праз траян выдаленага доступу (Remote Access Trojan, скарочана RAT).
  • Тунэляванне IP-Over-DNS – гэта можа гучаць вар'яцка, але існуюць утыліты, якія рэалізуюць IP-стэк па-над запытамі і адказамі DNS-пратакола. Гэта робіць перадачу даных з дапамогай FTP, Netcat, ssh і г.д. адносна простым заняткам. Вельмі злавесна!

Выяўленне DNS-тунэлявання

Што такое DNS-тунэляванне? Інструкцыя па выяўленні

Існуе два асноўных метаду выяўлення злоўжываннем DNS: аналіз нагрузкі і аналіз трафіку.

Пры аналізе нагрузкі які абараняецца бок шукае анамаліі ў дадзеных, якія перадаюцца ў абодва бакі, якія могуць быць выяўлены статыстычнымі метадамі: дзіўна якія выглядаюць імёны хастоў, тып DNS запісы, якая не выкарыстоўваецца настолькі часта, або нестандартная кадоўка.

Пры аналізе трафіку ацэньваецца колькасць DNS запытаў да кожнага дамена ў параўнанні са сярэднестатыстычным узроўнем. Зламыснікі, якія выкарыстоўваюць DNS-тунэляванне, будуць генераваць вялікі аб'ём трафіку на сервер. У тэорыі, значна праўзыходны нармальны абмен DNS-паведамленнямі. І гэта неабходна адсочваць!

Утыліты DNS-тунэлявання

Калі вы жадаеце правесці ўласны пентэст і праверыць, наколькі добра ваша кампанія зможа выявіць і адрэагаваць на такую ​​актыўнасць, то для гэтага ёсць некалькі ўтыліт. Усе яны ўмеюць тунэляваць у рэжыме IP-Over-DNS:

  • Ёд - даступная на шматлікіх платформах (Linux, Mac OS, FreeBSD і Windows). Дазваляе ўсталяваць SSH-Шэл паміж мэтавым і кіраўніком кампутарам. Вось нядрэнны гайд па наладзе і выкарыстанні Iodine.
  • OzymanDNS – праект DNS-тунэлявання ад Дэна Камінскага, напісаны на Perl. З ім можна падлучацца па SSH.
  • DNSCat2 – «DNS-тунэль, ад якога не ванітуе». Стварае зашыфраваны C2-канал для адпраўкі/спампоўкі файлаў, запуску шеллов і г.д.

Утыліты DNS-маніторынгу

Ніжэй прадстаўлены спіс некалькіх утыліт, які будзе карысны для выяўлення тунэлюючых нападаў:

  • dnsHunter - Python-модуль, напісаны для MercenaryHuntFramework і Mercenary-Linux. Счытвае .pcap файлы, здабывае DNS-запыты і вырабляе супастаўленне геолокации, што дапамагае пры аналізе.
  • reassemble_dns – утыліта на Python, якая чытае .pcap файлы і аналізуе DNS-паведамленні.

Мікра FAQ па DNS-тунэляванню

Найкарысная інфармацыя ў выглядзе пытанняў і адказаў!

У: Што такое тунэляванне?
Аб: Гэта проста спосаб перадачы дадзеных па-над існуючым пратаколам. Які ляжыць у аснове пратакол забяспечвае вылучаны канал або тунэль, які потым выкарыстоўваецца для ўтойвання інфармацыі, якая перадаецца ў рэчаіснасці.

У: Калі быў ажыццёўлена першая атака па DNS-тунэляванню?
Аб: Мы не ведаем! Калі вы ведаеце - дайце, калі ласка, нам ведаць. Наколькі нам вядома, першае абмеркаванне нападу было ініцыяванае Оскарам Пірсанам у паштовай рассылцы Bugtraq у красавіку 1998 гады.

У: Якія напады падобныя на DNS-тунэляванне?
Аб: DNS - далёка не адзіны пратакол, які можна выкарыстоўваць для тунэлявання. Напрыклад, шкоднасныя праграмы па кіраванні і кантролю (C2) часта выкарыстоўваюць HTTP для маскіроўкі канала ўзаемадзеяння. Як і пры DNS-тунэляванні, хакер хавае свае дадзеныя, але ў дадзеным выпадку яны выглядаюць як трафік звычайнага вэб-браўзэра, які звяртаецца на выдалены сайт (кантралюемы зламыснікам). Гэта можа застацца незаўважаным праграмамі маніторынгу, калі яны не настроены ўспрымаць пагрозу злоўжыванні HTTP-пратаколам у хакерскіх мэтах.

Хочаце, каб мы дапамаглі з выяўленнем DNS-тунэлявання? Азнаёмцеся з нашым модулем Varonis Edge і паспрабуйце бясплатнае дэма!

Крыніца: habr.com

Дадаць каментар