4 Апр
2012
Рубрика: Asterisk
Автор:    Комментариев нет

Защита от подбора пиров

За последнее время очень участились случаи взломов Asteriks, при этом трафик прогонялся через них на Кубу. Так как стоимость минуты звонка на Кубу составляет в среднем 1$, это чревато последствиями. На одном из транков баланс ушел в минус на 8 тыс. $.

А реализуется схема следующим образом:
1) сперва находится сервер Asteriks;
2) формируется список пиров сервера;
3) ищутся пароли к ним методом подбора;
4) в систему, которая перебирает транки во время звонка, размещается аккаунт;
5) кубинцы начинают звонить, используя эту систему.
Задержка до гудка в случае приобретения доступа к данной системе и звонка, позволит понять, что огромное число серверов Asteriks взломаны.

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

Как найти пиров

При подборе пиров на помощь приходит метод, который реализован в Sipvicious. В целях сканирования пиры проходят процедуру подбора, а ответ Asteriks подвергается анализу.

Это может иметь вид:

./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 => _52.,1,Answer()
exten => _52.,n,PlayBack(vm-goodbye)
exten => _52.,n,Hangup()
;somali
exten => _251.,1,Answer()
exten => _251.,n,PlayBack(vm-goodbye)
exten => _251.,n,Hangup()

Естественно, может быть сразу сделан Hangup, но для этого надо будет отключить наш сервер из автоматической системы ручным способом, а это может вызвать проблемы.

P.S. Для того чтобы убедиться, что отклонение звонков на Кубу правильно прописано, в качестве варианта можно совершить звонок на этот номер: +53998075, за которым закреплена военная база и вам всегда ответит автоответчик.

Что вы думаете об этом?