seerozha (seerozha) wrote,
seerozha
seerozha

Category:

ИТ: Уязвимости в SIP-телефонах Grandstream

В далеком-далеком офисе на мягком-премягком кресле сидит толстый-толстый топ-менеджер, крепко-крепко сжимая в руках трубку шифрованного-перешифрованного SIP-телефона Grandstream, и невдомек ему, что Web-интерфейс телефона "торчит" напрямую в Интернет, прошивку для него писали криворукие-косорукие программисты, а из внешних сетей уже льют к себе топ-менеджерские конфигурационные файлы любопытные-прелюбопытные хакеры, чтобы слушать его разговоры, звонить за его счет, и спамить в его контакт-лист.

Топ-менеджер ! Будь бдителен ! Береги свой Granstream !

1. Загрузка произвольного конфига в телефон

Изучая веб интерфейс цветных телефонов gxp21xx для изучения их api, наткнулся на скрипт загрузки конфига в телефон, это скрипт /cgi-bin/upload_cfg

В отличии от других скриптов, этому скрипту не передаётся sessionid, а передаётся только файл. Быстрая проверка через curl показала, что и вправду, воспользоваться этим скриптом можно без авторизации:

curl -i -F name="config.txt" -F file="@config.txt;type=text/plain" -H "Content-Disposition: form-data; name=file; filename=config.txt" http://xx.xx.xx.xx/cgi-bin/upload_cfg


Файл config.txt представляет из себя тектовый файл с набором параметров вида: Рхххх=уууу
Заливая файл с одной строчкой «P2=admin», мы меняем админский пароль на телефоне, после чего можем залогиниться в веб интерфейс.

В телефоне присутствуют аналогичные скрипты для загрузки воллпейпера, телефонной книги и т.д.

Данная узязвимость присутствует в телефонах gxp2130, gxp2140 и gxp2160

2. Дамп конфига телефона

Следующая уязвимость ещё страшнее первой. Была уже обнаружена после получения рутового доступа к телефону и анализа скриптов в cgi-bin.

Это скрипт /cgi-bin/dumpsettings, вот его содержимое:

#!/usr/bin/haserl
#!/bin/ash
<?

RESULT=`nvram show | grep -v :STR`

HEADER="Content-Type: text/plain\r\n\r\n"
HEADER="Expires: $(date)\r\n$HEADER"
HEADER="Content-disposition: attachment; filename=settings.cfg\r\n$HEADER"
HEADER="Cache-Control: no-cache, must-revalidate\r\n$HEADER"

echo -en $HEADER
echo "$RESULT"

?>


Как видно этот чудо скрипт просто отправляет вывод команды nvram show | grep -v :STR без какого либо намёка на авторизацию. А в nvram содержится много интересных параметров, помимо самого конфига. Ну и конечно там все пароли в открытом виде: админский и сип аккаунты.

Эта уязвимость в большинстве устройств grandstream (а может и во всех), включая шлюзы.

3. Шифрованные конфига

Помимо xml конфигов, при провижинге телефон может использовать зашифрованный тектовый конфиг. Утилиту для создания такого конфига можно скачать на сайте грандстрима. Первое что настораживает, при использовании этой утилиты, что она не просит никакой пароль для шифрования. На телефоне для расшифровки конфига используется утилита prov_config_dec, которой для дешифровки нужен только мак. Таким образом, расшифровать конфиг нет никакой проблемы. А некоторые voip провайдеры, уверены в надёжности шифрования и выкладывают такие конфиги в открытый доступ (для провижининга телефонов своих клиентов). Простым перебором мак адресов, у одного из американских voip провайдеров удалось скачать порядка пятисот конфигов с сип учётками внутри.

4. Бэкдор от грандстрима

Решил за одно поискать и бэкдоры в прошивке. Реверс-инжиниринг банарника dropbear показал, что залогиниться по ssh можно не только под юзером admin, но и под юзером root, используюя ключик. Паблик кей заботливо лежит в прошивке по пути /rom/.ssh/authorized_keys

Так что владельцы приватного ключа, могут спокойно залогиниться по ssh. А получив рутовый доступ на телефон, можно например прослушивать разговоры, или даже просто слушать, что происходит вокруг телефона, даже вне разговора.

Данным узязвимостям можно найти не одно применение, это может быть:

  • Банальное воровство сип учёток

  • Подмена имени звонящего через телефонную книгу

  • Подмена сип сервера с целью перехвата траффика и прослушки

  • Загрузка вредоносного софта в систему телефона, например для записи с микрофона или для произведения каких либо атак


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

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

Источник

Tags: voip, ИБ, ИТ
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments