모토로이(XT720) 루팅(Rooing) 시도. 실패....

Posted 2010/03/08 14:25 by silverbug

1. [Why] 왜? 우리는 최고 권한인 루트를 획득하려고 하는가...
  - 내가 정당한 댓가를 지불하고 구입한 기기로, 기기의 활용성(?)/성능(?)을 극대화 시키기 위해.(안드로이드에서 제공되는 어플은 한계가 많음)
  - 현재 안드로이드는 용량 제한으로, 100메가 정도 사용 가능. (허나 최고 권한을 획득하면, 용량 제한 해결 가능)

2. [How] 어떠한 방식으로 최고 권한인 root를 획득할 것인가?
  - 기존 외국에서 공개된 루팅 방법 시도.
  - 취약점 분석.

[기 발표된 루팅 방법]

  - 커널 취약점 
 초창기 루팅 방법은 커널 취약점을 이용한 방법으로 루팅을 했었다. 리눅스 기반으로 만들어진 안드로이드는.. 리눅스 커널 취약점에 노출되어 있었고, 이를 활용하여 루팅 가능했음.

취약점 : CVE-2009-2692
Android exploit : http://milw0rm.com/sploits/android-root-20090816.tar.gz

그외 커널 취약점.
CVE-2009-3547
CVE-2009-2848
CVE-2009-3624
CVE-2009-2584
CVE-2009-3286
CVE-2009-1895
CVE-2009-1527

다 테스트 해볼 수가 없어서 가장 마지막에 나온  pipe 취약점(CVE-2009-3547)만 테스트 해봤으나, killed...  패치 된걸로 파악...

다음 새로 나올 커널 취약점을 기대해야 할듯....


* 모토로이 가능성 : 취약점 패치 된걸로 파악됨
  - 부트로더 recovery를 통한 수정.
    이 방법은 SD Card에 업데이트 할 파일과 설정 파일을 넣어두고 (구성을 맞춘 후 update.zip 으로 압축) SD Card에 존재하는 업데이트 설정파일을 통해 su 명령어 설치 및 퍼미션, 마운트 읽기 쓰기 모드로 재 설정을 통해 root를 획득하는 방법이다. (su 명령어를 통해 바로 root로 진입.)

  1. update.zip 파일을 sd카드에 넣어둔다.

  2. 전원 OFF

  3. 카메라 버튼 +  전원 버튼을 꾸욱~ 눌러주면 부트로더 모드로 진입하게 된다.
   진입했으면 두번째 apply sdcard:update.zip 을 선택해 준다.

  4. 완료메시지 확인 후 재부팅

  5. su 명령어를 통해 root 권한 획득.

update.zip에 존재할 스크립트 updater-script
/*
mount("MTD", "system", "/system");
ui_print("Rooting your phone...");
package_extract_file("system/bin/su", "/system/bin/su");
package_extract_file("system/app/Superuser.apk", "/system/app/Superuser.apk");
set_perm(0, 0, 04755, "/system/bin/su");
set_perm(0, 0, 0644, "/system/app/Superuser.apk");
unmount("/system");
*/



* 모토로이 가능성. Low....

일단 테스트 에러....
Verifying update package...
E:EOCD marker occurs after start of EOCD
E:signature verification failed
Installation aborted


왜 안될까?
   - 실제 부트로더 소스 코드를 살펴보면 왜 안되는지 알수가 있다.
       커널 소스를 살펴보면, update.zip 파일의 사인을 체크하게 되어 있다. (RSA 공개키 기반)

체크 순서를 살펴보면..
  1. zip 파일 제일 마지막 6바이트를 가져와 검증.
  2. EOCD 헤더 검증 22바이트
  3. SHA + RSA 검증

공개키는 /res/keys에 존재하는 키를 사용. 즉 키를 알지 못하면 update.zip 파일을 서명할 수가 없기 때문에, 기존의 방식은 사용할 수가 없다.

근데 드로이드/마일스톤은 된다던데?? 어떻게 했을까??!! 기존 버전이었나? 최신 버전도 되나?? 좀더 연구를 진행....................................

최근 모토로이 자체 서비스의 취약점을 찾고 공격을 진행하였으나, 일반 권한으로 실행... 좌절... OTL.....

루트를 획득하는 그날까지.... 영원하라...
 

p.s
 현재 상황 :: RSA 키로 사인된 업데이트 파일하나만 배포되면.. (업데이트 시 사용되는 파일) 루팅 가능할걸로 추정...  열심 분석 끝에 RSA 인증 부분까지 넘어왔음.           
RSA 재 사인 하면 가능.


« PREV : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : ... 30 : NEXT »