cgy12306

[Mobile App] 어플리케이션 취약점 진단 세팅 본문

Mobile

[Mobile App] 어플리케이션 취약점 진단 세팅

cgy12306 2022. 3. 29. 14:23

Nox

  1. Nox player 설치
  2. 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://200301.tistory.com/32

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
Comments