МЕНЮ

Как работает протокол BGP и protocol DNS? Основы компьютерных сетей.Zip File, мамкины хаЦкеры. С вами Денчик и сегодня мы будем душнить на одну из моих самых любимейших тем. Сказ пойдёт о статической и динамической маршрутизации, протоколах обмена данными о маршрутах. Их уязвимостях, механизмах защиты, и прочих интересных вещах так или иначе связанных с интернет-протокольчиком BGP, дыры в котором активно используются для атак злоумышленниками. Но мы, разумеется, как специалисты в ИБ, будем рассматривать их исключительно с точки зрения защиты от этих негодников. Так что если вам интересно, как нагибают и защищают базовые протоколы в крупных сетях. Да и вообще в целом, хотите узнать, как интернет функционирует изнутри, вы попали в правильную компанию. Наливайте себе чайку по забористее, устраивайтесь по удобней в мягком любимом креслице и приготовьтесь к лютому пятничному душнилову. Погнали.

Начнём с базы. С точки зрения DNS интернет работает плюс-минус следующим образом. Есть сервера провайдеров, есть DNS-сервера и непосредственно сайты.

Когда пользователь подключается с телефона или компьютера к базовой станции оператора, он отправляет запрос, какой адрес имеет сайт яндекс.ру. За предоставление данной инфы отвечает протокол DNS.

Тут важно понимать, что протоколы маршрутизации работают на сетевом уровне, а адресация имён на другом. Напишите в комментах, кто помнит на каком именно не гугля этот вопрос.

Сам же процесс маршрутизации – это определение наилучшего маршрута доставки пакета из одной сети в другую. Однако роутерам важно не только оперативно определить эти краткие маршруты, но и поддерживать их в актуальном состоянии.

Маршруты бывают трёх видов. Первый, это маршрут по умолчанию. Используется в ситуации, когда компьютер не знает подсеть, куда необходимо доставить пакет.

Второй тип – статическая маршрутизация. Это объединение двух-трёх сетей небольших объёмов. В ней тоже всё прописывается ручками. Минус этого типа соответственно в масштабируемости.

Т.е. добавили в сеть один маршрутизатор и нужно прописывать его на всех остальных. Соответственно при увеличении количества сетей, такой тип, может свести с ума самого опытного специалиста по сетевой безопасности.

Но даже ему не удастся ввести в заблуждение выпускника, прошедшего обучение по онлайн-программе “Информационная безопасность” разработанной ведущим вузом страны МИФИ совместно со Skillfactory.После нее студенты самостоятельно создают системы безопасности для банков, IT, ритейла, больниц, производств и других самых разных компаний.Программа построена на фокусе реальных задач: Каждый модуль — CTF-соревнования и проекты от компаний партнеров.

Будете проводить исследования на реальных данных, используя возможности университета как научно-технического кластера. Так вы научитесь работать в команде и соберете крутое портфолио.

В процессе учёбы вы научитесь кодить на Python, использовать SQL, работать с Windows и Linux. Применять специальный софт для защиты и взлома.

А также проектировать системы безопасности и проводить аудит. Короче скучно на такой учебе не будет.

В программе есть даже менеджмент и работа с ключевыми российским стандартами и законами. В общем все навыки, которые нужны для последующего трудоустройства.

Выпускники МИФИ работают в Group-IB, Positive Technologies и Лаборатории Касперского, и каждый год выигрывают популярные соревнования и олимпиады по программированию.

Такая связка даст вам не просто унылое обучение в виде лекций, а реальный опыт работы, который соответствует современному рынку труда. Его вы получите за счёт решения кейсов от Aliexpress и Вконтакте.Так что по окончанию обучения у вас будет не только опыт работы, но и готовое портфолио, что безусловно, выделит вас среди других кандидатов на собеседовании.

Ну и само собой после выпуска вы получите официальный документ от вуза о повышении квалификации. Поэтому ребятки, не тратьте драгоценное время зря.

Если хотите уже в этом году стать профессионалом за которым охотятся топовые IT-компании, записывайтесь на программу «Информационная безопасность» и становитесь реальными спецами инфобезного дела. Лично я считаю, что ничего круче сей профы в IT-мире априори не существует.

Переходите по ссылочке в описании или по QR-коду, который видите на экране. А по промокоду КУРЕЦ вы получите скидку на обучение.

Ну а мы возвращаемся к основной теме нашего выпуска. Когда со статической маршрутизацией история не зашла, специалисты придумали динамическую маршрутизацию. Она делится на Intra Domain, под которой подразумевается одна организация или автономная система.

