Глава 16. IP телефония и безопасность служб сотрудничества

Содержание

Глава 16. IP телефония и безопасность служб сотрудничества
IP телефония - протоколы и операции
VoIP
SIP и его операции
RTP и его операции
Настройка лаборатории тестирования проникновения в IP телефонию
Методология тестирования проникновения в IP телефонию
Перечисление
Идентификация серверов SIP IP телефонии
Идентификация потенциальных целей
Идентификация запущенных уязвимостей служб
Выполнение сценариев NMAP
Сканирование уязвимостей Nessus
Тестирование проникновения в IP телефонию
Взлом перебором - полномочия сервера SIP
Взлом перебором аутентификации SIP - атака регистрации устройства
Подмена идентификатора вызывающего абонента - vishing
Атака злоумышленника в роли посредника
Атака переполнением - DOS
Перескок VLAN
Безопасность и практические приёмы IP телефонии
Безопасность сетевой среды IP телефонии
Безопасность устройства IP телефонии
Безопасность уровня носителя
Безопасность уровня сигналов
Выводы
Вопросы

В наших предыдущих главах мы изучили сетевые протоколы, протоколы соединения баз данных и приложений, такие как LAN, IP, SMB и TCP/UDP, а также распространённые атаки на них. Эта глава обсудит совершенно иные сетевые протоколы, носящие название протоколов IP телефонии или, иначе говоря, VoIP (Voice over IP, Голоса поверх IP).

Технология VoIP увидела свет в середине 90-х, когда стоимость вызова была очень высокой. Исследователи разработали идею получения вызова на шаг вперёд и переключились на вызов на основе Интернета, а затем увидела свет технология с названием VoIP.

Данная глава начинается с пояснения самого протокола VoIP - архитектуры VoIP, таких VoIP протоколов как SIP (Session Initiation Protocol, Протокола инициации сеанса) и RTP (Real-Time Transport Protocol, Протокола транспорта в реальном времени) и так далее. Мы рассмотрим пакеты VoIP в сети, структуру VoIP и как проводить тестирование на проникновении в сеть VoIP.

В этой главе мы рассмотрим следующие основные вопросы:

  • IP телефония - протоколы и операции

  • Настройка лаборатории тестирования проникновения в IP телефонию

  • Методология тестирования проникновения в IP телефонию

  • Наилучшие практические приёмы безопасности IP телефонии

IP телефония - протоколы и операции

В этом разделе мы обсудим протоколы IP телефонии, также носящих название протоколов VoIP, однако прежде чем мы непосредственно перейдём к этим протоколам, давайте вначале разберёмся с тем что такое VoIP, как работают VoIP и их различные производные.

VoIP

VoIP означает взаимодействие по телефону, которое происходит через линию Интернета вместо старых телефонных линий PSTN {Public Switched Telephone Network, Коммутируемой телефонной сети общего пользования}. Протокол VoIP отвечает за доставку голосового общения и передачи в потоке сеансов в реальном масштабе времени через Интернет. Самым базовым примером является Skype, продукт Microsoft, который работает поверх протокола VoIP. VoIP обладает своими преимуществами и недостатками, однако прежде чем перейти к ним, давайте разберёмся поглубже с VoIP.

Следующая схема отображает взаимодействие VoIP:

 

Рисунок 16.1


Типичная сеть предприятия

Полное взаимодействие VoIP работает примерно так:

  1. Client 1 при помощи какого- то промежуточного сервера VoIP (здесь PBX - Private Branch Exchange, телефонная система для частного пользования) отправляет запрос INVITE к Client 2.

  2. Client 2 принимает этот вызов и отправляет ACK или Acknowledgment к Client 1.

  3. Затем начинается обмен данными.

  4. По завершению взаимодействия запрос BYE прекратит этот вызов.

Взаимодействие VoIP подразделяется на две составляющие, Signaling и Media:

  • Signaling (Обмен сигналами) отвечает за инициацию, установление, сопровождение и прекращение вызова. Обмен сигналами это основной компонент для разработки самой основы телефонных вызовов через инициацию и сопровождение сеансов между двумя клиентами. Существует множество протоколов обмена сигналами, например, SIP, SCCP, H.323 и тому подобных, однако SIP принят по всему миру и применяется почти во всех организациях. Итак, мы тоже рассмотрим более подробно SIP и относящиеся к нему уязвимости. Для знакомства с полным перечнем протоколов Обмена сигналами отправляем вас к списку https://en.wikipedia.org/wiki/Signaling_protocol.

  • Media (Носитель)это совершенно другой канал и он отвечает за передачу пакетов данных между обоими клиентами.

Теперь, когда мы разобрались со структурой VoIP, давайте изучим как работают протоколы Обмена сигналами и Носителя.

SIP и его операции

SIP это протокол на основе текста, что означает что он работает аналогично архитектуре клиент- сервер HTTP, в которой у нас имеются методы SIP, заголовки SIP, квитирование установления связи (handshake). Сообщение SIP определяется как стиль заголовка для SMTP (Simple Mail Transfer Protocol, Простого протокола обмена сообщениями), а также URL и URI в HTTP, причём в кодируемом текстом стиле.

