OnePlus Nord 2 tiene una vulnerabilidad que otorga acceso root al shell en cuestión de minutos en un gestor de arranque bloqueado, sin borrar datos

click fraud protection

El OnePlus Nord 2 tiene una vulnerabilidad que permite a un atacante obtener acceso root sin restricciones. ¡Siga leyendo para saber más!

Muchos de nosotros aquí en XDA-Developers originalmente comenzamos a navegar por los foros por primera vez cuando buscábamos rootear nuestros dispositivos Android. En aquellos días, la gente solía confiar en métodos de "raíz con un solo clic": aplicaciones o scripts que contenían cargas útiles que apuntan a vulnerabilidades conocidas de escalada de privilegios del firmware existente para obtener root acceso. Con mejoras y cambios en el cifrado, los permisos y el manejo relacionado con la privacidad, los dispositivos Android modernos están relativamente a salvo de estos vectores de ataque, pero siempre habrá margen para hazañas y vulnerabilidades.

Es posible que OnePlus haya consolidado su nombre entre los principales fabricantes de equipos originales de Android, pero sus teléfonos son ningún extraño a fallas de seguridad. Esta vez, la compañía ha dejado una vulnerabilidad bastante interesante (léase: preocupante) sin parchear en el

OnePlus Nord 2 desde su lanzamiento. Aunque explotar la laguna requiere acceso físico al dispositivo, el atacante puede efectivamente obtener un shell raíz sin restricciones antes de que el usuario pueda siquiera ingresar sus credenciales. En particular, el recién lanzado Edición Pac-Man del Nord 2 también se ve afectado.

Fondo

Hoy en día, cuando hablamos de tener acceso root en un smartphone Android, la gente suele pensar en parcheando la imagen de arranque de stock con Magisk primero y luego mostrar la imagen parcheada en el dispositivo de destino después de desbloquear el gestor de arranque. De esa manera, el usuario final puede tener acceso supervisado al binario "su" a través de una aplicación de administrador. Un par de otros enfoques experimentales existen, pero rara vez reúnen tanto uso generalizado.

Sin embargo, cuando se trata de preproducción, el escenario es completamente diferente. Mientras preparan el firmware de un dispositivo, los ingenieros deben tener activados varios parámetros de registro, incluido el acceso raíz. Incluso en un depuración de usuario construir, Android Debug Bridge Daemon (adbd) se ejecuta como root, por lo que uno puede tener acceso privilegiado al shell para fines de depuración. Cuando el firmware esté listo para su envío, todos estos parámetros de depuración deben desactivarse antes de implementarlo.

¿Pero qué pasa si te olvidas de hacerlo? Veremos cómo los lanzamientos oficiales de OxygenOS para OnePlus Nord 2 vienen con tal defecto.

OnePlus Nord 2: vulnerabilidad del shell raíz

Algunos fabricantes de equipos originales, como Samsung, ofrecen capacidad de descarga de paquetes de actualización en su recuperación de existencias en dispositivos minoristas. En ese caso, el adbd El binario se ejecuta con un privilegio significativamente alto durante la descarga, pero se cierra solo tan pronto como finaliza el proceso de actualización. Aparte de eso, no se permite el acceso a ADB en un entorno de recuperación proporcionado por OEM.

OnePlus ya no permite a los usuarios actualizar un paquete ZIP de actualización a través de su recuperación de stock mediante la carga lateral de ADB. Suponiendo que todo lo demás esté configurado como debería, el entorno de recuperación de un dispositivo OnePlus normal debería estar a salvo de atacantes que entreguen cualquier tipo de carga útil mediante ADB. Desafortunadamente, no todo va según lo previsto en el caso del OnePlus Nord 2.

Como resulta, cualquiera puede generar un shell de depuración de Android con privilegios de root dentro del entorno de recuperación del OnePlus Nord 2. Una de las configuraciones de depuración críticas aparentemente llegó a las compilaciones de producción, lo que conduce a este problema.

Explotando la falla en el OnePlus Nord 2

