개요
•
adb shell을 사용하여 앱 정보가 저장된 폴더에 접근, 개인정보를 포함하는 파일을 선별 및 추출하여 추가정보 탈취
•
사용 APP : 피키캐스트
0) 테스트용 계정 회원가입
1) 정보가 취약하게 취급되고 있는지 확인
•
APP의 계정 관련 정보를 포함한 APP 관련 정보는 data/data/[패키지 명] 안에 저장되기 때문에 해당 폴더 안으로 들어가서 내 정보를 가지고 있는 파일이 있는지 검색해야한다
ADB 진입 후 해당 폴더 이동
adb shell
cd data/data/sixclk.newpiki
Shell
복사
내 정보 (이메일)을 가지고 있는 파일이 있는지 검색
-r : 모든 파일이 검색 대상
. : 현재 디렉토리에서 검색
•
email 도메인인 naver를 기준으로 검색
grep -r naver .
Shell
복사
•
시간이 너무 오래걸릴경우 하위 디렉토리로 이동하여 검색
cd shared_prefs
grep -r naver .
Shell
복사
SETTING.xml
sixclk.mewpiki.service.UserService.xml
"naver" 문자열을 포함하는 두 파일을 확인 해당 파일들을 pull 명령으로 로컬로 추출한다
로그인 정보에 포함된다면 꼭 naver으로 검색할 이유는 없음
•
pull 명령으로 로컬로 파일 이동
adb 명령어는 윈도우에 있기 때문에 exit로 나가서 adb shell(리눅스)이 아닌
cmd에서 입력해야한다
•
adb pull 명령어 사용
adb pull [복사할 파일(안드로이드 절대경로)] [저장할 경로(로컬)]
adb pull data/data/sixclk.newpiki/shared_prefs/SETTING.xml C:\\Users\\Downloads
adb pull data/data/sixclk.newpiki/shared_prefs/sixclk.newpiki.service.UserService.xml C:\\Users\\Downloads
Shell
복사
•
로컬에서 메모장으로 해당 파일 확인 (메모장에 드래그인 드랍)
hash라는 name 태그를 가진 데이터가 저장되어 있는 것을 볼 수 있다
해당 hash 방법인 MD5 형식으로 디코드를 해보면
테스트로 가입한 비밀번호인 test123을 확인할 수 있다
hash 방법이 MD5인 건 어떻게 알죠?
•
추측해야한다
해시값 자체만으로는 어떤 알고리즘인지 확정하기 어렵다, 다만 각 알고리즘 마다 해시 값의 길이와 형태가 다르기 때문에 그것을 보고 추측한다
MD5
•
32자의 16진수 문자열로 표현
•
일반적으로 128비트(16바이트)
SHA-256
•
64자의 16진수 문자열로 표현
•
일반적으로 256비트(32바이트)