본문으로 바로가기

안드로이드·갤럭시·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 실습)

 

[AOS 취약점 진단] 06강 - 로컬저장소 내 평문 저장된 중요정보 확인(SharedPreferences 실습)

안드로이드·갤럭시·AOS 취약점진단/모의해킹 무료 강의 학식(hagsig) 가. 취약점 정의 - 안드로이드 앱은 로컬 스토리지에 파일을 저장할 수 있다. - 환경설정 정보, 외부 API 연동 및 인증을 위한

hagsig.tistory.com

 

나. 대응 방법

- 로컬 저장소에 저장되는 파일에 other 권한이 존재하지 않도록 설정한다.

- "MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE" 모드를 사용하여 설정 파일을 생성하지 않도록 한다.

 

다. 취약점 진단 실습

1. 분석 대상 앱 설치

- 실습을 위해 DIVA 애플리케이션을 설치한다.

※ DIVA 앱이 설치되어있지 않은 사람은 아래의 글을 참고하여 앱을 설치하길 바란다.

[AOS App 취약점 진단 · 모의해킹] - 안드로이드 DIVA 설치 및 실행방법 정리

 

안드로이드 DIVA 설치 및 실행방법 정리

1. 안드로이드 DIVA 란? - 안드로이드(Android, AOS)에서 사용하는 애플리케이션(Application, App)에 대해 취약점 진단을 실습할 수 있는 환경을 제공한다. - 2016년 이후 업데이트가 중단되었다. 2. 실습할

hagsig.tistory.com

 
 

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 다운로드, 디바이스 연결 및 파일 송수신 명령어 정리

 

adb 다운로드, 디바이스 연결 및 파일 송수신 명령어 정리

가. Android Debug Bridge(adb) 정의 - adb(안드로이드 디버그 브릿지)는 기기와 통신할 수 있도록 지원하는 다목적 명령줄 도구이다. - 디바이스에서 다양한 명령어를 실행하는 데 사용할 수 있는 Unix Shel

hagsig.tistory.com

 

- 애플리케이션 *내부 저장소 설치 디렉터리로 이동한다. 루트권한이 없을 시 접근할 수 없으니 주의하자.

*내부 저장소 설치 디렉토리 경로 : /data/data/[package_name]

cd /data/data/jakhar.aseem.diva #패키지 이름은 앱 이름과 비슷하므로 유추가 가능함

 

- *ls -alR 명령어를 입력하여 애플리케이션 디렉토리내에 존재하는 파일 중 Other에 읽기/쓰기 권한이 존재하는지 확인한다.

*ls -alR : 하위 디렉토리 경로에 있는 모든 파일 및 폴더를 리스트 형태로 출력한다.

※ 디렉토리가 아닌 파일의 권한만 체크하여야 한다.