자양
10.12.13
조회 수 5507
추천 수 1
댓글 11

이번 글은 좀 짧은것 같아서 전체 복사해 왔는데 그래도 기네요..


출처)


http://blog.naver.com/dowkim10/120120031591


---------------------------------------------------------------------





본인은 z4root를 통하여 루팅한것은 아니지만, 요즈음은 이 툴을 통하여 루팅을 많이 하는것 같다.
하지만, 사람들은 z4root이 어떤 메커니즘을 사용하여 루팅되는지에 대해서는 잘 모르는것 같다. (사실 이부분은 공개된 내용이 아니라서 인터넷을 뒤져도 잘 안나온다)



이클레어 시절 갤럭시s를 제외한 폰에서 exploit을 사용한 루팅툴이 Universal Android root 어플이었다.
exploit의 경우 hotplug 취약성( 일반 user 에서 super user 권한 스키립트 실행)을 사용한 루팅이었지만, 커널이 업데이트되면서 점차 루팅이 불가능 하게 되었다.



현재 프로요에서 많이 사용하는 z4root 는 rageagainstthecage-arm5.bin 을 이용한 것인데, adb의 취약성 및 RLIMIT_NPROC의 문제점을 이용한 것이다.
(제작자인 Sebastian Krahmer가 이전 버전의 exploit도 만든것 같음)



파일 다운로드
http://www.joeyconway.com/epic/root/rageagainstthecage-arm5.bin



테스트 방법
http://modmymobile.com/forums/567-motorola-backflip-general/553988-local-privilege-escalation-found-5.html


- adb push rageagainstthecage-arm5.bin /sdcard/
- adb shell


$ mkdir /skttmp/tmp
$ cd /skttmp/tmp
$ cat /sdcard/rageagainstthecage-arm5.bin > rageagainstthecage-arm5.bin
$ chmod 755 rageagainstthecage-arm5.bin
$ ./rageagainstthecage-arm5.bin
adb가 끊길때까지 기다린다.
- adb kill-server
- adb devices (to verify the connection)
- adb shell
이때 root인 #이 뜬다.



rageagainstthecage-arm5.bin 를 실행시키면 무제한적으로 프로세스를 생성(fork)시키면서 결구 RLIMIT_NPROC까지 만나게 되면서 더이상 프로세서가 생성이 안된다.
이때, adb가 root로 재실행되면서 shell 접속시 root의 권한을 얻게된다. (원래는 shell권한을 얻어야 되나, max proc의 갯수로 인해 setuid가 fail이 되기 때문이다.)




특징
- 특별히 시스템의 위해적 요소는 없는것으로 보이며, 영구루팅이 아니라면 리부팅시 시스템의 어떠한 변화도 없다.
- temporary(임시) rooting의 경우 아주 많은 프로세서가 생겨져 있으므로 리소스의 낭비와 폰이 느려질수 있다. (리부팅하면 되니 특별히 상관은 없다)
- permanat(영구) rooting의 겨우 su, superuser.apk가 /system에 설치된다.
- ./rageagainstthecage-arm5.bin가 항상 성공하는 것은 아닌것 같다. (이런경우는 다시 시도하면 될듯)
- adb의 취약성을 이용하는 것이므로 설정에서 USB debbugging이 체크되어 있어야 한다.
- 이것도 exploit과 마찬가지로 안드로이드의 취약성을 이용한 것이므로, 곧 막힐것이다. (이전버전은 커널이 수정되었고, 이번 버전은 adb가 수정될 것으로 보인다.)



댓글 11
  • ?
    벼리
    10.12.13
    잘봤습니다 ^^
    저도 그냥 가져다만 써서 원리까지는 자세히 몰랐네요
    이런글은 노하우로 고고싱 ㅎㅎ
    p.s 자유게시판에서 묻히는게 안타까워서 노하우 게시판으로 옮겨두었는데, 기분 나쁘시면 쪽지주세요 다시 옮겨드릴게요 ^^;;
  • ?
    좋은 정보 감사드립니다. ^^
  • ?
    자양
    10.12.13
    아무데나 두셔도 상관없습니다. ㅎㅎ
    그냥 제 블로그 내용복사한거라서요.
  • ?
    bvlgaria
    10.12.13
    자양님이시군요..반갑습니다..영구루팅이 되었을때 superuser.apk와 su 가 리부팅할때마다 z4root 도 자양님의 루팅커널처럼 복사가되나요? 파일정보를 보면 항상 날짜가 변경이 되어있더군요..
  • ?
    자양
    10.12.13
    호.. 흥미로운 사실이네요..
    제 생각에는 z4root로 영구루팅시 한번만 복사할거로 생각되는데요..
    (전 z4root 사용안해봐서 모르겠네요.)
  • ?
    벼리
    10.12.13
    rageagainstcage를 실행하게되면 이걸 실행한 주체가 root권한을 가지게 됩니다.
    adb에서 실행하셨다면 adb가 better terminal에서 실행하셨다면 betterterminal이, z4root에서는 이걸 이용하여 자신이 root권한을 획득한 후 이걸 바탕으로 /system/bin에 su를 /system/app에 SuperUser.apk를 카피합니다. 재부팅을 하게되면 root권한이 없어지기 때문에 그 전에 카피를 하는 방법입니다. 물론 한번만 하면 됩니다.

    예전 마켓에서 삭제되기 전 원펀치와 테마스토어에도 이런 방법을 이용해서 루팅 기능을 구현해놨던거구요
  • ?
    벼리
    10.12.13
    자양님 좋은글 좀 자주 남겨주세요 ㅎㅎ
  • ?
    bvlgaria
    10.12.13
    네 저도 z4root가 사실 더 쉬운 방법이라 이전에 자양님 루팅커널로 루팅을 했다가 이번에 시스템을 엎으면서 z4root를 설치해봤는데요..리부팅전 12월 12일 오후 11시 35분인걸로 확인하고 리부팅해보니 지금은 12월 12일 오전 8시 35분으로 파일날짜가 변경이 되어있네요..새로 쓰기라면 오늘 날짜로 복사가 되어야 할텐데 오늘 날짜가 아니라 오히려 이전 날짜로 변경이 되어있습니다..^^
    조금 써보다가 다시 자양님 툴로 루팅할까 합니다..^^
  • ?
    자양
    10.12.13
    맛클 홈페이지 개편이후로 안들어오다가 요즘은 들어와요..
    (모바일 맛클주소가 바뀐지도 모르고있다가 최근 알게됬네요.)
    향후, 좋은 아이템이 생기면 글 남길게요..
  • ?
    좋은 글 감사합니다... 도움이 많이 되겠네요... ^^
  • ?
    oops!
    10.12.16
    좋은정보 감사합니다^^