SIP работает в TCP (Transmission Control Protocol), UDP (User Datagram Protocol) и SCTP (Stream Control Transmission Protocol) поверх портов с номерами из диапазона между 5060 и 5062.

SIP работает на уровне приложения и это достигается при помощи SDP (Session Description Protocol, Протокола описания параметров сеанса), который отвечает за описание самого сеанса и RTP {real-time processing, обработки данных в реальном времени}, отвечающий за обмен пакетами потоковых данных голоса/ видео поверх IP.

Вот наиболее важные методы SIP:

  • INVITE: Запрашивает у Client B инициации вызова.

  • ACK: Подтверждение на запрос INVITE от Client A.

  • BYE: Прекращает текущий сеанс по завершению этого вызова на другой стороне.

  • OPTIONS: Для проверки имеющихся возможностей прокси SIP или собственно телефона VoIP на стороне клиента.

  • REGISTER: Отправляемый в сервер SIP или VoIP запрос для регистрации данного клиента.

  • SUBSCRIBE: Это сообщение служит для подписки на получаемые со стороны уведомления оповещений.

Для полного перечня методов SIP обращайтесь, пожалуйста, к следующей ссылке: https://www.3cx.com/pbx/sip-methods/.

Ниже приводятся коды отклика SIP:

  • 1xx: Этот код отклика отвечает за предоставление так их сведений как звонок (Ringing, 180)

  • 2xx: Отвечает за предоставляемое сообщение успеха, такого как OK (200).

  • 3xx: Ответственен за предоставление перенаправления, что означает предпринятия последующих шагов для выполнения данного вызова.

  • 4xx: Данный код отклика отвечает за возможность отображения отказа, что подразумевает, что в данный момент времени этот запрос не может быть исполненным по некой причине.

  • 5xx: Этот код отклика отвечает за предоставление сведений о том, что данный запрос не осуществлён из- за некой проблемы на стороне сервера.

  • 6xx: Данный отклик отображает глобальный отказ.

Итак, давайте разберёмся с полной установкой сквозного вызова в SIP:

  1. Client A инициирует запрос, отправляя соответствующий пакет запроса INVITE в свой сервер SIP. Этот пакет INVITE составлен из сведений о Client B.

  2. Сервер SIP отправит код состояния 100, что он пытается выполнить соединение.

  3. Затем, получив отклик кода состояния 180, будет определено что данный запрос был успешно представлен Client B и его телефон начинает звонить.

  4. После того как Client B принимает данный вызов, будет выработан код состояния 200 OK.

  5. ACK будет отправлен Client B о том, что Client A получил кода состояния 200 OK и готов к началу данного вызова.

  6. Теперь, после того как вызов настроен, начинают течь с обеих сторон пакеты RTP:

     

    Рисунок 16.2


    Процесс IP вызова

Теперь, когда мы разобрались с основой процесса установки вызова, давайте погрузимся глубже в процесс регистрации IP телефона.

На протяжении процесса регистрации соответствующего телефона IP, этот IP телефон отправляет пакет запроса REGISTER в свой сервер SIP, а по завершению успешной аутентификации, этот сервер отправит состояние 200 OK. Теперь, с точек зрения проверки проникновения и безопасности этот запрос REGISTER очень важен:

 

Рисунок 16.3


Процесс регистрации IP телефона

Итак, давайте отобразим визуально все пакеты регистрации в реальном масштабе времени при помощи Wireshark:

 

Рисунок 16.4


Процесс регистрации

Теперь, когда вы тщательно проверили этот снимок экрана обработки, имеется телефон с расширением 256 и IP 172.20.2.30, который отправил пакет запроса REGISTER в свой сервер SIP с размещённым в 172.20.10.170 домене и применяя протокол UDP.

После того как этот запрос был представлен, его сервер SIP отправляет обратно код состояния 200 OK, что означает, что данный телефон клиента успешно удостоверен и зарегистрирован.

Сообщение REGISTER выглядит так:

 

Рисунок 16.5


Пакет сообщения REGISTER

Теперь у нас имеется успешная регистрация в сервере SIP. Итак, давайте выполним свой первый телефонный вызов и посмотрим как отображаемое на Рисунке 16.2 установление соединения SIP выглядит в формате сетевых пакетов:

 

Рисунок 16.6


Установление вызова VoIP

Таким образом, как мы можем видеть на своём предыдущем снимке экрана, после того как пользователь пытается установить своё соединение, эти пакеты установления соединения вызовов IP начинают наполнять свою сетевую среду и такие пакеты очень важны для атаки сетевой среды VoIP. Поэтому, давайте двинемся далее и изучим соответствующий пакет сообщения INVITE.

