VoIP/SIP, VoIP/SIP Hacking, Хакинг, Этичный хакинг

VoIP/SIP Hacking: как прослушивать звонки и воровать минуты

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

Многие думают, что IP-телефония — это какая-то магия. На деле это обычные UDP-пакеты, летящие по сети. И если админ поленился (а он поленился), эти пакеты можно перехватывать, модифицировать и использовать для звонков за чужой счет.

Ниже — гайд по тому, как это работает «под капотом», чем пользуются пентестеры (и злоумышленники) и как закрыть эти дыры, пока вас не выставили на деньги.

База: Почему VoIP такой дырявый?

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

  1. SIP (Session Initiation Protocol) — это «менеджер». Он договаривается: «Привет, я звоню с номера X на номер Y, вот мои кодеки». Работает обычно на порту 5060 UDP/TCP.
  2. RTP (Real-time Transport Protocol) — это «курьер». Он тащит сам голос (payload).

Главная проблема: По дефолту SIP — это просто текстовый протокол (как HTTP), а RTP — открытый поток данных. Без шифрования это все читается глазами и слушается ушами.

Вектор 1: Eavesdropping (Прослушка)

Это классика MITM (Man-in-the-Middle). Если атакующий находится в одной локальной сети с жертвой (или контролирует роутер), ему даже не нужно ничего ломать. Ему нужно просто «слушать».

Как это работает технически

SIP-телефон и АТС обмениваются пакетами. Атакующий запускает сниффер (Wireshark, tcpdump) и пишет весь трафик. Поскольку RTP не шифруется, внутри пакетов лежит чистый аудио-кодек (G.711, G.729 и т.д.).

Инструментарий

Для анализа используется Wireshark. Он настолько крут, что умеет сам собирать разрозненные RTP-пакеты в один аудиофайл.

Алгоритм (в учебных целях):

  1. Запускаем Wireshark.
  2. Ловим трафик (если мы в стороне — используется ARP Spoofing, чтобы завернуть трафик жертвы на себя).​
  3. Идем в меню: Telephony -> VoIP Calls.
  4. Видим список всех звонков. Жмем Play Streams.
  5. Слушаем разговор в реальном времени или сохраняем в WAV.

Защита:
Единственный способ защиты — SRTP (Secure RTP). Это шифрует голос. Если перехватить SRTP, услышишь только белый шум.

Вектор 2: Toll Fraud (Воровство минут)

Это уже интереснее. Цель — найти «открытую» АТС и позвонить через нее на Кубу или платные номера (Premium Rate Numbers).

Как находят жертв

Сканируют весь интернет на порт 5060. Если сервер отвечает «SIP/2.0 200 OK» или «401 Unauthorized» — значит, там живет Asterisk или FreePBX.

Инструментарий: SIPVicious

Это швейцарский нож для SIP-аудита. Пакет утилит на Python, который должен знать каждый безопасник.

  1. svmap — сканер. Находит SIP-устройства в диапазоне IP.
./svmap.py 192.168.1.0/24

svwar — энумератор (переборщик). Ищет живые внутренние номера (extensions). АТС часто по-разному реагирует на существующий и несуществующий номер.

./svwar.py -e 100-999 192.168.1.10

svcrack — брутфорс. Когда номер найден (например, 101), утилита долбит его словарем паролей.

Если пароль подобран (а часто там стоит 1234101 или admin), злоумышленник подключается любым софтфоном (Zoiper, MicroSIP) и звонит куда угодно за счет владельца АТС.

Вектор 3: Caller ID Spoofing (Подмена номера)

SIP доверчив. В пакете INVITE есть поле From:.

INVITE sip:bob@biloxi.com SIP/2.0
From: "Boss" <sip:boss@biloxi.com>;tag=12345
To: "Bob" <sip:bob@biloxi.com>

Если провайдер или внутренняя АТС не проверяют подлинность источника, можно подставить туда любой номер. Звонишь коллеге, а у него на экране «Генеральный директор».

Для тестов: Используется утилита SIPp или модули Metasploit (auxiliary/voip/sip_invite_spoof).

Хардкорная Защита (Checklist)

Если ты админишь VoIP и не хочешь платить за чужие звонки, делай это прямо сейчас:

  1. TLS для сигнализации: Переводи SIP с UDP на TLS. Это зашифрует заголовки, и никто не увидит, кто кому звонит.
  2. SRTP для голоса: Включи шифрование медиа-трафика. Без ключа прослушка невозможна.
  3. Fail2Ban — мастхэв: Настрой бан IP-адреса после 3-5 неудачных попыток регистрации. Это убивает брутфорс скрипты наповал.​
  4. Смени порты: Убери SIP с 5060 на что-то нестандартное (например, 50666). Это отсеет 90% автоматических сканеров ботнетов.
  5. Permit/Deny в конфигах: В Asterisk пропиши permit=192.168.0.0/255.255.0.0 и deny=0.0.0.0/0.0.0.0 для внутренних номеров. Чтобы из интернета нельзя было даже попробовать авторизоваться.
  6. Лимиты: Поставь жесткие лимиты на международные звонки в биллинге или транке.

Итог

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

Disclaimer: Материал предоставлен исключительно в образовательных целях для тестирования собственных сетей (Pentesting) и настройки защиты. Несанкционированное вмешательство в работу сетей связи уголовно наказуемо.

VoIP/SIP Hacking: как прослушивать звонки и воровать минуты

На этом все. Всем хорошего дня!