댓글 쓰기 권한이 없습니다.
분류 정렬 목록 검색 쓰기
List of Articles
제목 글쓴이 추천 조회 날짜
펌웨어에서 순정 화일 추출하기 20 file 짱구삼촌 4 5243 2010.12.15
미디어스캐닝 속도를 높이자 12 한바리 2 9988 2010.12.15
기본 갤러리 삭제하고 gallery 3D 받으세요~ 24 촌놈탈출 1 4837 2010.12.15
[12/16 수정 ]I/O Scheduler를 통한 I/O 성능 향상 패치를 제작하여 올... 149 file 이카루스 30 10146 2010.12.14
마켓 오류 해결법? xlhj830704 2822 2010.12.14
오호! 이런 기능이 ㅎㅎㅎ 5 hoon1041 2685 2010.12.14
자양님이 쓰신 IO 스케쥴러에 대한 레알 보충자료(수정) 25 file dEcaDENt 3 3414 2010.12.14
아이나비 맵파일 꼭 백업해두세요. 7 카니엘 1 7534 2010.12.13
(수정) 파일들 덮어씌우다가 무한 부팅시 팁이라고 볼수 있을까 모르겠... 12 file 보민파파 3 2900 2010.12.13
갤럭시 s의 IO 스케쥴러 변경을 통한 IO 딜레이 단축 13 자양 4 6800 2010.12.13
z4root의 루팅 메커니즘 11 자양 1 5507 2010.12.13
[초보]오류에 의한 벽돌에 대한 팁 아닌 팁요.. 4 neO 4 3074 2010.12.13
factoryfs.rfs만으로 펌파일 만들기... 19 file 선아서방 5 5743 2010.12.12
zip align tool 사용법~ 4 file sungha 1 4385 2010.12.12
갤스 아이나비 검색 팁입니다... 1 file 한심한놈 1998 2010.12.12
NILFS2 사용자를 위한 GC 이야기(아주 조금 수정) 9 dEcaDENt 10 4255 2010.12.12
초보회원님들은 꼭 한 번씩 봐주시기 바랍니다!! 21 닉넴이뭐 9 2137 2010.12.11
T-CASH 어플 사용하시는 분들께. 5 가루약 1983 2010.12.11
간단하지만 튼튼한 거치대 만들기 3 file 쌍칼 2019 2010.12.10
모비낸드에 대한 고찰 3 file icanfeel 2866 2010.12.10
[DVR 테마] 새로나온 갤럭시S 옷진열장 테마로 꾸미는 방법입니다! 초콜렛왕 1 7136 2010.12.09
광속팁에서 쓸만한 팁 몇가지만 적용... 도시남자 1864 2010.12.09
★모비낸드None에 대한 팁입니다★ 19 혀늬다 3254 2010.12.09
올레~~~~~규규규규규규님 글씨체 찾았습니다! 8 file 현구돠 3985 2010.12.09
[팁]모비낸드버전이None으로나오는분들.. 3 혀늬다 1 2340 2010.12.09
루팅과 테마질문.. 2 정병묵 2138 2010.12.09
테그라크 빌드9 준비하시는 분들을 위한 팁 25 샤인님 3301 2010.12.09
[초보자용] apk 파일 수정하기!!! 11 file 망고멍땡 1 8391 2010.12.09
규*6 님 진저브레드 배터리 사용하시는분들 필독! 6 푸우♡ 1 2669 2010.12.09
[갤스] 주의!! 외장패치시 옮길 폴더 5 file choique 1 3415 2010.12.08
1 - 128 - 135