Поскольку минута звонка на кубу стоит в среднем от 1$ в минуту это может привести к печальным последствиям (за 17 часов на одном из транков баланс опустили до -8000$).
Схема работает так:
- Ищется в сети Asterisk сервер
- Подбирается список его пиров
- Подбираются пароли к пирам
- Аккаунт ставится в систему перебирающую транки при звонке.
- Набегает множество кубинцев звонящих через эту систему
Если купить доступ к такой системе и позвонить, то можно по задержке до гудка понять, что в этой схеме участвует огромное количество взломанных 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, но данное действие потребует отключение нашего сервера из автоматической системы вручную, что не может не радовать.
P.S. Для проверки на то, что вы правильно прописали отклонение звонков на кубу можно попробовать позвонить по номеру +53997970. Это военная база и там всегда отвечает автоответчик.