Наш следующий снимок экрана отображает сам пакет INVITE, который отправляется в качестве самого первого пакета всякий раз, когда любой клиент выполняет вызов другого клиента. Этот пакет описывает различные важные перечисляемые ниже поля:

  • Сведения идентификатора отправившего вызов

  • Значение IP сервера VoIP

  • Сведения идентификатора получателя вызова

  • Различные параметры для включения в сервере VoIP и много иного:

 

Рисунок 16.7


Пакет сообщения INVITE

[Замечание]Замечание

Мы подробнее рассмотрели сообщения INVITE и REGISTER, однако также имеются и иные методы. Тем не менее, сточки зрения данной книги, мы сосредоточимся лишь на тех важных понятиях, которые требуются для злоумышленника или для проверки осуществления проникновения и безопасности сетевой среды IP телефонии в промышленной среде реального масштаба времени. Однако мы не ограничиваем вас от дополнительного изучения, поскольку это очень занимательно взглянуть на все методы SIP, например, на TRYING, RINGING, Terminating и тому подобные.

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

RTP и его операции

RTP это основной протокол в разделе Носителя, который отвечает за потоковую передачу аудио и видео поверх Интернета, что способствует VoIP.

RTP работает совместно с протоколами обмена сигналами, такими как SIP. Он работает как с TCP, так и с UDP, однако как правило, в организациях он настраивается на применение протокола UDP, поскольку UDP предоставляет более быструю доставку потоковых данных. Приводимый далее снимок экрана отображает пакеты RTP в сетевой среде:

 

Рисунок 16.8


Передача данных RTP

На данный момент основная проблема с RTP состоит в том, что он не шифрует, а следовательно злоумышленники способны пребывать в середине его взаимодействия и прослушивать соответствующий вызов или его потоковые данные, что мы и рассмотрим позднее в этой главе. Во избежание подобных атак были предложены иные протоколы среды (media), такие как SRTP (Secure Real-Time Transport Protocol, Безопасный протокол обмена реального времени) и ZRTP (Z Real-Time Transport Protocol, Протокол реального времени Z), что оказалось расширением RTP.

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

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

ZRTP больше полагается на обмен ключами сеанса SRTP по основанной на сеанса схеме.

[Замечание]Замечание

Несомненно, SRTP и ZRTP являются более безопасными и более современными версиями RTP, однако обычно в организациях применяется протокол среды RTP, а следовательно, для данной части этой главы мы также будем рассматривать эксплуатацию RTP. Однако мы не стесняем вас в получении дополнительных сведений и об этих протоколах.

Для получения дополнительных сведений относительно RTP, будьте любезны, обратиться к ссылке https://www.geeksforgeeks.org/real-time-transport-protocol-rtp/.

Теперь, когда мы прошлись поглубже по SIP и RTP, настало время прорваться в эти протоколы и найти способ, которым мы способны выполнять тестирование проникновения или действий красной команды когда речь заходит о сетевой среде IP телефонии. Однако, прежде чем окунуться в это, давайте сначала настроим свою лабораторию, ибо настройка такой лаборатории с правильными инструментами это наиболее важная задача.

Настройка лаборатории тестирования проникновения в IP телефонию

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

  • Trixbox - Trixbox это IP-PBX с открытым исходным кодом, которая очень проста в настройке и поддерживает самые последние протоколы обмена сигналами VoIP, такие как SIP2.0, H.323 и тому подобные.

    Trixbox поддерживает очень маленькие проблемы с дрожанием при передаче пакетов среды поверх RTP, а потому совместим почти со всеми смартфонами и телефонами VoIP, например, с Cisco. Пожалуйста, не сдерживайте себя от применения иных серверов PBX, таких как FreePBX, Asterisk, OpenPBX и им подобных. Однако в этой части данной главы мы будем работать с Trixbox.

  • Программный телефон (softphone) - Это программное обеспечение, которое предоставляет пользователям практический опыт реального времени выполнения телефонных вызовов через Интернет. Программные телефоны становятся удобными когда речь заходит о выполнении вызовов из некой внешней сетевой среды внутреннего пользователя через VoIP. Существует масса программных телефонов, однако программный телефон Zoiper очень прост в настройке и совместим со всеми серверами PBX с открытым исходным кодом. Однако мы не запрещаем вам применять иные программные телефоны, такие как Linphone, IPComms, 3CX и тому подобные.

  • Машина Kali Linux - На данный момент эта операционная система уже пояснялась во многих прочих главах, поэтому я непосредственно перехожу к представлению на картинке настройки нашей лаборатории:

     

    Рисунок 16.9


    Настройка лаборатории

Давайте взглянем на предыдущую настройку лаборатории. Обычно это установка небольшого размера в организации, в которой настраивается сервер PBX, VoIP или SIP и именно он отвечает за создание расширений, установку протоколов потокового обмена и среды, распределение IP адресов, а также за сопровождение безопасного взаимодействия между пользователями и безопасности между устройствами.