Автономная система - это система IP-сетей и сетевых устройств, управляемых одним администратором  или компанией. Классический пример автономной системы это корпоративная сеть или сеть местный оператора связи.

Второй тип динамической маршрутизации - это Inter Domain. Т.е. то что вне. Используется, как правило, в крупных сетях, где объединяется уже несколько организаций, либо вообще городских и даже региональных сеток.

Во время работы каждый маршрутизатор выстраивает таблицу, в которой определяется, на какой интерфейс отправлять пакеты, адресованные в конкретную сеть. Не ту в которой мы находимся в данный момент.

На Cisc’ах она смотрится командой show ip route. На конечных машинах работающих под Linux: route –n. На винде: route print.

В роутерах таблицы маршрутизации заполняются в трёх случаях: в случае назначения на интерфейсах адресов и при переводе их в состояние up.

В случае прописывания статических маршрутов. Ну и, как вы уже догадались, в случае работы с динамическими протоколами маршрутизации.

Если маршруты получены из разных источников или из разных протоколов маршрутизации, административная дистанция позволяет выбрать маршрутизатору один из нескольких маршрутов, ведущих в одну и ту же удаленную сеть.

У сетевиков существует поверье, что чем ниже значение AD, тем лучше маршрут. У разных производителей сетевого оборудования значения AD могут разительно отличаться. На скриншоте вы видите вариант от Cisco.

Динамическая маршрутизация

Ключевая идея динамической маршрутизации заключается в том, что маршрутизаторы периодически обмениваются друг с другом информацией о данных по маршрутам.

Одним из самых старых протоколов динамической маршрутизации является RIP. Это IGP, т.е. интериор протокол. Он выбирает маршруты по количеству хопов, т.к. роутеров на пути. Для обмена маршрутами использует UDP и Multicast.

Следующий протокол, являющийся проприетарной разработкой Cisco это EIGRP. В нём в качестве метрик используют ширину канала, задержку, потери по каналу и его текущую загруженность.

Его главной особенностью является применение RTP в противовес TCP/UPD. Т.е. работает немного выше по уровню. Помимо него, есть такой протокол, как OSFP. Он, как EIGRP, только не от Cisco.

Это открытый и один из самых популярных протоколов динамической маршрутизации. Метрика в нём - суммарная ширина канала на всём пути прохождения маршрута.

Как и все использует unicast и multicast для обмена маршрутами. И при всё при том работает непосредственно на L4 без использования TCP/UDP. Сравнительно таблица динамических протоколов выглядит примерно следующим образом.

Тут важно обратить внимание на максимальное количество хопов и скорость конвергенции, т.е. насколько быстро устройства сопрягаются между собой. Ну и ресурсоёмкость. OFPF потребляет больше всего.

BGP

Border Gateway Protocol - протокол обмена информацией о маршрутах между AS сети Интернет. BGP бывает двух разновидностей. Интёрнал и Экстёрнал.

Протокол в этой истории используется TCP. 179 порт. Т.е. если увидите такой открытый порт в интернете – это неправильно сконфигурированный BGP и если его как следует нагрузить, можно вызвать BGP DDoS.

Auto-discovery отсутствует. Т.е. связь между автономными системами необходимо настраивать ручками. Основной параметр для BGP – номер этой самой ASки.

eBGP имеет административную дистанцию равную 20 и позволяет управлять входящим и исходящим трафиком на уровне L4.

Окей. BGP позволяет обеспечить так называемое «горячее» резервирование доступа. Сделать это можно, как просто посредством резерва, так и с дополнительной балансировкой нагрузки.

Также с помощью BGP можно успешно защититься от DDoS-атак с помощью классического механизма защиты Remote Triggered Black Hole. Удалённая стригеренная чёрная дыра в которую сливается весь трафик.

Т.е. выделенный тригерный маршрутизатор даёт команду другим слить трафик. В данном случае BGP работает, как протокол аркистрации и позволяет успешно предотвратить DDoS-атаку.

Вообще на практике с BGP довольно часто косячат и маршруты анонсируются неправильно даже у крупных гигантов. А Ростелеком даже обвиняли в перехвате трафика различных американских сервисов.

Так что не думайте, что эта история идеально и безопасна. Как и большинство технологий, BGP имеет ряд уязвимостей, которыми пользуются злоумышленники.

К таковым можно отнести. Route Manipulation - изменение таблицы маршрутизации на сетевом устройстве для перенаправления трафика с целью дальнейшего перехвата.

