[안드로이드 모의해킹] Android Hooking 환경 구성
▼▼▼▼▼
기본적인 안드로이드 후킹 환경 구성하기
Android Hooking 에 필요한 최소 진단 도구
- Python 2 / Python 3
- Jadx-gui
- Platform-tools(adb)
- Nox Player
- 대상 APK 파일
- Frida
- Frida-server
1. 파이썬 설치
Python 2버전과 3버전 모두 필요하다.
https://www.python.org/downloads/
2.7.18 버전과 3.9.12 버전을 사용했다.
처음 설치한다면 같은 경로에 설치만 해주면 된다.
만약 기존에 파이썬을 설치했었다면 남은 버전만 설치하는데, 이 때도 기존의 파이썬 경로와 같은 경로에 지정해준다.
cmd를 열어 경로를 확인한다.
python
>>>import sys
>>>sys.executable
설치 후
시스템 환경 변수 편집 ⇨ 환경 변수 ⇨ 시스템 변수 ⇨ PATH 에 설치된 경로를 넣어준다.
ex)
C:\Users\USER\AppData\Local\Programs\Python\Python27
C:\Users\USER\AppData\Local\Programs\Python\Python27\Scripts
설정 확인
//Python 2v
python --version
//Python 3v
py --version
2. jadx-gui 프로그램 설치
jadx-gui는 안드로이드 APK 분석 디컴파일러로 APK 파일의 소스 코드와 리소스를 GUI 형태로 볼 수 있다.
Release 1.4.7 · skylot/jadx · GitHub
jadx-gui-1.4.7-with-jre-win.zip 파일을 다운로드
압축 해제 후 프로그램 실행이 가능하다.
3. platform-tools(adb) 설치
https://developer.android.com/studio/releases/platform-tools?hl=ko
본인 운영체제에 맞는 파일을 선택하고
시스템 환경 변수 편집 ⇨ 환경 변수 ⇨ 시스템 변수 ⇨ PATH 에 설치 경로를 넣어준다.
C:\platform-tools
adb 명령어로 정상 설치가 되었는지 확인한다.
4. Nox Player
공식 홈페이지에서 64bit 버전을 다운로드 받는다.
(현재 7.0.5.8 버전 기준)
설치 후 개발자 모드를 활성화해야 한다.
tools ⇨ 설정 ⇨ 시스템 ⇨ 태블릿 정보 ⇨ 빌드 번호 연타
시스템 ⇨ 개발자 옵션 이 생긴 것을 확인할 수 있다.
개발자 옵션에서 USB 디버깅을 활성화한다.
녹스의 시스템 설정에서 일반 ⇨ ROOT 켜기 저장 후 재부팅한다.
위 작업을 통해 루팅된 단말기처럼 사용이 가능해진다.
5. 대상 APK 파일
Uncrackable 은 OWASP에서 제공하는 안드로이드 보안 테스트용 앱이다.
https://github.com/OWASP/owasp-mastg/tree/master/Crackmes/Android/Level_01
더블 클릭이나 Nox에 드래그 앤 드롭으로 앱을 설치할 수 있다.
6. frida 설치
pip3 install frida-tools
frida --version
frida는 파이썬 3버전으로 사용하기 때문에 pip3을 이용해 설치한다.
(설치 후 나오는 notice의 run: 초록색 글씨가 있다면 명령어 그대로 설치해주면 된다.)
7. frida-server 설치
Releases · frida/frida (github.com)
frida-server-16.1.3-android-x86_64 다운로드 후 압축을 푼다.