안드로이드·갤럭시·AOS 취약점진단/모의해킹 무료 강의 학식(hagsig)
가. 취약점 정의
※ Android 4.2(API Level 17)부터 더 이상 사용되지 않아, android:targetSdkVersion 값이 17보다 작은 애플리케이션만 영향을 받는다.
- "MODE_WORLD_READABLE" 및 "MODE_WORLD_WRITEABLE" 모드를 사용하여 설정파일을 생성할 경우 모든 애플리케이션이 파일에 접근 및 수정이 가능하다.
- 앱 내부에 저장되는 파일(xml, db 등)은 소유자만 접근 및 수정할 수 있도록 *제한하여야 한다.
*제한 예시 : -rw-rw-rw- 으로 설정되어 있을 경우 권한을 –rw-rw---- 으로 변경.
- 아래의 글을 참고하여 애플리케이션의 설정파일이 존재하는 경로를 확인한다.
[AOS 취약점 진단] 06강 - 로컬저장소 내 평문 저장된 중요정보 확인(SharedPreferences 실습)
나. 대응 방법
- 로컬 저장소에 저장되는 파일에 other 권한이 존재하지 않도록 설정한다.
- "MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE" 모드를 사용하여 설정 파일을 생성하지 않도록 한다.
다. 취약점 진단 실습
1. 분석 대상 앱 설치
- 실습을 위해 DIVA 애플리케이션을 설치한다.
※ DIVA 앱이 설치되어있지 않은 사람은 아래의 글을 참고하여 앱을 설치하길 바란다.
[AOS App 취약점 진단 · 모의해킹] - 안드로이드 DIVA 설치 및 실행방법 정리
2. 파일 권한 확인
- ADB를 이용하여 디바이스에 접근한다.
※ NOX 에뮬레이터의 경우 adb connect 127.0.0.1:62001 명령어를 입력하여 연결할 수 있다.
adb connect 127.0.0.1:62001 #NOX일경우 해당 명령어를 통해 연결 가능
adb devices #디바이스 리스트 및 연결가능 여부가 출력됨
adb shell #디바이스에 연결
※ adb에 대한 자세한 사용방법은 아래의 게시글을 참고하자.
[AOS App 취약점 진단 · 모의해킹] - adb 다운로드, 디바이스 연결 및 파일 송수신 명령어 정리
- 애플리케이션 *내부 저장소 설치 디렉터리로 이동한다. 루트권한이 없을 시 접근할 수 없으니 주의하자.
*내부 저장소 설치 디렉토리 경로 : /data/data/[package_name]
cd /data/data/jakhar.aseem.diva #패키지 이름은 앱 이름과 비슷하므로 유추가 가능함
- *ls -alR 명령어를 입력하여 애플리케이션 디렉토리내에 존재하는 파일 중 Other에 읽기/쓰기 권한이 존재하는지 확인한다.
*ls -alR : 하위 디렉토리 경로에 있는 모든 파일 및 폴더를 리스트 형태로 출력한다.
※ 디렉토리가 아닌 파일의 권한만 체크하여야 한다.
'Mobile App 취약점 진단 · 모의해킹 > AOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
[AOS 취약점 진단] 08강 - 디바이스 로그 내 저장된 중요정보 확인(실습 2) (0) | 2023.12.03 |
---|---|
[AOS 취약점 진단] 08강 - 디바이스 로그 내 저장된 중요정보 확인(실습 1) (0) | 2023.12.03 |
adb 다운로드, 디바이스 연결 및 파일 송수신 명령어 정리 (0) | 2023.12.03 |
[AOS 취약점 진단] 06강 - 로컬저장소 내 평문 저장된 중요정보 확인(External Storage 실습) (0) | 2023.12.02 |
[AOS 취약점 진단] 06강 - 로컬저장소 내 평문 저장된 중요정보 확인(Text File 실습) (0) | 2023.12.02 |