
LG On Screen Phone обход аутентификации PoC (CVE-2014-8757)
Приложение LG On-Screen Phone (OSP) упрощает доступ к Android-смартфонам LG и управление ими через ПК. Соединение может быть установлено с помощью USB-кабеля или беспроводным способом через Wi-Fi или Bluetooth. При попытке подключения к телефону через OSP на телефоне отображается диалоговое окно, которое необходимо подтвердить и принять владельцу. После установки канала содержимое экрана устройства передаётся на ПК в виде видеопотока, а щелчки мыши на ПК преобразуются в события касания на телефоне. Используя OSP, можно управлять смартфоном LG так, как если бы он был у вас в руках.
Компания SEARCH-LAB Ltd. обнаружила серьёзную уязвимость в протоколе On Screen Phone, используемом смартфонами LG. Злоумышленник может обойти этап аутентификации сетевого взаимодействия и, таким образом, установить соединение с приложением On Screen Phone без ведома или согласия владельца. После подключения злоумышленник получает полный контроль над телефоном – даже без физического доступа к нему. Злоумышленнику нужен только доступ к той же локальной сети, к которой подключён телефон, например, через Wi-Fi.
Этой уязвимости присвоен идентификатор CVE-2014-8757.
LG On Screen Phone v4.3.009 (включительно) и более старые версии приложения уязвимы. Эта уязвимость была исправлена в LG OSP v4.3.010.
Большинство моделей смартфонов LG подвержены уязвимости, а приложение OSP даже предустановлено, и нет возможности удалить или остановить его. На более новых моделях, таких как G3, приложение OSP больше не предустанавливается.
Уязвимый код находится в компоненте On Screen Phone:
shell@geehrc:/ $ps |grep osp
system 1411 303 559616 44504 ffffffff 00000000 S com.lge.osp
Он запускается автоматически при загрузке, и в настройках системы нет способа его отключить.
Процесс прослушивает порт 0.0.0.0:8382:
shell@geehrc:/ $ netstat -nap|grep 8382
netstat -nap|grep 8382
tcp 0 0 0.0.0.0:8382 0.0.0.0:* LISTEN
Клиентское программное обеспечение LG On Screen Phone, работающее на ПК, подключается к этому TCP-порту. После получения начального баннера клиент отправляет следующее двоичное сообщение на сервер, работающий на телефоне:
00000000 18 00 1c 96 dd 82 c2 31 0a 0d 5a dc 05 2a 23 f4 .......1 ..Z..*#.
00000010 21 a5 d3 02 01 00 00 34 33 30 39 30 !......4 3090
Это сообщение вызывает на телефоне диалог подтверждения, спрашивающий пользователя, хочет ли он разрешить это подключение. Если пользователь нажимает "Отмена", сервер телефона отправляет клиенту ответ с отрицательным сообщением, а затем немедленно закрывает TCP-соединение.
Однако серверный процесс не требует отправки этого сообщения перед обслуживанием других запросов, таких как запуск видеопотока, отправка файлов, обработка событий клавиатуры/сенсорного экрана, уведомления. Используя модифицированный клиент, можно подключиться к телефону без отображения диалога подтверждения на телефоне.
Злоумышленник получает полный контроль над телефоном.
Код Proof of Concept был протестирован на моделях G1 и G2.
Этот вспомогательный скрипт osp-discovery прослушивает широковещательные сообщения обнаружения официального приложения LG On Screen Phone и отвечает на них, чтобы приложение поверило, что телефон с OSP доступен локально.
Скрипт osp-proxy ожидает, что к нему подключится официальное приложение LG On Screen Phone, что возможно при запуске osp-discovery.pl.
Компания SEARCH-LAB Ltd. ответственно сообщила об этой угрозе производителю в сентябре 2014 года, который подтвердил серьёзность проблемы и приступил к разработке исправления. Патченная версия приложения теперь доступна для загрузки через Центр обновлений LG и/или будет доступна в виде обслуживающего релиза для некоторых моделей. Пользователям смартфонов LG следует убедиться, что установлена как минимум версия 4.3.010 приложения On Screen Phone (OSP). Обратите внимание, что если OSP предустановлен, устройство уязвимо по умолчанию – OSP запускается автоматически и не может быть отключён в настройках.
Конечные пользователи: Обновите приложение OSP до версии 4.3.010 или новее через Центр обновлений LG.