정보보안(모바일 해킹)

모바일 해킹 - 1

끊임없는정진 2023. 3. 6. 22:34

▶ 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?

>코드 흐름제어

>솔루션 우회

>메모리 덤프