Route HiJacking – оно же анонсирование  нелегитимного маршрута для перенаправление трафика, опять же с целью дальнейшего перехвата. Ну и DDoS - использование большого количества BGP пакетов для исчерпания ресурсов на целевом роутере.

Но радует, что и защититься от всех этих нехороших вещей тоже можно. Во-первых, можно аутентифицировать BGP сессии. Т.е. использовать shared password для успешного установления соединения.

Это значительно усложнит злоумышленнику компрометацию BGP-протокола. Во-вторых, можно заюзать prefix-list для ограничения получаемых маршрутов.

Для этого, перед конфигурацией необходимо понимать какие сети будут анонсироваться и настроить list, который будет принимать только их как со стороны Заказчика, так и со стороны провайдера.

Ну и в третьих, можно поиграться с параметром TTL (time to live). Он означает количество L3 устройств между BGP роутерами. Перед конфигурацией нужно просто чётко определить их количество и настроить.

Для эффективного отражения DDoS-атак на стороне провайдеров был разработан FlowSpec, который позволяет гибко блокировать сетевой трафик на основании IP-адресов, портов и др. информации в заголовках пакетов.

А на маршрутизаторе можно настроить политику регулирующую с кем именно может быть установлена BGP-сессия. Это сократит возможность злоумышленнику по созданию DoS-атаки на роутеры.

В качестве небольшой практической разминки, можете поставить видосик на паузу и попробовать решить типовую задачку по настройке динамической маршрутизации BGP между вашей сеткой и сетью провайдера.

Главное после настройке сессии убедитесь, что маршрут у вас анонсируется.

Протокол DNS

Протокол DNS использует 53 порт для так называемого резолвинга. Т.е. сопоставления доменного имени и IP адреса. В основном его использует серверное ПО BIND, в случае с Linux и Microsoft DNS Server, если речь заходит о мелкомягких.

Более подробно о настройке роли DNS на Виндовом серве я рассказываю в своём курсе по администрированию, который не так давно был опубликован на канале в соответствующем плейлисте.

Так что если вам интересна подробная настройка эта истории – переходите и смотрите. Сам резолвинг DNS имени выглядит следующим образом. Компьютер спрашивает у сервера провайдера какой IP-адрес у сайта.

Сервер в свою очередь обращается к другому серверу с корневой DNS с вопросом про зону. После того, как мы зарезолвили зону и узнали DNS сервер зоны первого уровня, мы обращаемся к нему и спрашиваем какой адрес у 123.ру.

Он отвечает, что у сервера отвечающего за данную зону адрес 2.2. Соответственно дальше мы идём на этот 2.2. и спрашиваем какой IP в 123.ру. В ответ получаем 3.3.

На этом этапе цепочка замыкается. Вся нужная информация получена и мы с лёгкостью переходим на нужный сайт. В целом процесс не сложный и вполне логичный. Если не воткнулись. Поставьте на паузу и рассмотрите его чуть подробней самостоятельно пробежавшись по каждому шагу.

Идём дальше. Рассмотрим типичную структуру доменных имён. В первую очередь нужно понимать, что в конце каждого доменного имени на самом деле всегда есть точка. Она, что называется не пишется, но подразумевается.

Эту историю называют корневым доменом. Следом за ним идёт домен первого уровня. Та самая зона в которую мы в самом начале обратились с целью резолвинга.

Домен второго уровня – это само доменное имя зарегистрированное в зоне РУ. Ну и третий уровень, это всем известное ВВВ. За определение доменов первого уровня отвечает организация АЙКЭН.

Под её началом в зоне РУ работает плюс-минус 50 регистраторов домена. Полный список всегда можно глянуть на соответствующем портале.

За локальный резолвинг отвечает файл /etc/hosts. Этот файл есть в любом Windows/Linux и даже MAC’овском дистрибутиве. В нём содержится соответствие IP-адреса и домена.

К слову, для его поиска не используется протокол DNS. А учитывая, что этот процесс полностью прозрачен для пользователя, злоумышленники частенько изменяют данный файл для перенаправления пользователя на вредоносные сайты.

Существуют разные типы DNS записей. Из наиболее важных следует запомнить A – это IPv4 адрес, AAAA – IPv6 адрес и PTR. Это обратный резолвинг.

С его помощью мы можем по айпишнику узнать какие адреса к нему привязаны. Ещё классная тема – MX. С его помощью можно узнать все почтовые адреса в определённой компании и затем использовать эти данные для OSINT’а.

DNS и ИБ

Примеры инцидентов связанных с DNS можно приводить бесконечно. То злоумышленники перехватывают домены. То компрометируют DNS-серверы крупной компании, отправляя клиентов на фишинговый домен.

