응원은 어떻게 작동합니까?


23

또는 루터없이 장치를 루팅하는 방법은 무엇입니까?

내가 본 Android 기기의 응원 지침은 일반적으로 다음과 같은 형식입니다.

  1. 다운로드 Gingerbreak.apk
  2. Gingerbreak를 실행하고 "루트 장치"를 클릭하십시오
  3. Superuser.apk마법 busybox과 같은 것들과 다른 것들을 함께 관찰하고 당신의 근본 선을 즐기십시오.

내가 알고 싶은 것은 이것입니다 : 응원은 실제로 어떻게됩니까? Gingerbreak는 무엇을합니까?

응원의 최종 결과를 이해합니다.

  • su 존재하고 일하고있다
  • Superuser.apk 설치되어 액세스를 제어합니다 su
  • BusyBox에서 제공하는 다양한 유틸리티가 있습니다 (선택 사항?).

또한 Gingerbreak가 시작되는 방법에 대한 기본 아이디어를 이해합니다. 로컬 권한 상승 취약점을 악용하고 새로운 기능을 사용하여 수퍼 유저 및 기타 필요한 사항을 배포합니다.

따라서 위에서 설명한 내용 중 내가 잘못 이해하지 않는 한 루트 설치 프로그램이 수퍼 유저를 배포하고 활성화하기 위해 알아야 할 핵심 사항입니다. Superuser.apk올바른 장소에 두는 것만 으로는 충분하지 않은 것 같습니다. 어떻게 루트 액세스가 허용됩니까? 다른 응용 프로그램에 대한 액세스를 조정하기 위해 어떻게 연결됩니까?

Gingerbreak는 루트 액세스를 활성화하고 보호하기 위해 공격 후 무엇을 수행합니까?


답변:


16

APK 및 익스플로잇의 기능은 다음과 같습니다 (보통).

  • APK는 익스플로잇을 실행하기 위해 올바른 파일을 올바른 위치에 저장합니다
  • APK는 악용을 실행합니다
  • 이 악용 시도는 루트 액세스를 시도합니다
  • 성공하면 익스플로잇은 / system을 읽기 / 쓰기로 다시 마운트하고 설치 관리자 스크립트를 실행합니다.
  • 설치 관리자 스크립트가 su 바이너리 및 수퍼 유저 APK를 설치하려고 시도하고 재부팅합니다.

예를 들어, 이 페이지 는 공격자가 악용 시도가 높은 권한을 얻는 방법을 자세히 설명합니다.


2
감사. 나는 이것이 실제 질문을 더 좁힌다고 생각 합니다. 설치 스크립트는 정확히 무엇을 합니까? 또는 읽을 사본을 어디서 찾을 수 있습니까? 내가 볼 수있는 대부분의 문서는 임의의 파일 공유 사이트에 대한 링크와 함께“이 APK 다운로드, 작동합니다”라는 매우 불투명합니다.
Michael Ekstrand

su는 Unix와 같은 환경 (Android의 기반)에서 권한 상승을 허용합니다. su 바이너리가 설치되면 앱 / 스크립트는 su 및 sudo 명령을 사용하여 보통 일반 사용자로 제한되는 파일 시스템의 일부를 실행하고 액세스 할 수 있습니다. 본질적으로, 이것이 전화의 근원이되는 이유입니다. 시스템의 "제한된"부분에 액세스 할 수 있고 일반 사용자가 수행 할 수없는 명령을 수행 할 수 있습니다.
Sparx

9

많이 파고 난 후에 마침내 알아 냈습니다. 나는 마술이 어디에 있는지에 대해 틀렸다-그것은 설치 스크립트에 없다; 해야 할 일은 suSuperuser.apk바이너리를 올바른 위치에 놓고 권한을 설정하는 것입니다. 따라서 파일을 제자리에 놓고 권한을 설정하는 것만 큼 간단합니다. 마법의 배선이 없습니다.

마술은 su바이너리 에서 발생합니다 ( 소스이 질문 참조 ). 나는 (올바르게) 그것이 su표준 이라고 생각하고 있었고, su어떤 방식 으로든 그 바이너리에 대한 접근을 중간 수준으로 끌어 올렸다고 생각했다 Superuser.apk.

잘못된. 실제로 발생하는 일은 훨씬 간단합니다. 수퍼 유저는 su수퍼 유저 및 승인 된 응용 프로그램 데이터베이스를 통해 액세스를 인증 하는 사용자 지정 구현을 제공 합니다.

따라서 루팅 과정은 @Sparx가 말한 것처럼 간단합니다. 배포 된 소프트웨어에는 마법이 포함되어 있습니다.


나는 이것이 하나의 중요한 것을 놓친다고 생각한다. su그것은 그 자체가 전혀 마술이 아니며, 그것에 대한 유일한 마술은 OS가 그것을 특별하게 취급한다는 것입니다. 특정 응용 프로그램이 권한을 상승시킬 수 있는지 여부를 OS가 물었을 때 "OK"또는 "Not OK"를 반환하기 만하면됩니다. 누락되었거나 항상 "Not OK"를 반환하면 일반 앱은 절대 루트가 될 수 없습니다. 따라서 루팅은 기본적으로 su때때로 "OK"를 반환 할 수 있는 이진 파일을 시스템의 보호 된 위치에 저장하는 과정입니다.
RomanSt

4
all that has to do is put the su and Superuser.apk binaries in the right place and set their permissions익스플로잇없이 쉽게 할 수있는 것처럼 익스플로잇은 마술입니다.
Alex

1
@Alex 아닙니다. 나는 특히 응원자가 착취 후 무엇을하는지 알아 내려고 노력했습니다 . 이 경우 ADB를 통한 루트 액세스 권한이 있었기 때문에 불필요하게 익스플로잇을 실행하고 싶지 않았습니다.
Michael Ekstrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.