Теперь предположим, что наш пользователь с расширением 256 желал бы установить взаимодействие с имеющим расширение 257 пользователем. Этот процесс установки соединения целиком аналогичен нашему предыдущему процессу установки вызова SIP:

  1. Наш пользователь с расширением 256 вызовет пользователя с расширением 257 и соответствующий запрос достигнет установленного сервера PBX Trixbox.

  2. Trixbox проверит права доступа пользователя с расширением 256 в своём домене и, после успешной аутентификации, Trixbox проверит расширение 257 и его соответствующую VLAN сети и переправит этот запрос.

  3. После того как пользователь с расширением 257 примет это вызов, Trixbox выдаст отклик пользователю с расширением 256 и эти клиенты приступят к взаимодействию друг с другом.

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

Давайте приступим к игре!

Методология тестирования проникновения в IP телефонию

Осуществление тестирования идущих следом проникновений в протоколы потоков и среды VoIP слегка отличаются подходом от методологии тестирования проникновения, которой мы следовали для иных технологий, таких как веб или сетевая среда. Ниже приводятся основные выполняемые при тестировании проникновения в IP телефонию шаги, которые мы осуществляем при выявлении потенциальных угроз:

  1. Перечисление (Enumeration, перебор) - Проще говоря, это определяет как получать правильные сведения, которые требуются для выявления потенциальных угроз. Чтобы приступить к этапу эксплуатации необходимы следующие сведения:

    1. Выявить серверы SIP IP телефонии.

    2. Указать потенциальные цели.

    3. Выявить имеющиеся службы с уязвимостями в этих указанных целях.

    4. Запустить сценарии NMAP SIP.

    5. Выполнить сканирование уязвимостей.

  2. Тестирование проникновения в SIP - После того как все необходимые сведения получены, для избранных потенциальных целей могут быть осуществлены такие атаки:

    1. Простой перебор - полномочия сервера SIP

    2. Простой перебор аутентификации SIP - атака регистрации в устройстве

    3. Подмена идентификатора вызывающего абонента - vishing- атака

    4. MITM - прослушивание взаимодействия VoIP при помощи имитации соединения через ARP (Address Resolution Protocol)

    5. Атаку переполнения VoIP - DOS (Denial of Service)

    6. Переключение VLAN (VLAN hopping)

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

Перечисление

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

 

Идентификация серверов SIP IP телефонии

Для этого мы воспользуемся Advanced IP Scanner, как это показано на следующем снимке экрана:

 

Рисунок 16.10


Поиск VoIP с применением Advanced IP Scanner

Полученные отражённые на Рисунке 16.10 подтверждают что Trixbox запущен с Apache 2.2.3

Чтобы убедится в этом, мы отправим пакет запроса SIP OPTIONS. Этот модуль по умолчанию представлен в инструменте Metasploit:

 

Рисунок 16.11


Модуль Metasploit перебора серверов SIP

[Замечание]Замечание

По моему опыте в красной команде, модули Metasploit будут выявлены в решениях SIEM. Таким образом, нам потребуется применять иные инструменты, скажем, SVMAP. Давайте изучим SVMAP для выявления серверов SIP.

Итак, давайте запустим инструмент SVMAP для выявления в вашей сетевой среде службы SIP, как это отражено на снимке экрана ниже:

 

Рисунок 16.12


Перебор серверов SIP при помощи SVMAP

Для идентификации устройств SIP в вашей сети этот инструмент отлично справляется с работой.

Существует и иной способ выявления устройств SIP, который состоит в переборе всех открытых портов и служб, который мы проверим позднее в этой главе.

 

Идентификация потенциальных целей

Теперь, когда мы успешно выявили имеющийся сервер SIP, для идентификации оконечных телефонов пользователя или клиента мы воспользуемся методом SIP INVITE в этой сетевой среде при помощи инструмента SVWAR, как это показано на следующем снимке экрана:

 

Рисунок 16.13


SVWAR для выявления телефонов оконечных пользователей

Итак, на данный момент мы идентифицировали свои потенциальные цели и они перечислены ниже:

Таблица 16-1. Потенциальные цели
IP адрес Название цели

172.20.10.170

Сервер PBX - TrixBox

256

Телефон 1

257

Телефон 2

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

 

Идентификация запущенных уязвимостей служб

Теперь, в реальном масштабе времени, нам потребуется сканировать подчинённую цель полностью для выявления подключённых машин/ телефонов оконечных клиентов. Чтобы сократить приводимое в этой главе, мы непосредственно просканируем IP адрес сервера PBX для определения открытых портов и относящихся к ним сведений.

Сейчас для этого мы применим NMAP или инструмент с графическим интерфейсом Zenmap:

 

Рисунок 16.14


Открытые порты сервера IP телефонии

На данный момент мы выявили открытые порты и то, что поддерживаемый здесь SIP это UDP, запущенный по порту 5060. Давайте теперь попробуем определить присутствующие в этом сервере SIP лазейки с применением различных методов, которые могли бы оказаться полезными для их эксплуатации и получения доступа к серверам и устройствам SIP.

[Замечание]Замечание

