본문 바로가기
안드로이드 해킹

안드로이드 내부/외부 저장소

by L3m0n S0ju 2021. 7. 24.

이번 글에서는 녹스 내부/외부 저장소에 대해서 알아보겠습니다. 안드로이드는 리눅스 커널을 사용하므로 리눅스와 명령어도 거의 동일하고 유사합니다. 따라서 PC에서 리눅스를 사용하듯이 안드로이드도 쉘을 이용해 쉽게 조작할 수 있습니다. 안드로이드 데이터 저장 방식은 다음과 같습니다. 안드로이드에 설치된 모든 응용 프로그램은 설치 시에 자신의 고유한 사용자 ID를 할당받아 해당 ID를 사용하게 되고 일반 사용자 권한으로 실행됩니다. 따라서 모든 응용 프로그램은 샌드박스 형식으로 서로에 대해 접근할 권한이 없습니다. 요약하면 응용 프로그램들은 각자 허용된 구역에서만 동작합니다. 아래의 쉘 화면을 보면 nox의 /data/data 디렉토리에 접근하면 각각 고유한 사용자 ID와 같이 응용 프로그램들이 각자의 폴더에 위치하는 것을 확인할 수 있습니다. 이러한 구역들은 내부 저장소로 불리고 중요한 정보들을 가지고 있습니다.

 

 

 


다음으로 내부 저장소에서 insecurebankv2라는 앱의 데이터베이스를 불러오겠습니다. 위 명령어를 통해 데이터베이스를 내 PC 바탕화면으로 가져옵니다.

 

DB Browser for SQLite 도구를 이용해 db파일을 불러오면 데이터베이스 정보들을 열람할 수 있습니다.

 

 


아래는 외부 저장소 /mnt/sdcard 디렉토리입니다. 외부 저장소에는 사진, 다룬로드 파일, 동영상, 공인인증서 등이 저장이 됩니다. 아래 쉘을 보면 root와 sdcard_r에 모든 권한이 부여된 것을 볼 수 있습니다. 따라서 내부 저장소와 달리 모든 폴더에 접근하여 원하는 작업을 할 수 있습니다.

 


만약 전원이 켜진 후 로그를 열람하고 싶다면 logcat 명령어를 입력하면 전체 로그가 출력된다. 양이 매우 많지만 로그를 잘보면 중요한 정보들이 평문으로 출력되는 경우가 많다. 추가로 기기 상태 정보를 보기 위해서는 dumpsys, dumpstate(가장 상세히 나옴) 명령어 사용

 

 


설치한 앱들을 열람하려면 nox_adb shell pm list packages -3 을 입력하면 사용자가 설치한 앱 정보가 출력된다. -3을 빼면 설치되어 있는 모든 앱 정보가 출력된다.

 

'안드로이드 해킹' 카테고리의 다른 글

diva.apk 취약점 분석 (3)  (0) 2021.07.24
diva.apk 취약점 분석 (1)~(2)  (0) 2021.07.24
APK 파일 디컴파일하기  (0) 2021.07.24
미래 IoT시대 보안  (0) 2021.07.24

댓글