본문 바로가기

Mobile

[Mobile] 안드로이드 루팅(Rooting) 방법 | Os's Security Notes

반응형

Introduction

모바일 모의해킹을 진행하기 위해서는 안드로이드 애플리케이션을 분석하거나 보안 테스트를 진행해야 하기 때문에 루팅된 환경이 필요하다.

 

루팅을 통해 시스템 권한을 획득하면 일반적인 사용자 환경에서는 접근할 수 없는 파일 시스템, 프로세스, 보안 기능 등을 분석할 수 있기 때문이다. 또한 Frida, Magisk 같은 다양한 동적 분석 도구들도 루팅 환경에서 더 자유롭게 활용할 수 있다.

 

이번 글에서는 안드로이드 기기를 루팅하는 방법과 함께 루팅 환경을 구성하는 과정에서 필요한 기본 개념들을 정리해보려고 한다.

 

* 본 글에서는 실습 환경 기준으로 설명하며, 기기 모델에 따라 과정이 달라질 수 있음

* 단말기 정보: Galaxy S8+ / SM-G955N / 안드로이드 버전: 9


Preparation

펌웨어 다운로드

1) 단말기의 '설정 > 휴대전화 정보' 메뉴에 접근하여 갤럭시 기종과 모델번호를 확인한다.

Galaxy S8+ / SM-G955N

 

 

2) 이후 아래 링크로 접근하여 위에서 확인했던 기종 또는 모델 번호를 이용하여 검색한다.

 

Samsung Firmware Download - Lastest official firmware update

Samsung Firmware Download ⭐ Official and fast update ⭐ Lastest and old version ⭐ Max speed and free download ⭐ Best Samsung Galaxy website

samfw.com

 

 

3) 해당 단말기의 통신사의 맞게 선택해준다 왼쪽부터 KT > LG > SKT 순이다. 필자가 가지고 있는 단말기는 SKT이기 때문에 SKC를 선택해 줬다.

 

 

4) 그리고 가장 최신에 나온 파일을 다운로드 받아준다.

 

 

Odin 다운로드

1) 아래 링크로 접근하여 Odin 파일도 다운로드 받아준다.

 

Archives - Odin Downloader Tool

Samsung officially develops the Odin Flash Tool to help their device owner Upgrade, Downgrade or re-install their Mobile OS through their Computer.

odindownloader.com


Bootloader Unlock

부트로더 언락이란 안드로이드 기기 부팅 시 보안 검사를 비활성화하여 루팅, 커스텀 롬, 시스템 파일 수정 등 사용자 지정 권한을 얻을 수 있다. 루팅을 진행하기 위해서 필수 조건이다.

 

1) 단말기에서 와이파이를 연결한 후 '설정 > 소프트웨어 업데이트 > 다운로드 및 설치' 메뉴에 접근하여 단말기의 펌웨어를 최신 버전으로 업데이트를 진행한다.

 

 

2) 이후 '설정 > 휴대전화 정보 > 소프트웨어 정보' 메뉴에 접근하여 빌드 번호를 7번 클릭하여 개발자 모드를 활성화시켜 준다.

* 아래 사진에서는 이미 활성화가 되어 있는 상태여서 개발자 옵션이 보인다.

 

 

3) 활성화가 되었다면 '설정 > 개발자 옵션 > OEM 잠금 해제'를 활성화시켜 준다 그리고 USB 디버깅 모드도 활성화시켜 준다.

 

 

4) 이후 다운로드 모드로 진입하기 위해 단말기의 전원을 끈 후 볼륨 하(↓) + 빅스비 + 전원 버튼을  동시에 길게 눌러주며, 화면에 경고 문구(Warning)가 나오면 손을 떼고, 볼륨 상(↑) 버튼을 눌러 진입을 확정한다. 이후 바로 PC와 단말기를 USB 케이블로 연결해 준다. 이후 볼륨 상(↑) 버튼을 길게 눌러 Unlock을 확정해 준다.

 

* 단말기마다 접근 방법이 다를 수 있음 


Rooting Process

1) 위에서 다운로드 받았던 펌웨어의 압축을 풀고 폴더를 확인해 보면 여러 개의 파일이 존재하는 것을 볼 수 있다. 이 중 AP로 시작하는 파일을 adb push 명령어를 이용해 단말기에 넣어준다.

adb push .\AP_G955NKSU5DVG2_CL21340847_QB54385113_REV00_user_low_ship_meta_OS9.tar.md5 /sdcard/

 

 

2) 단말기에서 아래 링크에서 Magisk 파일을 다운로드 받아준다. 또는 PC에서 다운받아 adb 명령어로 단말기 안으로 넣어주는 방법도 있다.

 

Releases · topjohnwu/Magisk

The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.

github.com

 

 

 

3) 다운로드 받은 Magisk 파일을 설치해 준다.

 

 

4) 그러면 아래와 같이 설치가 된 것을 볼 수 있다.

 

 

5) 이후 Magisk에 접근하여 설치를 진행해 준다. 파일 선택 및 패치에서는 Step1에서 PC에서 단말기로 넣어준 AP로 시작하는 파일을 선택해 준다.

 

 

6) 설치가 완료되면 /storage/emulated/0/Download/ 에 magisk_patched-30700_tXfTq.tar 파일이 생긴 것을 볼 수 있다.

 

 

7) 해당 파일을 다시 PC로 옮겨준다.

adb pull /storage/emulated/0/Download/magisk_patched-30700_tXfTq.tar .

 

 

8) 단말기를 다시 다운로드 모드로 진입해 준다. (볼륨 하(↓) + 빅스비 + 전원 버튼을  동시에 길게 누르기) 그러면 화면에 '다운로드 중...'이라는 화면이 출력될 것이다.

 

 

9) PC에서 아까 설치한 Odin 파일을 압축을 풀어 준 후 안에 존재하는 exe 파일을 실행시켜 준다.

* 주의: 만약  단말기 내 삼성(구글) 계정 로그인이 되어 있다면 삭제해야 한다.

 

 

10) PC와 단말기가 연결된 USB 케이블을 다시 연결해 준다. Options에서 'Auto Reboot'를 해제한 후 AP 파일을 넣어주고 Start 버튼을 클릭해 준다.

* AP의 경우 단말기에서 PC로 옮겨온 magisk_patched-30700_tXfTq.tar을 넣어줘야 한다.

 

 

11) 볼륨 하(↓) + 빅스비 버튼을 클릭하여 취소시켜주고 휴대폰을 재시작해준다.

 

 

12) magisk 다시 설치 후 실행해 주면 추가 설정이 필요하다며 다시 시작해 준다.

 

 

13) 루팅이 정상적으로 된 것을 확인할 수 있다.

 

 


Trouble shooting

만약 무한 로딩이 발생한다면  볼륨 상(↑) + 빅스비 + 전원 버튼을 계속 눌러주고 갤럭시 로고 보이면 손을 떼어 리커버리 모드로 진입한다. 이후 'Factory data reset’ 선택 > reboot 선택하여 reboot을 진행해 준다.

반응형