Короче историй связанных с фейлами в этом направлении боле чем хватает. Ибо так уж сложилось, что DNS имеет ряд уязвимостей с точки зрения ИБ и позволяет злоумышленникам производить целый ряд атак.

Одна из них это классический DDoS Flood. Когда злоумышленник генерирует большое количество запросов к DNS-серверу, тем самым перегружая его и приводя к его временной невозможности обрабатывать запросы.

Также есть второй тип, Reflected DDoS. В этом случае злоумышленник генерирует DNS запросы и подставляет в качестве source IP, адрес цели DDoS атаки. Тем самым DNS сервера буквально “заваливают” трафиком целевую систему.

Более продвинутые хакеры предпочитают использовать DNS Hijacking. Т.е. изменение DNS записи с целью перенаправить трафик пользователя на поддельный ресурс.

Например, так подделывают популярные интернет-банки, платежные системы и даже сайты с продажей билетов. В народе эта история больше известна, как атака Man in the middle.

Ну и самая верхушка злодейства, это пожалуй DNS туннелирование. Т.к. DNS разрешён в буквальном смысле во всех сетях, он часто используется злоумышленниками для скрытой передачи похищенных данных или для управления целыми бот-сетями.

Но благо DNS  активно  используется не только хаЦкерами, но и службами  ИБ отвечающими за защиту корпоративных сетей и определение в них подозрительных активностей и аномалий.

Так, DNS активно используется  для  определения  вредоносного  ПО,  т.к.  в  отличие от HTTPs не требует расшифровки. Да есть конечно DNS Sec, но его юзают плюс-минус никто. Ещё DNS используется  для  контроля  WEB  трафика.

Помним да, такие сервисы как Яндекс-DNS или всем известные гугловские восьмёрки. Ну и нередко DNS  используется  для  выявления  активности  бот-сетей и скрытой передачи трафика из закрытой корпоративной сети во внешку.

Инструменты анализа DNS

Из встроенных в Винду утилит, работающих с протоколом DNS, можно отметить nslookup. Он позволяет резолвить конкретные имена. На скриншоте рассмотрено пару примеров. Можете попробовать повторить тоже самое самостоятельно указывая эти или другие сайты.

В Linux и Mac есть аналогичная утилита для работы с DNS протоколом под названием dig. В сравнении с nslookup она имеет больший функционал позволяющий работать с любыми записями.

Окей, друзья. Нынче мы рассмотрели два основных протокола для работы сети Интернет - DNS и BGP. BGP – это основа основ маршрутизации в интернете. А DNS – жизненно необходим для работы web-трафика.

Оба протокола активно используются как для атак злоумышленниками, так и для защиты сцециалистами по ИБ. А сейчас, самое время перейти к выполнению домашней работы. Да, для тех кто не в курсе – вы сейчас не тупо посмотрели развлекательный ролик.

Этот выпуск – часть моего большого авторского курса «Информационная безопасность с нуля до джуна» над материалами которого я стабильно работаю уже на протяжении двух лет.

В описании есть ссылка перейдя по которой вы сможете выполнить домашнее задание к этой и к другим лекциям курса абсолютно бесплатно. Затем я это дело проверю и оценю ваш уровень знаний по теме.

Сразу предупреждаю – все те, кто вместо ответов пишет 123 – получают пожизненный бан. Ибо чужое время нужно уважать и ценить, а не относиться к нему пренебрежительно и строить из себя самых умных.

Но благо большая часть из аудитории адекватные, поэтому это скорее рекомендация для новичков. Всем олдам же по традиции хочу пожелать удачи, успеха и самое главное – отличного настроения.

Если не лень – поделитесь видосиков со своими друзьями, поставить под ним лайкосик и конечно же подпишитесь, если вдруг по каким то религиозным причинам ещё не сделали этого ранее.

Ведь в близжайшее время мы по косточкам разберём HTTP и HTTPs протоколы и с головую погрузимся в сетевые системы защиты. Так что не пропустити.

Ну а с вами, как обычно, был Денчик. До новых встреч, мои кайфные друже. Всем пока.

 

Не можешь понять, куда делись видео по взломам и хакингу? Они переехали в наш уютный паблик в телеге

telegram chanel

Хочешь больше контента? Подписывайся на YouTube-канал!

Курс «Диплом за неделю»

Пособие «Библия вардрайвинга»

Курс Cisco «CCNA: Introduction to Networks»

© 2024. IT-спец. Денис Курец.