모바일 해킹 - 1
▶ Mobile App Hacking
웹 - 모바일 앱
웹 사이트 : web view- 모바일 브라우저에서 모바일 접속가능 -> 요새 페이지 만드는 추세!
▶ 진단 환경
Android 기준 : NOX(Android 에뮬레이터)를 공기계에 설치하자!
▶ Burp, NOX 연결
Burp Suite : Burp Setting -> Bind to Port: 포트번호 , bind to address: All Interfaces
NOX 설정 : 와이파이 설정 -> 프록시 -> 호스트 이름에 IP주소, 포트번호 입력
▶NOX
단말기 조건 : rooting / jailbreak (루팅 or 탈옥하는 법 검색!)
=> adb connect로 연결..
NOX 에서 루팅 : 설정 -> 일반 -> ROOT 켜기
만약 모바일 앱 솔루션이 있다면? 루팅/탈옥 폰 접속시 꺼짐. -> 우회 필요!
▶ jadx-gui로 분석(※jeb=유료툴) 예시
apk 파일을 끌어다 놓으면 자동으로 분석해준다.
첫번째로 해야할 건, "Start Point 찾기!" (= 앱을 켰을 때, 어디가 제일 먼저 실행되나?)
Tip. Resources 폴더 -> Android Manifest.xml (앱의 상세스펙 파일) 보기
주의해서 볼 것:
<manifest>의 package=~~ ,
<activity> : 하나의 화면, 즉 앱에서 사용하는 모든 화면들을 알 수 있음,
<activity android:name="~~~~MAIN" : MAIN이라는 속성이 들어간 ACTIVITY가 가장 먼저 실행됨.
해당 ACTIVITY를 왼쪽 탐색창에서 찾은 뒤, "OnCreate" 찾기! => 가장 먼저 실행되는 것.
▶ 단말기 내에 사용자의 중요정보(비밀번호 평문)
=> SharedPreference
=> DBSQLite
=> 메모리(메모리 덤프): 로그인 후 떴을 때, 평문으로 뜨면 취약
=> 소스코드 내에 중요정보(관리서버 주소, 아이디/비밀번호)
=> 단말기에 접근 제한 우회 (ex. 로그인 검증 함수를 후킹해서 무조건 True/False로 설정)
▶ Frida?
>코드 흐름제어
>솔루션 우회
>메모리 덤프