null

"А я вам не звонил". Реализуем атаку VoIP-spoofing.

Апрель не за горами и уже пора заготавливать идеи к его первому дню. Посмотрим как можно немножко пошалить при помощи Asterisk'а. Для простоты предположим, что у нас используются двухзначные внутренние номера и внутренний вызов описывается примерно так:

exten => _XX,n,Dial(SIP/${EXTEN},20,Tt)
Самое банальное, что приходит в голову - это использовать команду CALLERID(), позволяющую изменять поля CallerID, т.е. информацию о вызывающем абоненте. Заходим в extensions.conf и добавляем что-то в стиле:
exten => _XX666,1,Set(CALLERID(name)=Hell)
exten => _XX666,n,Set(CALLERID(num)=666)
exten => _XX666,n,Dial(SIP/${EXTEN:0:2})
Набираем 11666. При этом Петр Иванович, сидящий за 11-ым номером, будет лицезреть примерно такую картину на своём телефоне:
From Hell
Number 666
Дальше - больше. Можно дать Петру Ивановичу послушать какой-нибудь занимательный аудиофайл. Довольно хорошо для данного занятия подходят отрывки из советских комедий. Из рекомендованного: "А где бабуля?", "Вы не скажите где здесь туалет?"
Для этого следует поместить наше послание в формате .gsm в папку sound (по умолчанию в Solaris'е - это /var/opt/asterisk/sounds) и выставить в качестве анонса. Пусть Петр Иванович послушает my_sound.gsm:
exten => _XX666,1,Set(CALLERID(name)=Hell)
exten => _XX666,n,Set(CALLERID(num)=666)
exten => _XX666,n,Dial(SIP/${EXTEN:0:2}, 20, A(my_sound))
Чтобы процесс глумления над коллегами стал чуть разнообразней можно заготовить сразу же несколько записей. Допустим, имеем файлы snd01.gsm - snd09.gsm в нужной папке и строки в extensions.conf следующего содержания:
exten => _0XX,1,Playback(snd${EXTEN:-2:2})
exten => _0XX,n,Hangup

exten => _XXXXXX,1,Set(CALLERID(name)=${EXTEN:2:2})
exten => _XXXXXX,n,Set(CALLERID(num)=${EXTEN:2:2})
exten => _XXXXXX,n,Dial(SIP/${EXTEN:0:2}, 20, A(snd${EXTEN:-2:2}))
Отныне телефон будет понимать следующие команды:
1) 0хх - послушать запись хх (на случай, если забыли в каком файле что записано)
2) XXYYZZ - позвонить абоненту XX от имени абонента YY, предварительно проиграв абоненту XX файл sndZZ.gsm
Теперь, если жертва находится в поле зрения и слуха, можно насладится разнообразием предположений о дислокации бабули или узнать несколько новых способов "как пройти в библиотеку".
Шалить можно даже если у вас нет прав администрирования Asterisk'a. Во многих случаях достаточно установить какой-нибудь softphone, поднять Asterisk на своем рабочем месте/ноутбуке и прописать правильные адреса абонентов.