Кубинская эпидемия в SIP

Posted on September 02, 2010
В последнее время началась большая волна взломов Asterisk с последующим прогоном через них траффика на кубу. Поскольку минута звонка на кубу стоит в среднем от 1$ в минуту это может привести к печальным последствиям (за 17 часов на одном из транков баланс опустили до -8000$). Схема работает так:
  1. Ищется в сети Asterisk сервер
  2. Подбирается список его пиров
  3. Подбираются пароли к пирам
  4. Аккаунт ставится в систему перебирающую транки при звонке.
  5. Набегает множество кубинцев звонящих через эту систему
Если купить доступ к такой системе и позвонить, то можно по задержке до гудка понять, что в этой схеме учавствует огромное количество взломанных Asterisk серверов.

Подбор пиров

При подборе пиров используется метод реализованный в Sipvicious. Для сканирования перебираются пиры и анализируется ответ Asterisk. Например:
./svwar.py sip.somewhere
| Extension  | Authentication |
-------------------------------
| 607        | reqauth        |
| 606        | reqauth        |
| 601        | reqauth        |
| 600        | reqauth        |
| 300        | reqauth        |
| 900        | reqauth        |
| 100        | reqauth        |
Для продиводействия этому нужно включить директиву alwaysauthreject в sip.conf, которая при любых ошибках авторизации отвечает 401 Unauthorized. После этого тот-же сервер при попытке сканирования будет отвечать 401 и утилита выдаст ошибку:

./svwar.py sip.somewhere
ERROR:TakeASip:SIP server replied with an authentication request for an unknown extension. Set --force to force a scan.
WARNING:root:found nothing

Кубинская проблема

Если ваши абоненты не собираются звонить на кубу, то ее надо закрыть в extensions.conf Например:

;cuba
exten => _53.,1,Answer()
exten => _53.,n,PlayBack(vm-goodbye)
exten => _53.,n,Hangup()
;somali
exten => _252.,1,Answer()
exten => _252.,n,PlayBack(vm-goodbye)
exten => _252.,n,Hangup()
Можно конечно просто делать сразу Hangup, но данное действие потребует отключение нашего сервера из автоматической системы вручную, что не может не радовать.

А так-же: