OnePlus Nord 2 имеет уязвимость, которая позволяет злоумышленнику получить неограниченный доступ к корневой оболочке. Читайте дальше, чтобы узнать больше!
Многие из нас в XDA-Developers впервые начали просматривать форумы, когда хотели рутировать наши Android-устройства. В те времена люди часто полагались на методы «рутирования в один клик»: приложения или скрипты, содержащие полезные нагрузки, нацеленные на известные уязвимости существующей прошивки, связанные с повышением привилегий, для получения root-прав доступ. Благодаря улучшениям и изменениям в шифровании, разрешениях и обработке конфиденциальности современные устройства Android относительно защищены от таких векторов атак, но всегда останется возможность для подвиги и уязвимости.
OnePlus, возможно, и закрепил свое имя среди основных OEM-производителей Android, но его телефоны не чужой к недостатки безопасности. На этот раз компания оставила неисправленной довольно интересную (читай: тревожную) уязвимость. OnePlus Норд 2 с момента его выпуска. Хотя для использования лазейки требуется физический доступ к устройству, злоумышленник может эффективно
получить неограниченную корневую оболочку еще до того, как пользователь сможет ввести свои учетные данные. Примечательно, что недавно выпущенный Pac-Man издание Nord 2 это тоже влияет.Фон
Сегодня, когда мы говорим о root-доступе на Android-смартфоне, люди обычно думают о исправление стандартного загрузочного образа с помощью Magisk сначала, а затем прошить пропатченный образ на целевое устройство после разблокировки загрузчика. Таким образом, конечный пользователь может иметь контролируемый доступ к двоичному файлу «su» через приложение-менеджер. Еще пара экспериментальные подходы существуют, но они редко пользуются таким большим спросом.
Однако когда дело доходит до подготовки к производству, сценарий совершенно иной. При подготовке прошивки устройства инженерам необходимо включить различные параметры логирования, в том числе root-доступ. Даже на пользовательская отладка строить, демон Android Debug Bridge (adbd) запускается от имени пользователя root, что позволяет иметь привилегированный доступ к оболочке для целей отладки. Когда прошивка готова к отправке, все эти параметры отладки необходимо отключить перед ее развертыванием.
Но что произойдет, если вы забудете это сделать? Посмотрим, поскольку официальные выпуски OxygenOS для OnePlus Nord 2 имеют такой недостаток.
OnePlus Nord 2 — уязвимость корневой оболочки
Некоторые OEM-производители, такие как Samsung, предлагают возможность загрузки неопубликованных пакетов обновлений в стандартное восстановление на розничных устройствах. В этом случае adbd
двоичный файл запускается со значительно более высокими привилегиями во время загрузки неопубликованных приложений, но закрывается сам, как только процесс обновления завершается. Кроме этого, доступ к ADB в среде восстановления, предоставляемой OEM, не разрешен.
OnePlus больше не позволяет пользователям прошивать ZIP-пакет обновления через стандартное восстановление с помощью боковой загрузки ADB. Если предположить, что все остальное настроено должным образом, среда восстановления обычного устройства OnePlus должна быть защищена от злоумышленников, доставляющих любую полезную нагрузку с помощью ADB. К сожалению, в случае с OnePlus Nord 2 не все идет по плану.
Как выясняется из, любой может создать оболочку отладки Android с правами root в среде восстановления OnePlus Nord 2.. Одна из критических настроек отладки, по-видимому, попала в производственные сборки, что и приводит к этому сбою.
Использование уязвимости OnePlus Nord 2
Все, что вам нужно сделать, это перезагрузить OnePlus Nord 2 в режим восстановления. Злоумышленник может взять устройство и использовать простую комбинацию аппаратных кнопок, чтобы заставить его перейти в режим восстановления. На самом деле, нет необходимости доходить до собственно меню восстановления, так как уязвимый раздел находится перед этим. Благодарность принадлежит старшему члену XDA. АндроПлюс для указывая существование этого глюка еще в октябре 2021 года.
- Когда телефон выключен, одновременно нажмите кнопку уменьшения громкости и кнопку питания, пока не см. логотип OnePlus с небольшим баннером «РЕЖИМ ВОССТАНОВЛЕНИЯ» в левом нижнем углу экрана.
- Далее вы должны увидеть экран выбора языка. Нет необходимости двигаться вперед, поскольку мы можем инициировать доступ АБР прямо отсюда.
- Теперь подключите телефон к ПК (или Mac) с помощью USB-кабеля. Если вы используете Windows, в диспетчере устройств появится новый интерфейс отладки USB-устройств Android. Возможно, вам также потребуется установить подходящий USB-драйвер для Android прежде чем Windows сможет распознать новое устройство. Пользователи Linux и macOS, с другой стороны, могут использовать
lsusb
команда для обнаружения наличия нового аппаратного интерфейса. - Учитывая, что у вас уже установлена последняя версия АБР и Fastboot утилиты, установленные на вашем ПК/Mac, запустите экземпляр командной строки/PowerShell/терминала и выполните следующую команду:
Nord 2 должен быть переведен в режим восстановления. Это также особенно интересно, поскольку стандартное приглашение авторизации ADB здесь не требуется. Вы можете получить ошибку «неавторизованное устройство», но удаление существующей базы данных ключей ADB RSA на главном компьютере и перезапуск сервера ADB в конечном итоге должны позволить вам авторизовать его.adb devices
- Теперь проинструктируйте
adbd
для запуска от имени пользователя root:
Эта команда может занять много времени, и вы, вероятно, получите ошибку тайм-аута. Тем не менее, сейчасadb root
adbd
должен работать от имени пользователя root. - Наконец, проверьте уровень привилегий оболочки с помощью следующей команды:
adb shell whoami
Масштаб недостатка
Потенциальные злоупотребления этой уязвимостью безопасности пугают. При успешной атаке на OnePlus Nord 2 злоумышленник может сбросить все разделы устройства. В результате злоумышленнику становится доступен весь раздел данных, включая файлы, хранящиеся в обычно недоступных частных каталогах данных приложений. Если раздел данных окажется зашифрованным (из-за того, что пользователь установил PIN-код или пароль), дамп все равно может быть полезен для судебно-медицинской экспертизы.
Мало того, вы можете отправить исполняемый файл в /data/local/tmp
и запустите его оттуда. Это классический вектор атаки, который может быть полезен для загрузки другого эксплойта. Более того, поскольку теперь вы можете позвонить в setprop
с правами root для изменения различных значений свойств, вы можете технически перехватить некоторые привилегированные переменные, специфичные для OEM. И последнее, но не менее важное: даже если у вас не разблокированы параметры разработчика, телефон автоматически запросит доступ к отладке по USB после вашего вызова. ADB в восстановлении и перезагрузка в обычную среду Android, а это означает, что область действия уязвимости не ограничивается только разделом восстановления. только.
Обратите внимание, что вы не можете установить APK-файлы с помощью ADB в среде восстановления, поскольку там недоступна утилита Package Manager.
Как проверить, не затронут ли ваш OnePlus Nord 2? (Подсказка: это так)
Как упоминалось ранее, вы можете использовать эту уязвимость как в обычной, так и в специальной версии Pac-Man OnePlus Nord 2. Короче говоря, если вы войдете в корневую оболочку (вы узнаете, когда символ оболочки изменится с $
к #
), тогда вы поймете, что дефект присутствует.
Мы успешно получили доступ к корневой оболочке на последняя публичная индийская и европейская прошивка OxygenOS для устройства, что значит каждое устройство OnePlus Nord 2 уязвимо на момент написания этой статьи.
Что дальше?
Мы будем следить за этим вопросом по мере поступления дополнительной информации. OnePlus предоставил следующее заявление по этому поводу:
Мы очень серьезно относимся к конфиденциальности и безопасности. Мы уделяем этому вопросу приоритетное внимание и поделимся обновленной информацией, как только у нас появится дополнительная информация.
Хотя все это кажется пугающим, имейте в виду, что злоумышленнику все равно потребуется физический доступ к телефону, чтобы получить root-доступ к оболочке. Пока OnePlus не выпустит обновление, устраняющее уязвимость, старайтесь держать свой OnePlus Nord 2 подальше от посторонних. Хотя мы не столкнулись ни с одним случаем злонамеренного использования, нельзя сбрасывать со счетов такую возможность, поскольку уязвимость существует уже как минимум 2 месяца.