Уязвимости и бэкдоры в телефонах Grandstream

Хочу поделиться парой серьёзных уязвимостей, найденных мною в телефонных аппаратах Grandstream.

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
Читать дальше →