Данная глава сосредотачивается исключительно на SIP, следовательно мы не будем фокусироваться на прочих открытых портах запущенных служб, таких как SSH и FTP.

 

Выполнение сценариев NMAP

Теперь, поскольку мы идентифицировали запущенную по порту 5060 службу SIP и что поддерживаемый ею протокол UDP, давайте по- быстрому исполним те сценарии SIP, которые присутствуют в папке NMAP для выявления некоторых интересных сведений, выставленных данной службой SIP, как это отображено на снимке экрана ниже:

 

Рисунок 16.15


Сценарий NMAP сканирования сервера VoIP

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

 

Сканирование уязвимостей Nessus

Теперь давайте запустим Nessus для сканирования выявленного сервера IP телефонии для идентификации имеющихся уязвимостей, которые могут оказаться полезными на этапе эксплуатации для компрометации работающего в основе сервера. Эта идентификация уязвимостей в рассматриваемом сервере IP телефонии показана на приводимом ниже снимке экрана:

 

Рисунок 16.16


Сканирование уязвимостей сервера VoIP

[Замечание]Замечание

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

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

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

Тестирование проникновения в IP телефонию

Тестирование проникновения слегка сложнее и отличается от тестирования проникновения, которое обычно выполняют тестирующие проникновение в своих повседневных службах. Они содержат не только эксплуатацию или получение доступа к серверу IP телефонии или VoIP, либо к к его консоли настроек, но также и осуществление разнообразие прочих атак, которым, как правило, подвержена среда VoIP, и которые злоумышленник способен применять для создания постоянного присутствия в такой сети VoIP. Итак, давайте приступим к своему пошаговому тестированию на проникновение чтобы разобраться с его структурой и лазейками и закрепиться в этой среде VoIP.

В данной главе мы полностью сосредотачиваемся на тестировании проникновения в VoIP или SIP и мы не будем отклоняться от своей основной цели. Поэтому мы ожидаем, что вы сами проведёте дополнительное изучение открытых уязвимостей, обнаруженных в сервере SIP, службах с открытым кодом, таких как служба OpenSSH, Apache, относящихся к CentOS уязвимостей и тому подобного.

[Замечание]Замечание

При каждом изменение имеющейся сетевой среды изменяется и IP адрес Trixbox и машины. Поскольку я изменю свою сеть, значение IP адреса далее здесь будет иным. Однако сами шаги останутся теми же..

 

Взлом перебором - полномочия сервера SIP

Теперь, из своего первоначального перечисления, мы выявили IP адрес сервера SIP, а также его открытые порты 80 и 443 по которым была обнаружена веб консоль сервера IP телефонии. Итак, Давайте откроем найденный веб адрес и попытаемся взломать перебором (brute-force) полномочия регистрации:

 

Рисунок 16.17


Сервер SIP PBX Trixbox

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

Здесь для осуществления атак перебором могут применяться Такие инструменты как Hydra, OWASP ZAP, Burp Suite, либо любой из инструментов или сценариев синтаксического разбора запросов HTTP. Однако в своём повседневном тестировании проникновения для данного упражнения мы воспользуемся Burp Suite. Мы будем применять его в качестве своего первичного средства для слабых полномочий по умолчанию, как это отображено на следующем снимке экрана:

 

Рисунок 16.18


Всплывающий запрос на регистрацию в сервере SIP VoIP

На приводимом далее снимке экрана мы можем видеть что искомый пароль передаётся в кодировке Base64:

 

Рисунок 16.19


Сервер SIP VoIP

Поскольку данный пароль передаётся в кодировке Base64, как мы это обнаружили на своём предыдущем снимке экрана, он запросто может быть декодирован, как это отображено на нашем следующем снимке экрана:

 

Рисунок 16.20


Декодированный пароль Base64

Следовательно, мы также спроектируем свой пароль по схеме кодирования в Base64 и попытаемся предугадать установленные по умолчанию полномочия Trixbox root: password и maint: password, как показано на ещё одном снимке экрана:

 

Рисунок 16.21


Веб- консоль пароля регистрации успешного перебора

Мы успешно предсказали значения полномочий по умолчанию как maint: password, что отражено на предыдущем снимке экрана. Итак, давайте зарегистрируемся и скомпрометируем веб консоль SIP и терминал сервера при помощи протокола SSH через PuTTY, как это показано на приводимом ниже снимке экрана:

 

Рисунок 16.22


Успешная регистрация в веб консоли SIP

Теперь мы получили доступ к необходимой веб консоли, а потому давайте быстренько добавим новое расширение, которое поможет нашему злоумышленнику зарегистрировать свой программный телефон во взломанном SIP сервере, как это отражает следующий снимок экрана:

 

Рисунок 16.23


Успешная регистрация в веб консоли SIP

На идущем далее снимке экрана вы можете наблюдать что мы успешно добавили новое расширение:

 

Рисунок 16.24


Успешное добавление нового расширения

[Замечание]И что дальше?