Todo lo que necesitas hacer es reiniciar el OnePlus Nord 2 en su modo de recuperación. Un atacante puede tomar el dispositivo y usar una simple combinación de botones de hardware para forzarlo a pasar al modo de recuperación. De hecho, no es necesario llegar al menú de recuperación real, ya que la sección vulnerable aparece antes. El crédito es para el miembro senior de XDA. androplus para señalando la existencia de este problema técnico allá por octubre de 2021.

  1. Mientras el teléfono está apagado, presione simultáneamente los botones de bajar volumen y encendido hasta que Vea el logotipo de OnePlus con un minúsculo cartel "MODO DE RECUPERACIÓN" en la esquina inferior izquierda de la pantalla.
  2. A continuación, debería ver la pantalla de selección de idioma. No es necesario seguir adelante, ya que podemos iniciar el acceso a ADB directamente desde aquí.
  3. Ahora conecte el teléfono a una PC (o Mac) usando el cable USB. En caso de que esté utilizando Windows, puede ver que aparece una nueva interfaz de depuración USB de Android en el Administrador de dispositivos. Es posible que también necesite instalar un Controlador USB de Android antes de que Windows pueda reconocer el nuevo dispositivo. Los usuarios de Linux y macOS, por otro lado, pueden utilizar el lsusb comando para detectar la presencia de la nueva interfaz de hardware.
  4. Teniendo en cuenta que ya tienes la última versión de ADB y arranque rápido utilidades instaladas en su PC/Mac, inicie una instancia de símbolo del sistema/PowerShell/Terminal y ejecute el siguiente comando:
    adb devices
    Debería incluir el Nord 2 en modo de recuperación. Esto también es particularmente interesante, ya que aquí no se necesita el mensaje de autorización estándar de ADB. Es posible que obtenga un error de "dispositivo no autorizado", pero borrar la base de datos de claves ADB RSA existente de la PC host y reiniciar el servidor ADB eventualmente le permitirá obtener la autorización.
  5. Ahora instruye adbd para ejecutar como root:
    adb root
    Este comando puede tardar mucho tiempo y probablemente obtendrá un error de tiempo de espera. Sin embargo, ahora adbd debería ejecutarse como root.
  6. Finalmente, verifique el nivel de privilegio del shell usando el siguiente comando:
    adb shell whoami

El alcance del defecto

Los posibles abusos de esta vulnerabilidad de seguridad son aterradores. Con un ataque exitoso al OnePlus Nord 2, un atacante puede volcar todas las particiones del dispositivo. Como resultado, el atacante puede acceder a la totalidad de la partición de datos, incluidos los archivos almacenados en los directorios de datos privados de las aplicaciones, normalmente inaccesibles. En caso de que la partición de datos salga cifrada (debido a que el usuario estableció un PIN o contraseña), el volcado aún podría ser útil para el análisis forense.

No sólo eso, puedes enviar un ejecutable a /data/local/tmp y ejecutarlo desde allí. Este es un vector de ataque clásico, que puede resultar útil para cargar en cadena otro exploit. Además, como ahora puedes llamar al setprop utilidad como root para modificar varios valores de propiedad, técnicamente puede secuestrar algunas de las variables privilegiadas específicas del OEM. Por último, pero no menos importante, incluso si no tiene las opciones de desarrollador desbloqueadas, el teléfono le solicitará automáticamente acceso de depuración USB después de invocar ADB en recuperación y reinicio en el entorno normal de Android, lo que significa que el alcance de la vulnerabilidad no se limita solo a la sección de recuperación. solo.

Tenga en cuenta que no puede instalar archivos APK usando ADB en el entorno de recuperación debido a que no se puede acceder a la utilidad Administrador de paquetes allí.

¿Cómo comprobar si tu OnePlus Nord 2 está afectado? (Pista: lo es)

Como se mencionó anteriormente, puede explotar esta vulnerabilidad tanto en la edición normal como en la especial Pac-Man del OnePlus Nord 2. En pocas palabras, si ingresa un shell raíz (sabrá cuándo el símbolo del shell cambia de $ a #), entonces sabrá que el defecto está presente.

Hemos obtenido exitosamente acceso root al shell en el El último firmware público indio y europeo de OxygenOS para el dispositivo., lo que significa Todas y cada una de las unidades OnePlus Nord 2 que existen son vulnerables. al momento de escribir este artículo.


¿Que sigue?

Daremos seguimiento a este asunto a medida que haya más información disponible. OnePlus proporcionó la siguiente declaración sobre el tema:

Nos tomamos muy en serio la privacidad y la seguridad. Estamos dando prioridad a este asunto y compartiremos una actualización tan pronto como tengamos más información.

Si bien todo esto parece aterrador, tenga en cuenta que un atacante aún necesitará acceder físicamente al teléfono para obtener acceso al shell raíz. Hasta que OnePlus lance una actualización que solucione la vulnerabilidad, intente mantener su OnePlus Nord 2 alejado de extraños. Si bien no hemos encontrado ningún caso de uso malicioso, no se puede descartar esa posibilidad ya que la vulnerabilidad ha estado disponible durante al menos 2 meses.