Што е 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 за хакерски цели. Колку што можеме да кажеме, првиот дискусија Овој напад беше извршен од Оскар Пирсон на мејлинг листата на Bugtraq во април 1998 година.

До 2004 година, DNS тунелирањето беше воведено во Black Hat како техника за хакирање во презентација на Ден Камински. Така, идејата многу брзо прерасна во вистинска алатка за напад.

Денес, DNS тунелирањето зазема сигурна позиција на мапата потенцијални закани (и од блогерите за безбедност на информации често се бара да го објаснат тоа).

Дали сте слушнале за Морска желка ? Ова е тековна кампања на сајбер-криминални групи - најверојатно спонзорирана од државата - за киднапирање на легитимни DNS сервери со цел да се пренасочат барањата за DNS до нивните сопствени сервери. Ова значи дека организациите ќе добијат „лоши“ IP адреси кои укажуваат на лажни веб-страници управувани од хакери, како што се Google или FedEx. Во исто време, напаѓачите ќе можат да добијат кориснички сметки и лозинки, кои несвесно ќе ги внесат на таквите лажни сајтови. Ова не е DNS тунелирање, туку само уште една несреќна последица од хакерите кои ги контролираат DNS серверите.

Закани за тунелирање на DNS

Што е DNS тунелирање? Инструкции за откривање

Тунелирањето на DNS е како показател за почетокот на фазата на лоши вести. Кои? Веќе разговаравме за неколку, но ајде да ги структурираме:

  • Излез на податоци (ексфилтрација) – хакер тајно пренесува критични податоци преку DNS. Ова дефинитивно не е најефикасниот начин за пренос на информации од компјутерот на жртвата - земајќи ги предвид сите трошоци и шифрирања - но функционира, а во исто време - тајно!
  • Команда и контрола (скратено C2) – хакерите го користат протоколот DNS за да испраќаат едноставни контролни команди преку, да речеме, тројанец за далечински пристап (Тројанец за далечински пристап, скратено 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 школка помеѓу целните и контролните компјутери. Тоа е добро гайд на поставување и користење на Јод.
  • ОзиманДНС – Проект за тунелирање DNS од Ден Камински, напишан во Perl. Можете да се поврзете со него преку SSH.
  • DNSCat2 - „ДНС тунел што не ве разболува“. Создава шифриран канал C2 за испраќање/симнување датотеки, лансирање школки итн.

Комунални услуги за следење на DNS

Подолу е листа на неколку комунални услуги кои ќе бидат корисни за откривање напади на тунелирање:

  • dnsHunter – Пајтон модул напишан за MercenaryHuntFramework и Mercenary-Linux. Чита .pcap-датотеки, извлекува барања за DNS и врши мапирање на геолокација за да помогне во анализата.
  • reassemble_dns – алатка за Python која чита .pcap датотеки и анализира DNS пораки.

Микро ЧПП за DNS тунелирање

Корисни информации во форма на прашања и одговори!

П: Што е тунелирање?
ЗА: Тоа е едноставно начин за пренос на податоци преку постоечки протокол. Основниот протокол обезбедува посветен канал или тунел, кој потоа се користи за да се сокријат информациите што всушност се пренесуваат.

П: Кога беше извршен првиот напад на DNS тунелирање?
ЗА: Ние не знаеме! Ако знаете, ве молиме известете не. Според нашите сознанија, првата дискусија за нападот беше иницирана од Оскар Пирсан во мејлинг листата на Bugtraq во април 1998 година.

П: Кои напади се слични на DNS тунелирањето?
ЗА: DNS е далеку од единствениот протокол што може да се користи за тунелирање. На пример, малициозен софтвер за команда и контрола (C2) често користи HTTP за маскирање на каналот за комуникација. Како и кај DNS тунелирањето, хакерот ги крие своите податоци, но во овој случај изгледа како сообраќај од обичен веб-прелистувач кој пристапува до далечинска локација (контролирана од напаѓачот). Ова може да остане незабележано од програмите за следење ако не се конфигурирани да перцепираат закана злоупотреба на протоколот HTTP за хакерски цели.

Дали сакате да помогнеме со откривањето на тунелот DNS? Проверете го нашиот модул Варонис Еџ и пробајте го бесплатно демо!

Извор: www.habr.com

Додадете коментар