본문 바로가기

Android

(8)
[Android] 화면 강제실행에 의한 인증단계 우회 1. Manifest 확인더보기apktool 또는 jadx 와 같은 디컴파일 도구를 이용해 Manifest 파일을 확인합니다. 2. Activity 확인# 검색 문자열exported="true"# 결과Activity_1name : com.android.insecurebankv2.PostLoginActivity_2name : com.android.insecurebankv2.DoTransferActivity_3com.android.insecurebankv2.ViewStatementActivity_4com.android.insecurebankv2.ChangePassword외부에서 접근 가능한 Activity 가 존재하는지 확인하고 해당 Activity의 이름을 기록합니다. 3. Activity 직접 접근# 패..
[Android] 메모리 내 중요정보 노출(with. Manifest 패치) 보호되어 있는 글입니다.
[Android] 프로그램 무결성 검증 0. apktool 설치https://apktool.org/docs/install스크립트 파일 > 우클릭 > 다른 이름으로 링크 저장 > apktool.bat 으로 저장 C 드라이브 하위에 위와 같이 세팅합니다.참고로 리패지킹 할 때, 경로에 한글 혹은 공백이 있으면 에러가 발생하는 경우가 있습니다.그래서 저는 C 드라이브 바로 아래 apktool 폴더를 만들어서 작업했습니다. 더보기jar 를 실행하고 후에 keytool을 사용하기 위해서 jdk 설치가 되어 있어야 함1. apk 앱 추출 [Android] 소스코드 난독화 적용 여부0. jadx 설치https://github.com/skylot/jadx1. apk 추출 앱 사용1.1. apk 추출 앱 다운로드플레이스토어에서 apk 추출 관련 앱을 다운 받..
[Android] 앱 소스코드 내 운영정보 노출 0. 선수학습 [Android] 소스코드 난독화 적용 여부0. jadx 설치https://github.com/skylot/jadx1. apk 추출 앱 사용1.1. apk 추출 앱 다운로드플레이스토어에서 apk 추출 관련 앱을 다운 받습니다. 1.2. 진단 대상 앱의 apk 추출apk 추출 앱을 이용해먼저 apk 파일이velvetviolet1024.tistory.com1. 중요정보 정규식주민등록번호 : \b\d{6}-\d{7}\b전화번호 : \b(0\d{1,2})-(\d{3,4})-(\d{4})\bIP 주소 : \b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b카드번호 : \b(\d{4}[- ]?){3..
[Android] 소스코드 난독화 적용 여부 0. jadx 설치https://github.com/skylot/jadx1. apk 추출 앱 사용1.1. apk 추출 앱 다운로드플레이스토어에서 apk 추출 관련 앱을 다운 받습니다. 1.2. 진단 대상 앱의 apk 추출apk 추출 앱을 이용해먼저 apk 파일이 추출될 폴더(apktmp)를 만들고진단대상 앱의 apk를 추출합니다.1.3. apk 파일 > PC로 이동adb를 이용해 apk가 추출된 경로로 이동 시, 진단 대상 앱의 apk 파일을 확인할 수 있습니다. adb pull 명령을 통해 추출된 apk 파일을 PC로 이동합니다. apk 파일이 이동된 모습을 확인할 수 있습니다. 1.4. 소스코드 분석jadx 도구를 이용해 apk 파일을 오픈합니다.소스코드가 난독화 되어 있지 않고 평문으로 출력되는 모..
[Android] 단말기 내 중요정보 저장 여부 1. 분석 포인트1.1. 앱 패키지 내부/data/data/[앱 패키지 명] # 하위 모든 파일 검토# 보통 아래와 같은 경로를 많이 검토한다.# shared_prefs : xml 파일들로 앱의 환경설정 정보 및 인증 정보 저장 (ex : 토큰 정보)# cache : 임시 데이터 (ex : json 응답 결과)# database : 사용자 데이터 (ex : 채팅 기록) 1.1.1. shared_prefstar -cvf [앱 이름].tar [압축대상]# tar -cvf diva.tar shared_prefsmv diva.tar /sdcard# PC로 파일을 이동할 때 sdcard에 있어야 권한 등의 문제가 없어 편리함adb pull [PC로 가져올 파일의 위치]# adb pull /sdcard/diva.t..
[Android] 앱 트래픽 Proxy(Brup) 연결하기 1. 시스템 인증서 삽입Android 7.0 이상 부터는 앱이 사용자 인증서를 신뢰하지 않는다고 합니다.따라서 Burp의 인증서를 시스템 인증서 위치 (/system/etc/security/cacerts) 로 옮겨야 합니다.더보기mount -o rw,remount /system# mount -o rw,remount /system_root# mount: '/system' not in /proc/mountsmount -o rw,remount /# '/dev/root' is read-only위와 같이 권한을 수정하는 과정에서 문제가 해결이 안 됨 adb reboot recoveryTWRP 리커버리 모드 진입 -> mount - system 체크 - mount usb storager# system 디렉터리의 수..
[Android] 디버그 로그 내 중요정보 노출 ※ 준비물1. adb2. jdk (환경 변수 설정)3. logfilter (adb 폴더에 넣어서 사용 or adb를 환경 변수로 지정해서 사용)4. diva application.apk (진단 대상)1. 패키지명 확인adb shell # adb 쉘 진입pm list packages | grep [앱 이름]# pm list packages | grep diva# jakhar.aseem.diva 1.1. 프로세스 확인adb shell # adb 쉘 진입pidof [패키지명]# pidof jakhar.aseem.diva# 21306 1.2. 디버그 로그 확인adb shell # adb 쉘 진입logcat --pid [프로세스 ID]# logcat --pid 21306# 아래와 같이 하는 경우 다른 로그도 ..