Цикл статей будет посвящен возможным атакам на современные сети. В первой части познакомимся теоретически с атаками и соберем необходимый инструментарий, в последующих попробуем воспроизвести атаки на базе виртуальной сети. Материал не претендует на полноту и создан для того, чтобы начать изучение проблем безопасности систем, где используются технологии для передачи данных. В статьях в большей степени будет уделяться внимание сетям на базе TCP/IP стека, которые могут использоваться для работы внутри небольшой организации.
Теоретические основы
Для изучения, какие вообще атаки существуют для современных и не очень сетей, необходимо придерживаться хотя бы минимальной их классификации, чтобы можно было разобраться, в том как они работают и на какие части сети могут повлиять.
Наиболее популярной классификацией атак на сеть является сопоставление атак уровням теоретической модели OSI. То есть все атаки рассматриваются в контексте того, для чего предназначен каждый из уровней.
В статье мы изменим принцип, который используется для классификации. За основу классификации возьмем этапы тестирования на проникновение, которые обычно производятся для определения наиболее вероятных сценариев атаки злоумышленника на сеть организации. Чаще всего тестирование на проникновение производится в 2 простых этапа. Первый — сбор максимально доступной информации о системе и второй — непосредственно атака. Если говорить при этом о сетевом взаимодействии, то здесь атакой можно считать и стандартный функционал, который может использоваться не по назначению.
Классификация выглядит следующим образом:
поиск хостов, имеющих доступ во внешнюю сеть;
поиск хостов, не имеющих доступ во внешнюю сеть;
сканирование хостов;
сниффинг (прослушивание трафика);
атаки на локальную сеть;
подмена трафика частично или отдельных пакетов данных.
Поиск хостов, имеющих доступ во внешнюю сеть
Хоть и на деле сложно назвать действия, которые предпринимаются в этой группе, атаками, но тем не менее без применения этой группы вряд ли может быть успешна хоть какое-то поползновение на безопасность сети.
Набор атак этой группы можно назвать специфичным типом сканирования сети. Они позволяют идентифицировать, какие именно хосты доступны извне, то есть определить, есть ли с ними связь. Обычно эта группа реализуется за счет наблюдения за стандартными механизмами протоколов, которые и должны работать на доступных хостах.
Можно отметить, что построение схемы сбора данных о сети в большинстве случаев опирается на так называемые RFC. К примеру, RFC 1122 напрямую дает рекомендации о том, какие существуют коды для диагностики состояния хоста, участвующего во взаимодействии с сетью интернет. Таким образом, хотя бы отчасти эти требования можно применить к хостам, которые будут видны извне организации.
Пример использования стандартного функционала:
Для поиска живых
хостов можно пользоваться протоколом ICMP. Этот протокол был создан для того, чтобы собирать данные о неполадках в сети. Осуществить сбор данных можно, основываясь на ответах от хостов. Вообще протокол поддерживает около 15 специальных кодов, определяющих, какие проблемы появились в сети и сообщить о них всем участникам или тем, кто столкнулся с проблемой передачи данных. Для операции сбора данных о доступности хоста может быть задействован по меньшей мере 1 код, который называется echo запрос. Если внимательно изучить RFC 1122, то можно заметить, что некоторые хосты еще так же могут использовать следующие коды ICMP — 13, 15, 17. На основании хотя бы факта ответа от исследуемого хоста уже можно судить о его доступности.
Примерно по тому же принципу возможно проводить поиск хостов, если использовать наиболее популярные для сетевого взаимодействия протоколы: TCP, UDP, SCTP, HTTP. В этих случаях могут использоваться обычные алгоритмы настройки взаимодействия, которые и предполагаются протоколом в документации. И так же, как и с ICMP, здесь любые ответы от целевых хостов будут интерпретироваться как наличие доступности хоста в принципе.
Все исследования можно проводить с помощью 2 инструментов и их аналогов:
Поиск хостов, не имеющих доступ во внешнюю сеть
Отчасти этот этап может включать предыдущий пункт, но помимо него данный шаг можно распространить, в зависимости от принципов построения сети, на дополнительные протоколы и методы получения данных. Пункт можно разделить на 2 части. Первая — это пассивный сбор данных при наличии возможности прослушивать трафик: некоторые протоколы прикладного уровня могут раскрывать подробности о том, что передается и кем.
Вторая часть включает методы воздействия на сеть. Осуществляются они посредством использования протоколов:
ARP — механизм запроса данных об IP адресах и MAC адресах хостов;
NetBIOS — механизм, который называется Browser. В нем передается информация о названии операционной системы и ее версии;
IPv6 — отправка мультикастовых запросов для получения данных о доступных хостах.
Все виды атак могут быть произведены инструментами:
nmap
bettercap
responder
Cниффинг (прослушивание трафика)
Атака, которая может быть успешна в случае, либо если неверно настроено сетевое оборудование, либо из-за особенности топологии сети. Применяется для изучения данных в трафике, а также для получения данных, которые могут быть использованы для повышения уровня доступа в сети или на отдельных системах, которые участвуют в сетевом взаимодействии. В большинстве случаев сбор данных можно производить из операционных систем хостов, хотя и с сетевых устройств те же самые действия так же возможны.
Подобные атаки могут быть осуществлены с помощью:
wireshark
tcpdump
bettercap
Атаки на локальную сеть
Атаки, которые в большинстве случаев меняют топологию сети и заполняют сеть большим количество однотипных пакетов. Делается это для того, чтобы не происходило восстановления изначального состояния маршрутов сети.
ARPSpoofing — базовый блок для всех атак, которые подразумевают изменение трафика в сети. Подразумевает отправку большого количества пакетов с данными, позволяющими злоумышленнику притворяться любым хостом в сети. Наиболее выгодные хосты в этом случае — gateway или хост, где располагаются целевые для атаки сервисы.
Dynamic Trunking. Так как чуть ли не единственным эффективным средством для борьбы с изменением топологии сети может являться использования стандарта 802.1Q VLAN, то естественно при его обнаружении нужно проверить возможность атак на его неверную конфигурацию. Этот вид атаки подразумевает, что при доступе хотя бы к одному VLAN можно перевести соединение в состояние, при котором будут видны все данные из других VLAN.
VLAN Hopper — атака, которая позволяет искать хосты в соседних VLAN и отправлять сообщения.
Double Tagging — атака, которая возможна, если атакующий знает номер VLAN, ip адрес системы жертвы. Атакующий в этом случае может запаковать сообщение для отправки в целевую систему. Недостатком атаки можно считать отсутствие обратной связи, так как целевая система не сможет отправлять ответы.
Основные инструменты для атак:
bettercap
yersinia — хоть и старый инструмент, но только в нем есть поддержка проприетарных для устройств Cisco протоколов.
nmap
responder — полезен для сред с операционной системой Windows.
Подмена трафика частично или отдельных пакетов данных
Атаки этой группы подразумевают полный или частичный контроль над передаваемой информацией. Причем в некоторых случаях данные будут проходить через хост атакующего, а в некоторых — только первые пакеты.
Подмена DHCP сервера — применяется для того, чтобы контролировать выдачу адресов для участников в сети. Может быть использовано для кражи данных из приложений.
Подмена DNS сервера. Большое количество приложений, которые работают с сетью без должных проверок, могут излишне доверять серверу, который используется для реализации работы приложения. Может быть использовано для компрометации данных, которые отправляются на сервер, при проведении одновременной атаки на изменение стандартного маршрута внутри сети.
Подмена gateway — за счет механизмов динамической настройки маршрутов сети можно прослушивать всю информацию, которая пролетает через сеть.
Подмена сервисов ОС — использование несовершенства протоколов операционных систем и сетевых устройств. Наиболее популярна при воздействии на сеть, участниками которой являются машины под управлением ОС Windows.
Инструменты для проведения атак:
bettercap
nmap
responder
В следующей части попробуем воспроизвести данные атаки и попробуем от них защититься с помощью доступных сетевых механизмов ОС и устройств. А уже завтра приглашаю всех на бесплатный вебинар, который проведет наш эксперт — Сергей Хохлов. В рамках вебинара создадим и настроим сеть с несколькими маршрутизаторами, затем настроим IPSec VPN типа Site-To-Site. Туннель IPsec VPN проходит от маршрутизатора R1 к маршрутизатору R2 через Linux машину ISP. Linux машина играет роль транзитного узла и не имеет информации о VPN. IPSec будет обеспечивать безопасную передачу информации по незащищенным сетям ISP.