cgy12306
[Mobile App] 어플리케이션 취약점 진단 세팅 본문
Nox
- Nox player 설치
- https://github.com/OWASP/owasp-mstg 에서 파일들 다운로드
어플리케이션 취약점을 진단하기 위해 녹스 플레이어에서 ROOT를 켜줍니다.
설정저장 후 재부팅 해줍니다.
dex2jar, jd-gui
안드로이드에서 사용하는 apk 파일은 파일들을 모아놓은 압축(패키지) 파일입니다.
apk 파일을 zip 뷰어로 확인해보면 다양한 파일들을 볼 수 있습니다.
- META-INF : 암호화 서명 등의 설정 정보가 포함되어 있는 디렉토리입니다.
- res : 어플리케이션 측에서 레이아웃, 이미지 등을 사용하기 위해 저장되는 디렉토리입니다.
- AndroidManifest.xml : 안드로이드 빌드 도구, 안드로이드 운영체제 및 앱에 관한 필수 정보를 담고있는 파일입니다.
- classes.dex : 안드로이드 가상 머신인 Dalvik이 인식할 수 있도록 Java로 짜여진 코드가 컴파일 되어 바이트 코드로 변환 된 파일입니다. 디컴파일을 하기 위해 이 파일을 봐야합니다.
- resources.arsc : 컴파일 된 리소스 파일입니다.
class.dex 파일을 디컴파일을 하기 위해 dex2jar를 설치합니다.
dex2jar 다운로드 경로 : https://github.com/pxb1988/dex2jar
해당 경로에서 cmd실행 후 gradlew.bat을 실행시킵니다.
JAVA_HOME이 설치가 되어 있지 않다고 하니 jdk를 설치합니다.
java 다운로드 경로 : https://www.oracle.com/kr/java/technologies/javase/javase8-archive-downloads.html
설정이 완료되면 cmd 재실행 후 gradlew.bat을 실행합니다.
빌드가 마치면 BUILD SUCCESSFUL이 뜨게 됩니다.
dex2jar-2.x\dex-tools\build\distributions 경로로 들어가 dex-tools-2.2-SNAPSHOT.zip 파일을 압축 해제합니다.
해제가 완료되면 우리가 사용할 도구들이 뜹니다.
해당 디렉토리에 classes.dex 파일을 옮겨서 디컴파일을 해줍니다.
classes-dex2jar.jar 파일이 생성된것을 확인할 수 있습니다.
jar 파일을 읽기 위해 jd-gui를 설치합니다.
jd-gui 다운로드 경로 : http://java-decompiler.github.io/
성공적으로 jar 파일을 볼 수 있습니다.
Frida
어플리케이션을 후킹하기 위해서 frida를 설치합니다.
우선 adb를 사용하기 위해 nox/bin를 환경변수에 설정해줍니다.
frida 다운로드 경로 : https://github.com/frida/frida/releases
안드로이드 에뮬레이터 아키텍쳐를 알기 위해 다음과 같이 입력 합니다.
frida-server-15.1.17-android-x86.xz 파일을 다운로드 합니다.
압축을 풀어준뒤 다음과 같이 입력해줍니다
adb push [파일 경로] [에뮬레이터 파일 경로]
push를 통해 에뮬레이터에 파일을 넣어줬으면 권한을 변경해줍니다.
이제 에뮬레이터에서 frida-server를 실행해줍니다.
frida-server가 정상적으로 작동하는 것을 확인하기 위해서 frida-tools를 설치합니다.
pip install frida-tools
frida-ps -U를 이용해 현재 실행되고 있는 프로세스를 확인해보면 정상적으로 frida-server가 실행되고 있는 것을 볼 수 있습니다.
frida-ps -U
https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko
https://mingzz1.github.io/pentesting/android/2020/09/09/frida_install_for_android.html/
'Mobile' 카테고리의 다른 글
[Android] split(분할된) APK 합치기 (0) | 2023.07.05 |
---|---|
[Mobile] Windows Apktool 설치 (0) | 2022.12.21 |
[Android] OS 변조 탐지 기능 적용 여부 (0) | 2022.04.17 |