Теперь, по моему опыту красных команд, раз мы получили доступ к веб консоли SIP, мы способны осуществлять множество прочих вредоносных действий, скажем, изменять текущие настройки, перенаправлять обмен SIP во внешние домены, добавлять новые телефоны из своего внешнего домена в этот сервер SIP для отслеживания трат при международных вызовах и тому подобного. Мы оставим это для ваших практических проб, чтобы вы получше могли изучить эту область.

Итак, давайте теперь зарегистрируемся во взломанном сервере VoIP через SSH, как это отражено на следующем снимке экрана:

 

Рисунок 16.25


Успешная регистрация в сервере SIP через SSH

[Замечание]И что дальше?

Как часть этой главы мы рассмотрели взлом перебором учётных данных сервера SIP. Однако злоумышленник мог бы выполнить аутентифицированное VA сканирование из Nessus, попытаться обнаружить дополнительные уязвимости в этом сервере, выгрузить учётные данные пользователя/ администратора домена, осуществить горизонтальное смещение, выгрузить конфиденциальные сведения данного сервера, запускать от имени root сервер и много чего ещё. Мы оставим это для ваших упражнений, чтобы вы могли побольше узнать о перспективах красной команды домена. Мы намеренно будем придерживаться тестирования проникновения в SIP.

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

 

Взлом перебором аутентификации SIP - атака регистрации устройства

Эта атака работает в два этапа:

  • Аутентификация по паролю не разрешена: Это означает, что без ввода секрета злоумышленник не способен зарегистрировать свой программный телефон в найденном сервере SIP, как это отображено на снимке экрана ниже:

     

    Рисунок 16.26


    Успешная регистрация в сервер SIP

    Теперь, полученные результаты показывают, что наша аутентификация расширения 258, поскольку полученный вывод странный. Это вызвано тем, что для расширения 258 не включена аутентификация. Следовательно, мы можем попытаться напрямую зарегистрировать данное устройство, не вводя соответствующий секрет, как это отражено на снимке экрана далее:

     

    Рисунок 16.27


    Успешная регистрация устройства в сервер SIP без аутентификации

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

  • Взлом перебором аутентификации устройства SIP: Как правило, это происходит когда сетевые администраторы обычно оставляют секрет значением по умолчанию или пользуются легко предсказуемой учётной записью. На моей практике сетевые администраторы обычно оставляют учётные записи пользователя домена или значение расширения устройства SIP в качестве специфичного для пользователя пароля. Такой пароль может быть сохранён как 256 или настолько слабый пароль как password или 12345678 и тому подобное.

    Теперь давайте выдадим дамп происходящих в данный момент запросов SIP (все имеющие место в настоящее время вызовы в домене) в вашей сетевой среде при помощи WireShark:

     

    Рисунок 16.28


    Происходящие в настоящее время вызовы SIP в сетевой среде

    Сейчас, воспользовавшись инструментом sipdump, давайте выведем дамп данных аутентификации из перехваченного при помощи Wireshark взаимодействия SIP, как это отражено на снимке экрана ниже:

     

    Рисунок 16.29


    Успешная выдача дампа аутентификаций SIP

    А теперь, как это показано на предыдущем снимке экрана выведены дампом успешные аутентификации. Давайте на это раз попробуем взломать перебором все перехваченные подтверждения прав на доступ при помощи средства sipcrack:

     

    Рисунок 16.30


    Успешно взломанная аутетнификация SIP

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

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

 

Подмена идентификатора вызывающего абонента - vishing

Подмена (spoofing) идентификатора вызывающего абонента очень распространённый метод, коим злоумышленник отправляет запрос INVITE от имени иного пользователя для воровства конфиденциальных сообщений, сделок, паролей, тендеров и тому подобного. Она достигается двумя основными способами:

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

  • Другой способ достигается через атаку подмены INVITE, при которой злоумышленник, применяя различные модули подмены SIP, имеющиеся в таких инструментах как Metasploit и sipvicious, будет отправлять соответствующие запросы прочим сотрудникам для взаимодействия с ними, как это отражено на следующем снимке экрана:

     

    Рисунок 16.31


    Спуфинг идентификатора вызывающей стороны

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

[Замечание]Замечание

По моему собственному опыту, порой модуль Metasploit отказывает в сетевых средах реального времени по причине сетевых настроек, поэтому для достижения своих целей испытайте и иные представленные в Интернете модули. Основной вопрос состоит в том, какого рода сведения важны. В одних из моих действий в красной команде по компрометации AD, мы пародировали своего скомпрометированного пользователя из домена, вызывая SysAdmin через программный телефон SIP и прося его установить небольшой фрагмент программного обеспечения в нашем ноутбуке, а также выпустить сертификат от имени этого пользователя. Как только этот администратор получал контроль над данной системой для удалённого ввода своих учётных данных через RunAs, мы немедленно фиксировали его учётные данные при помощи keylogger. Такой вид подмены оказывается очень успешным в тех организациях, в которых имеются неверные настройки в целевых системах, недостаточная осведомлённость сотрудников и процессы не соблюдаются должным образом.

 

