このエントリーをはてなブックマークに追加
gotrootsuperuser

※ARROWS X /ZのROM焼きスレより。当方端末(F-10D)での結果まとめは作成中。 ⇒part1 part2 part3 part4 
87 :goroh_kun:2012/08/07(火) 08:12:28.47 ID:e41tZAmn
>>86 
おめでとうございます。 
LSM解除するために、まずはカーネル抜かないとですね。 

cat /proc/partitions 
の結果ください。 
もし分かるようなら、kernelのダンプらしきパーティションを 

$dd if=/dev/block/mmcblkXpX of=/data/mmcblkXpX.bin bs=512 
$chmod 666 /data/mmcblkXpX.bin 
$exit 
$exit 
> adb pull /data/mmcblkXpX.bin 
とかやって、抜いてみてください 


90 :SIM無しさん:2012/08/07(火) 08:31:25.42 ID:BSkcv9r+
>>87 
ありがとうございます。 

kernelのダンプらしきパーティションというのがわからないので調べてみます。 

わかる方いらっしゃいましたらレスお願いします。 

88 :SIM無しさん:2012/08/07(火) 08:13:43.18 ID:BSkcv9r+
cat /proc/partitionsの結果 

ttp://pastebin.com/08BHkvjT 

となります 

91 :goroh_kun:2012/08/07(火) 08:31:48.45 ID:e41tZAmn
ん~。難しいな 

mmcblk0p33かな。 

> adb shell 
$/dev/sh 
#dd if=/dev/block/mmcblk0p33 of=/data/mmcblk0p33.bin bs=512 
#chmod 666 /data/mmcblk0p33.bin 
#exit 
$exit 
> adb pull /data/mmcblk0p33.bin 
で中身見て、ANDROID!から始まるバイナリだったらビンゴです。 

92 :90:2012/08/07(火) 09:58:30.53 ID:BSkcv9r+
一行目にANDROID!の記述があるのをみつけました。 

ttp://ux.getuploader.com/star69/download/4/mmcblk0p35.bin 

よろしくお願いします。 

93 :SIM無しさん:2012/08/07(火) 13:12:55.73 ID:BSkcv9r+
似た大きさのファイルでANDROID!記述あるもの 

ttp://ux.getuploader.com/star69/download/5/mmcblk0p36.bin 

ANDROIDの記述はありませんでしたが・・・ 
ttp://ux.getuploader.com/star69/download/6/mmcblk0p33.bin 

