본문 바로가기
Web hacking/Nomaltic) 웹 해킹 수업 노트 👩‍💻

[20주차] 모바일 앱 해킹 공부 가이드

by m_.9m 2022. 3. 3.

1. 면접
웹 해킹 5가지 공격들
원리, 왜 일어나는지, 위험, 대응방안

2. 취업모의해킹 컨설팅 업체 vs 기업 모의해킹 팀

*모의 해킹 프로그래밍 언어
= 주 언어는 있으면 좋다 : Python Or javascript

3. Mobile App Hacking 공부 할 것. (프리 기본)
- 이유) 프리랜서가 거의 다 먹음.
- 구조 Native App , Hybrid App, Web App

 Web App(60): Wep view
웹 사이트 개발 할 때 반응형으로 개발하고
[개발자 도구]에서 좌측 왼쪽 토글 디바이스 툴 바 누르면 웹을 앱처럼 볼 수 있음

 Hybrid App(20-30): 앱 통신 HTTP Web API

Native App: TCP
데이터 변조 불가, 함수후킹으로만 가능

*단말기 취약점 
-- 단말기 안에 개인정보, 인증 정보, 중요 정보가 저장되는 것

*단말기 최고 관리자 권한이 필요함
Android: 루팅   --Nox 앱 사용(데이터를 덮어씌는 방식)
ios: 탈옥 --Exploit / 버전이 중요

> App 루팅/ 탈옥 탐지 Bypass
모바일 앱 해킹의 시작, 끝
(1) 루팅/ 탈옥 탐지 로직 삽입
if(종료되는 함수 꺼뜨림)
(2) 난독화
fxshield(끈기) - 리버싱 공부

**준비물
: 루팅, 탈옥된 기기
: Android 
(1) DIVA
깃에 apk 다운받아 설치하기
android diva tutorial 이슈들의 메뉴가 뜰 것이다. 
하나씩 따라서 실습해본다. 
(2) crackme 시리즈 
1부터 10까지 버전이 있다. 
-> 루팅 우회
-> 일단 따라하기
-> frida : 동적 분석 툴
특정 함수 후킹을 편하게 해줌
원리) Server - Client(agent)
프리다 에이전트가 로깅돼 타겟 프로세스에 들어감. 그럼 Server와 소통해 에이전트가 타겟 프로세스 안에서 함수를 후킹할 수 있음. 프리다 서버는 노트북안에 설치되는 것. 
서버와 통신하려면 포트를 사용하는데 이때 주로 사용되는 포트를 검증해 루팅 우회를 막음.
탐지 함수도 후킹해서 검증 체크 우회

** 
- Mobile App Solution은 우회가 가능할까?
- 우회가 불가능 한 솔루션이 있으까?

=>>>> NO
[*] 모두 다 우회가 가능하다.
ex) 기간 : 5일 
-> App 솔루션 벗겨진거랑 입혀진거 2가지 버전으로 앱을 주세요
=> 입혀진거만 준다고했을 때 솔루션 우회 못하면 진단 못한다. 시간 관계 상 안될 수 있다(시간 늘리거나 벗겨진것을 받아냄)

:ios
(1) DIVA 
버전 두가지 
Swift가 최신이라 이것 사용
Objective C 도 알고있으면 좋은게 구버전이기 때문에 문법 모양이 다르지만 앱을 까보면 기반이 같음. (먼저하는 것을 추천)
ios Diva 셔새갸미 

: 앱 개발 이 상태에서 공부하는 걸 추천 
로그인, 자동 로그인, 메모장(앱에 저장, 서버 저장), --> 커뮤니티 게시판
:해결 방안 구글링을 통해 학습