Атака злоумышленника в роли посредника

Атака злоумышленника в роли посредника (MITM, Man-in-the-Middle) в сетевой среде IP телефонии достигается через подмену (spoofing) ARP.

Прежде чем мы погрузимся в подмену ARP, давайте для начала разберёмся с тем, что представляет собой ARP. Первейшей задачей ARP выступает установление соответствия протокола уровня Интернета - значение адреса IP для привязки протокола канального уровня (link layer) значению MAC адреса. Тем самым, когда любому маршрутизатору или коммутатору требуется узнать IP адрес любого подключённого пользователя, они начинают отправлять запросы ARP в свою сетевую среду и создавать таблицу ARP.

И именно в этом и состоит основная проблема ARP: всякий подключённый пользователь также способен действовать в роли шлюза для определённой жертвы и способен отсылать в свою сетевую среду любое число пакетов ARP. Этот процесс целиком носит название подмены ARP (ARP spoofing). Данная ситуация работает следующим образом: злоумышленник отправляет свой поддельный пакет ARP подвергающемуся проникновения пользователю жертве дабы выступать в качестве шлюза или для соединения с жертвой подлежащего проникновению маршрутизатора. Теперь весь обмен начинает передаваться через такую атакующую систему и это носит название MITM через отравление или подмену ARP.

В сетевой среде IP телефонии имеется точно такое же явление. Для его осуществления мы воспользуемся инструментом Cain and Abel (Каина и Авеля). Тем не менее, существует ещё масса доступных инструментов/ сценариев, таких как arpspoof, UCSniff, Ettercap и тому подобные. Не стесняйтесь и попробуйте их также.

После того как злоумышленник приступает к отравлению ARP для подключённых телефонов пользователей SIP, весь обмен начинает взаимодействие со стороны системы злоумышленника и злоумышленник способен затем прослушивать все вызовы, записывать текущие в этой сетевой среды вызовы, что отражено на следующем снимке экрана:

 

Рисунок 16.32


Отравление ARP

Как вы можете видеть, отравление началось, а потому давайте прослушаем и запишем соответствующие сетевые вызовы:

 

Рисунок 16.33


Успешно записанный вызов SIP

Мы успешно осуществили атаку MITM отравляя протокол ARP в этой сетевой среде и успешно записывает все происходящие в этой сетевой среде вызовы. Теперь, в промышленной среде реального времени, будет иметься гигантский список вызовов, который может записываться и злоумышленник способен красть конфиденциальные сведения, такие как информация о деньгах, внутренние сетевые сведения, информация о проходящих сделках и тому подобное. Теперь давайте перейдём к нашей следующей атаке 0 атаке переполнения DOS.

 

Атака переполнением - DOS

DOS очень распространены в наши дни, поскольку они создают помехи запущенным службам целиком и выводят из строя сетевую среду организации. Однако переполнение VoIP в данном случае слегка отличается, поскольку нет переполнения подключённых телефонов клиентов через перенаправление всех запросов от их сервера SIP. Обычное переполнение HTTP/TCP/UDP не работает. Атака переполнением VoIP срабатывает через отправку большого числа запросов REGISTER, INVITE или аналогичных для всех подключённых клиентов при помощи инструмента inviteflood, что отражено на следующем снимке экрана:

 

Рисунок 16.34


Атака переполнения INVITE

Как это показано на приведённом выше снимке экрана, злоумышленник успешно представил запросы 100 INVITE в сетевой среде и её сервер SIP будет перенаправлять соответствующие запросы жертве с расширением VoIP 257/

Теперь давайте перейдём к другой занятной атаке, перескоке VLAN, защита от которой в наши дни имеется, однако неверные настройки в сетевом коммутаторе могут приводить к компрометации ограниченного числа сетевых сред.

 

Перескок VLAN

VLAN, или virtual local area network (виртуальная локальная сеть) разрабатывается для бифуркации сетевых сред на основе сегментации IP или зон в корпоративной сетевой среде. Основная идея состоит в реализации VLAN это то, что также ограничивает пользователей от взаимодействия или кражи сведений из таких ограниченных зон в сетевых средах VoIP.

Тем самым, в общую картину привносится перескок VLAN, когда злоумышленник выявляет различные имеющиеся сети и их соответствующие адреса MAC и IP при помощи инструментов voiphopper или Yersinia множеством способов, таких как атаки DTP, CDP, ARP, encapsulated, или double tagging.

Перескок VLAN при помощи ARP в реальном времени работает исключительно и выявляет большое число сетей посредством отправки запросов ARP во всём домене. Давайте непосредственно запустим средство voiphopper для выполнения перескока VLAN, как это отражено на снимке экрана ниже:

 

Рисунок 16.35


Перескок VLAN - выявление подключённых активов

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

Безопасность и практические приёмы IP телефонии