94 :SIM無しさん:2012/08/07(火) 15:53:11.69 ID:8/la/UNk
自分でも試してみようと思ってやってみたが、(3)でいきなり詰まった(汗 

$cd /data/data/com.android.settings/a/ 
$ls -l -d 
drwxrwxrwx system system 2012-08-07 15:46 . 
$cd .. 
$ls -l -d 
drwxrwxrwx system system 2012-08-07 15:48 a 
drwxr-xr-x system system 2012-01-01 09:29 lib 

777 になってるのに rm -r a で、rm failed for a, Permission denied となっちゃう・・・ 

95 :SIM無しさん:2012/08/07(火) 16:07:13.40 ID:BSkcv9r+
>>94 
わたしもそこ 
shell@android:/data/data/com.android.settings $ rm -r a 
rm -r a 
rm failed for a, Permission denied 

のまま進めましたが最後までいけました。 

96 :SIM無しさん:2012/08/07(火) 16:27:40.84 ID:8/la/UNk
>>95 
無視して進めていたのですが、/data のパーミッションが 777 にならず・・・ 
と書いて、表示を確かめようと再度挑戦してみたら・・・ 

いきました^^ 

/dev/sh で su になって、/data/data/com.android.settings/a/ も削除できました。 
あとは busybox とかかな? はやく TitaniumBackup とかつかいたい^^ 

97 :SIM無しさん:2012/08/07(火) 17:01:40.30 ID:BSkcv9r+
ISW16SHスレみているともう少し山があるような気がして心配です。 
rootスレ人少ないので完全gorohさん頼みです。。 

が!スレのみんなで教えていただいて、情報交換して頑張ってとりましょう! 

98 :goroh_kun:2012/08/08(水) 03:54:31.55 ID:jHSZuZpA
すみません 

ls -l /dev 

の結果ください~。 

99 :SIM無しさん:2012/08/08(水) 04:02:28.56 ID:txwcYgfl
ls -l /devの結果です 

ttp://pastebin.com/kZSrNKdF 

よろしくお願いします。 

104 :SIM無しさん:2012/08/09(木) 05:42:52.05 ID:IwaqNal9
mmcblk0p31だけ 

# dd if=/dev/block/mmcblk0p31 of=/data/mmcblk0p31.bin bs=512 
dd if=/dev/block/mmcblk0p31 of=/data/mmcblk0p31.bin bs=512 
/dev/block/mmcblk0p31: cannot open for read: Operation not permitted 
です。 

105 :goroh_kun:2012/08/09(木) 18:05:10.39 ID:MBNrXg8/
kernelはうまく展開出来てます。今はLSM解除調べてます 

107 :goroh_kun:2012/08/10(金) 07:35:34.20 ID:7WU2zzKs
どなたか、root取得状態でこのコマンドを実行して結果をいただくことは出来ますか? 

https://hotfile.com/dl/166194964/9e15053/f10dunlock_test.html 

宜しくお願いいたします。 


108 :goroh_kun:2012/08/10(金) 07:40:25.69 ID:7WU2zzKs
すみません、ちょっと修正しました。 

https://hotfile.com/dl/166195308/2c51514/f10dunlock_test.html 

ソースコードはこちらです 

http://pastebin.com/8S6dwfpN 

110 :SIM無しさん:2012/08/10(金) 08:29:04.13 ID:pmYI3F4z
>>108 
http://pastebin.com/0JWYLEek 

出力の後、再起動がかかりましたので最後までいけているかわかりません。 
念の為にもう一度やってみます。 


109 :goroh_kun:2012/08/10(金) 07:50:45.79 ID:7WU2zzKs
ちなみに、ISW13Fの方はカーネルパーティションのダンプを 
いただくことは可能でしょうか? 
F10Dと同じだとすると、 

/dev/block/mmcblk0p35 がrecovery 
/dev/block/mmcblk0p36 がboot 

でした。 

112 :goroh_kun:2012/08/10(金) 08:49:42.69 ID:7WU2zzKs
再起動かかるときのログが欲しいのですが、 
/proc/last_kmsg 
は存在しますか? 
それか、/Logディレクトリのどこかに再起動時のログが残ってないでしょうか? 


113 :SIM無しさん:2012/08/10(金) 09:02:17.64 ID:pmYI3F4z
>>112 
/proc/last_kmsg は有りましたが、中を見てみるとどうやら再起動後からのログしかありませんでした。 
/Log は探してみましたが見つかりません。 
もう少し探してみます。 

115 :goroh_kun:2012/08/10(金) 09:08:39.57 ID:7WU2zzKs
>>113 
last_kmsgは、 
再起動が掛かった直後に確認する必要があります 
f10dunlock_testを走らせて再起動後 
すぐにadb pull /proc/last_kmsgで良いかと 

116 :SIM無しさん:2012/08/10(金) 09:18:29.87 ID:pmYI3F4z
>>115 
再起動直後のものです。 
ttp://ux.getuploader.com/star69/download/7/last_kmsg.zip 

ダウン、解凍ともにパスは F-10D です。 

114 :goroh_kun:2012/08/10(金) 09:05:45.41 ID:7WU2zzKs
とにかく、tspdrvの脆弱性が使えそう、というとこまでは分かりました。 
後はリセットがかかった原因次第でやり方が変わる感じです 

117 :goroh_kun:2012/08/10(金) 11:16:16.95 ID:7WU2zzKs
gorohです 

[ 2604.464841] tspdrv: open. 
[ 2604.466008] tspdrv: invalid write buffer size. 
[ 2604.467223] tspdrv: release. 
[ 2604.813934] Unable to handle kernel paging request at virtual address 100001b8 
[ 2604.816871] pgd = e4f88000 
[ 2604.818443] [100001b8] *pgd=a431a831, *pte=00000000, *ppte=00000000 
[ 2604.825990] Internal error: Oops: 17 [#1] PREEMPT SMP 

ユーザーがmmapしたメモリ空間へのアクセスがNGみたいですね。 
ここはカーネル空間を使わないと駄目か。 

118 :goroh_kun:2012/08/10(金) 11:33:29.61 ID:7WU2zzKs
ごめんなさい、違いますね。 
ユーザーがmmapしたメモリ空間でも書き換えできてたので、 
他のプロセスで/dev/aeswipeを使うものが存在するということですね。 
それをとめてしまえば問題ないということですね。 
ちょっと引き続き検討します。 


120 :SIM無しさん:2012/08/10(金) 11:58:59.57 ID:yKcXFggZ
f10dunlock_test走らせるってどういうコマンド? 

120 :SIM無しさん:2012/08/10(金) 11:58:59.57 ID:yKcXFggZ
f10dunlock_test走らせるってどういうコマンド? 

121 :SIM無しさん:2012/08/10(金) 14:11:55.87 ID:oiigxdFh
ISW13F 

# cat /proc/partitions 
cat /proc/partitions 
major minor #blocks name 

179 0 15267840 mmcblk0 
179 1 51200 mmcblk0p1 
179 2 16384 mmcblk0p2 
179 3 2048 mmcblk0p3 
179 4 2048 mmcblk0p4 
179 5 2048 mmcblk0p5 
179 6 2048 mmcblk0p6 
179 7 2048 mmcblk0p7 
179 8 2048 mmcblk0p8 
179 9 2048 mmcblk0p9 
179 10 2048 mmcblk0p10 
179 11 2048 mmcblk0p11 
179 12 2048 mmcblk0p12 
179 13 4096 mmcblk0p13 
179 14 4096 mmcblk0p14 
179 15 2048 mmcblk0p15 
259 0 6144 mmcblk0p16 
259 1 12288 mmcblk0p17 
259 2 75776 mmcblk0p18 
259 3 10240 mmcblk0p19 
259 4 10240 mmcblk0p20 
259 5 1064960 mmcblk0p21 
259 6 266240 mmcblk0p22 
259 7 2048 mmcblk0p23 
259 8 286720 mmcblk0p24 
259 9 20480 mmcblk0p25 
259 10 40960 mmcblk0p26 
259 11 149504 mmcblk0p27 
259 12 2048 mmcblk0p28 
259 13 524288 mmcblk0p29 
259 14 12234752 mmcblk0p30 
179 16 15645696 mmcblk1 
179 17 15641600 mmcblk1p1 


どれが何なんだろう 

122 :goroh_kun:2012/08/10(金) 15:14:35.94 ID:7WU2zzKs
mmcblk0p19 とmmcblk0p20があやしい 

123 :SIM無しさん:2012/08/10(金) 15:20:56.52 ID:oiigxdFh
正解! 
19と20でした。 
http://www1.axfc.net/uploader/Li/so/134390.zip&key=ISW13F 

131 :goroh_kun:2012/08/13(月) 13:47:18.73 ID:sjDEcNdO
次のテストです。 
insmod時のSHA256ダイジェストのチェックをつぶしてます。 
なので、ビルドした/data/local/lsm_disabler.ko 
があれば、実行時にinsmod出来るはずです。 

ソースコード 
http://pastebin.com/HENcqrTi 

バイナリ 
https://hotfile.com/dl/166703985/805a0f0/f10dunlock_test3.html 

lsm_disabler.koは別途ソース渡すのでビルドして入れてみてください 

133 :goroh_kun:2012/08/13(月) 14:10:57.29 ID:sjDEcNdO
lsm_disabler.koのテスト版 

https://hotfile.com/dl/166707041/157305a/lsm_disabler.ko.html 

http://pastebin.com/NsCq1JQN 

もし、f10dunlock_test3にサイドエフェクトがある場合は、 
こちらでコードをおこして、修正する感じだと思います。 
こちらのファイルを/data/local/lsm_disabler.koにおいて、 
root権限にて、f10dunlock_test3を実行してみてください。 
その後、 
lsmodしたら、lsm_disablerが追加されていれば想定どおりな感じです。 
リブートした場合は、/proc/last_kmsg下さい。 
よろしくお願いします。 


134 :goroh_kun:2012/08/13(月) 14:17:21.66 ID:sjDEcNdO
ものすごく限定的な方法を使っていますので、汎用性はないです。 
f10dのみです。ISW13Fな人は、f10dunlock_test3のソースコードを 
触って、アドレスを変える必要があります。 
アドレスは、 
fjsec_kernel_load_module関数の"Mismatched name=.."表示直後の 

MOV R0, 0xffffffff 

を 

ANDEQ R0, R0, R1 

に書き換えることで実現してます。 
ものすごくトリッキーなことしてます。 

135 :SIM無しさん:2012/08/13(月) 14:20:46.57 ID:EYD8AovU
# pwd 
pwd 
/data/local 
# ls -al 
ls -al 
-rwxrwxrwx shell shell 9796 2012-08-10 08:17 f10dunlock_test 
-rwxrwxrwx root root 9740 2012-08-13 14:12 f10dunlock_test3 
-rwxrwxrwx root root 22670 2012-08-13 14:16 lsm_disabler.ko 
lrwxrwxrwx shell shell 2012-08-07 16:18 tmp -> /sys/kernel/uevent 
_helper 
# ./f10dunlock_test3 
./f10dunlock_test3 
fdtsp = 3 
TSPDRV_MAGIC_NUMBER ret = 0 
write buf ret = 0 
fdtsp = 3 
TSPDRV_MAGIC_NUMBER ret = 0 
write buf ret = 0 
# lsmod 
lsmod 
wl12xx_sdio 5284 0 - Live 0xbf163000 
fm_drv 36697 0 - Live 0xbf152000 
gps_drv 5531 2 - Live 0xbf14b000 
bnep 11884 2 - Live 0xbf142000 
btwilink 3840 1 - Live 0xbf13c000 
hidp 15643 0 - Live 0xbf132000 
rfcomm 50005 12 - Live 0xbf11b000 
bluetooth 216327 26 bnep,btwilink,hidp,rfcomm, Live 0xbf0d1000 
wl12xx 185223 1 wl12xx_sdio, Live 0xbf092000 
mac80211 263912 1 wl12xx, Live 0xbf03b000 
cfg80211 153398 2 wl12xx,mac80211, Live 0xbf006000 
compat 891 0 - Live 0xbf000000 


こんな結果です。 

136 :goroh_kun:2012/08/13(月) 14:32:26.83 ID:sjDEcNdO
ん~。うまくパッチが当たってないのかの判断が難しいですね。 

ソース 
http://pastebin.com/HENcqrTi 

バイナリ 
https://hotfile.com/dl/166710394/f73bc71/f10dunlock_test4.html 

すみません、/data/local/lsm_disabler.koをおいて、 
こちらを実行して、 

lsmod 
の結果と、 
dmesgの結果をいただけますか? 

138 :SIM無しさん:2012/08/13(月) 14:50:59.83 ID:EYD8AovU
>>136 

# ./f10dunlock_test4 
./f10dunlock_test4 
# lsmod 
lsmod 
wl12xx_sdio 5284 0 - Live 0xbf163000 
fm_drv 36697 0 - Live 0xbf152000 
gps_drv 5531 2 - Live 0xbf14b000 
bnep 11884 2 - Live 0xbf142000 
btwilink 3840 1 - Live 0xbf13c000 
hidp 15643 0 - Live 0xbf132000 
rfcomm 50005 12 - Live 0xbf11b000 
bluetooth 216327 26 bnep,btwilink,hidp,rfcomm, Live 0xbf0d1000 
wl12xx 185223 1 wl12xx_sdio, Live 0xbf092000 
mac80211 263912 1 wl12xx, Live 0xbf03b000 
cfg80211 153398 2 wl12xx,mac80211, Live 0xbf006000 
compat 891 0 - Live 0xbf000000 


dmesgの結果は以下 
ttp://pastebin.com/3WFRCc8F 


139 :SIM無しさん:2012/08/13(月) 15:08:41.34 ID:EYD8AovU
test5の結果です。 

ttp://pastebin.com/t7pwrFfK 


140 :SIM無しさん:2012/08/13(月) 15:33:39.11 ID:EYD8AovU
test6で再起動かかりました。 
再起動直後のlast_kmsg 

http://pastebin.com/s8ytRxqc 

test6 の出力結果が記録されてなかったので、もう一度実行してから書き込みます。 

141 :SIM無しさん:2012/08/13(月) 15:48:32.46 ID:EYD8AovU
7でも再起動かかりました。 

test6 
http://pastebin.com/m9Dbw5P4 

test7 
http://pastebin.com/Af1EzVcF 

test7での再起動直後のlast_kmsg 
http://pastebin.com/ShhZsgEi 


142 :SIM無しさん:2012/08/13(月) 16:27:15.08 ID:EYD8AovU
test8 
ttp://pastebin.com/angijq6A 

insmod で再起動しました。 


143 :goroh_kun:2012/08/13(月) 16:50:22.60 ID:sjDEcNdO
last_kmsg取れますかー? 

144 :SIM無しさん:2012/08/13(月) 17:01:31.29 ID:EYD8AovU
>>143 
ttp://ux.getuploader.com/star69/download/9/last_kmsg.zip 

パスはF-10D 

pastebin に貼り過ぎて、金払えやゴラァァァ 言われたw 

146 :goroh_kun:2012/08/14(火) 10:13:02.69 ID:QJf1+kJ6
load_moduleまでは通ってて、その後kernel panicしているみたいなので 
原因不明な感じです。 
今日の夜カーネル空間のパッチ当て手法は確立してるので別の場所に 
パッチしてみます。 
他の方で、分かる方は既にあげたサンプルソースコードをもとに 
パッチ当ててみてください。 
ただ、あれですね。パッチを当てた後に、g_lptsAuthContextの値を 
0にしてしまっているので、kmesgがエラーでうざいですね。 
この値を別の脆弱性使ってkmesgに出して書き戻せるようにするか、 
もう一度aeswipeを初期化かけるか考えたほうがよさそうですね。 

149 :goroh_kun:2012/08/15(水) 07:54:38.67 ID:Zu5QBnki
f10dunlock_test9 

http://pastebin.com/VCFqYtLK 
https://hotfile.com/dl/167039959/f468d80/f10dunlock_test9.html 

同じ脆弱性は使いますが、パッチ当てる場所を変えてみました。 
動作確認、よろしくです。 


150 :goroh_kun:2012/08/15(水) 08:09:47.12 ID:Zu5QBnki
うまくいくと、is_called = 1と表示されるとうれしいです。 

151 :SIM無しさん:2012/08/15(水) 08:29:20.27 ID:gXSCt81N
>>150 
残念ながら、is_called = 0 で再起動かかりました。 

ttp://ux.getuploader.com/star69/download/10/last_kmsg.zip 
パスは前回といっしょ 


151 :SIM無しさん:2012/08/15(水) 08:29:20.27 ID:gXSCt81N
>>150 
残念ながら、is_called = 0 で再起動かかりました。 

ttp://ux.getuploader.com/star69/download/10/last_kmsg.zip 
パスは前回といっしょ 


152 :goroh_kun:2012/08/15(水) 08:41:01.49 ID:Zu5QBnki
お、でも0x44c1ec番地に飛んだところでDataAbortなので、 
理論的にはパッチが成功しているということですね。 
エラー見た限り、カーネルからユーザー空間のページマッピングと 
コード実行ができないということだから、ここを解決すればOKってことか。 

153 :goroh_kun:2012/08/15(水) 11:28:52.67 ID:Zu5QBnki
f10dunlock_test10 

お願いします。kernel空間にコードを置くための第一歩です。 
/dev/tspdrvのread時の長さチェックをほぼつぶしています。 
これでカーネル空間のメモリが抜けるとまた攻撃の幅が広がります。 

http://pastebin.com/ATdiPpZy 
https://hotfile.com/dl/167063578/07e784b/f10dunlock_test10.html 

154 :SIM無しさん:2012/08/15(水) 11:49:41.41 ID:gXSCt81N
>>153 
ttp://pastebin.com/iL2qrL3z 

エラーは出ませんでしたが、insmod lsm_disabler.ko で Operation not permitted が出ました。 


156 :SIM無しさん:2012/08/16(木) 09:16:53.77 ID:xrwnNjUx
/system リマウントできたら、superuser.apk と busybox あればいいのかな? 

161 :goroh_kun:2012/08/16(木) 13:10:27.92 ID:i0cXxKXy
test11 

任意のアドレスに任意の値を書くためのテストコードです。 
0x10000000~のどこかに0xbeefbeefという値を書き込みます 

http://pastebin.com/2jfWCGEC 
https://hotfile.com/dl/167259139/44033e7/f10dunlock_test11.html 
宜しくお願いします 

162 :SIM無しさん:2012/08/16(木) 13:42:53.51 ID:xrwnNjUx
>>161 
来るとは思わなくて気を抜いてたw 

ttp://pastebin.com/B6vgkhwV 
ttp://ux.getuploader.com/star69/download/11/last_kmsg.zip 

再起動かかりました。パスはこれまでと一緒 

アローズのケースや保護カバーを

Amazonで探す amazon Yahooショップで探すyahoo 楽天市場で探す rakuten


あなたのお住まいの地域で最安のブロードバンド選びkakaku