По моему опыту, сетевые среды VoIP IP телефонии это одни из наиболее уязвимых сетевых сред, поскольку сетевые администраторы обычно не прилагают больших усилий для такой подсети или VLAN. Таким образом, злоумышленники осуществляют поперечные перемещения, в частности, компрометируя имеющиеся серверы VoIP, поскольку обычно в этих серверах находятся учётные данные администратора домена. Итак, безопасность сетевой среды IP телефонии очень важна и подразделяется на четыре основные области, а именно:

  • Безопасность сетевой среды IP телефонии

  • Безопасность устройства IP телефонии

  • Безопасность уровня носителя

  • Безопасность уровня обмена сигналами

Безопасность сетевой среды IP телефонии

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

  • Реализацию межсетевого экрана для разрешения поверх UDP/ TCP только необходимых служб

  • Решения отслеживания атак SIEM

  • Разделение VLAN между виртуальными сетями VOICE и DATA

  • Защита уровня коммутации против атак подмены ARP

  • Серверы VoIP должны настраиваться и устанавливаться с самыми последними исправлениями безопасности и с самыми поздними эталонными тестами совместимости.

Безопасность устройства IP телефонии

Безопасность IP телефонов чрезвычайно важна, поскольку когда злоумышленник получает физический доступ к любому из помещений для совещаний или к столам работников, а такие устройства находятся открытыми, злоумышленник бы украл бы важные сведения, которые бы поспособствовали компрометации им всей сетевой среды. Для защиты устройства от его компрометации могут быть реализованы следующие защиты:

  • Реализацию аутентификации на уровне самого устройства и его настроек.

  • Исключение выскальзывания MAC адреса из оборудования в основе телефонов.

  • Удаление кодов по умолчанию из IP телефонов.

  • Реализация надлежащих решений мониторинга с тем, что когда кабель локальной сети вынимается из такого IP телефона, немедленно обязан вырабатываться сигнал предупреждения.

  • Обновление программного или встроенного обеспечения телефона IP.

Безопасность уровня носителя

Мы знаем, что канал носителя применяет RTP, который не предоставляет никакого вида безопасности, а следовательно злоумышленник способен компрометировать обмен данными между пользователями. Сетевые администраторы обязаны реализовывать такие безопасности:

  • IPSEC (IP Security) это традиционный протокол безопасности, который может быть реализован для защиты каналов обмена данными.

  • Реализацию SRTP (Secure Real-Time Transport Protocol), который предоставляет конфиденциальность, аутентификацию сообщений и защиту воспроизведения.

Безопасность уровня сигналов

Наиболее уязвимым уровнем в сетевой среде IP телефонии выступает уровень обмена сигналами, который работает в SIP и мы уже наблюдали множество атак, распространяющихся в SIP. Следовательно, для сетевых администраторов и персонала безопасности очень важно реализовывать следующие моменты для безопасности уровня сигналов:

  • Реализацию защиты против атак переполнения сообщениями SIP.

  • Реализацию защиты от атак подмены VoIP.

  • Настройку надлежащим образом серверов SIP под аутентификацию всех пользователей.

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

Выводы

В этой главе мы обсудили риски и атаки неверных настроек VoIP, которые способен осуществлять злоумышленник в настроенной с ошибками сетевой среде IP телефонии, такими как MITM, поддельную регистрацию, заполнение вызовами и тому подобным. Также мы обсудили как осуществлять сканирование уязвимостей и обходных лазеек для компрометации серверов SIP.

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

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

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

Вопросы

  1. На каком протоколе основывается атака MITM на сетевую среду?

    1. SIP

    2. ARP

    3. TCP

    4. UDP

  2. Что лежит в основе сокращения SIP?

    1. Session initiation protocol

    2. Session intermediate protocol

    3. Synchronization initiation protocol

    4. Ни одно из приведённых

  3. Что лежит в основе сокращения RTP?

    1. Relational transmit protocol

    2. Real-time transport protocol

    3. Router transmit protocol

    4. Ни одно из приведённых

  4. Какой протокол реализован на уровне обмена сигналами?

    1. TCP

    2. UDP

    3. SIP

    4. Все перечисленные

  5. Какой протокол реализован на уровне среды?

    1. SIP

    2. ARP

    3. RTP

    4. Все перечисленные

  6. Какой из сканеров уязвимостей применяется при сканировании сервера телефонии?

    1. NMAP

    2. Nessus

    3. OWASP ZAP

    4. Все перечисленные

  7. Каким из инструментов вы бы воспользовались для обнаружения открытых служб в своей сетевой среде?

    1. NMAP

    2. OWASP ZAP

    3. Sipvicious

    4. Sipcrack

  8. Чем из перечисленного ниже выполняется перескок VLAN?

    1. SVWAR

    2. NMAP

    3. Voiphopper

    4. Ни одно из приведённых

  9. Примером чего из приводимого далее выступает атака переполнения VoIP?

    1. Атака отказа в обслуживании

    2. Атака злоумышленника в роли посредника

    3. Отправка кода состояния 200

    4. Ни одно из приведённых