[목차]

 

2. 실습

- Check For Jailbreak

- Show Alert

- Kill Application

3. 대응 방안

 

 

 

 

 

2. 실습

 

2-2) Check For Jailbreak

 

목표: 디바이스가 Jailbreak 되지 않았음을 항상 반환하도록

Jailbreak 된 디바이스 검사 로직 패치

 

 

 

ㄱ. 힌트 확인

Check For jailbreak를 누르면

 

탈옥 탐지가 되는데

해당 문구를 힌트 삼아 해결책을 찾아본다.

 

 

 

ㄴ. 분석

키워드로 분기점 확인

 

w0 레지스터 값이 0x0인 경우

1001cc17c로 분기를 하는데

현재 값이 0이 아니기 때문에

우측, 탈옥 탐지됨! 블럭으로

넘어가고 있다.

 

프리다로 w0 값을 확인해 본다.

 

 

 

 

ㄷ. 레지스터 값 확인

먼저 분기점 주소 확인 후

 

코드 작성

var realBase = Module.findBaseAddress('DVIA-v2')
console.log("[+] 실제 앱 주소 : " + realBase)

var Patching_point = realBase.add('0x1cbdd0')
console.log("[+] 분기점 주소 : " + Patching_point)

Interceptor.attach(Patching_point,{
onEnter:function(args){
	console.log("[+] w0 레지스터 값 확인 : ")
	console.log(JSON.stringify(this.context))
	}
})
 

 

돌려보면

w0 값이 1이다.

 

w0 값이 0인 경우

탈옥 아님!으로 빠지게 되는데

해당 값이 1이니

w0을 1로 바꾼다.

 

 

 

 

ㄹ. w0 레지스터 값 패칭

변조 전

 

변조 후

 

 

 

 

ㅁ. 패칭 여부 확인

패칭된 바이너리 추출 후 replace,

앱을 실행하면

 

패치가 정상적으로 이루어져

Device is Not Jailbroken이 뜬다!

 

탈옥 탐지 우회

바이너리 패치 성공!

 

 

 


 

 

 

2-3) Show Alert

 

목표 : I love Google 대신

I Love Apple 메시지가 항상 표시되도록

메소드 패치

 

실습 툴 : Hxd Editor

https://mh-nexus.de/en/downloads.php?product=HxD20

 

바이너리 Import 후

I love Google 검색,

해당 부분을 Apple로 변조,

 

글자가 하나 남는데

남는 e 글자 바이너리 값인 65를

00으로 바꿔주고

 

패칭된 바이너리를 export,

replace 후 돌려보면

 

바이너리 패칭 성공!

 

 

 

2-4) Kill Application

 

목표: DVIA-v2 앱의

Application Patching > Kill Application 항목을 누르면

앱이 강제 종료되는데 종료되지 않도록 메소드 패치

 

 

ㄱ. 힌트 찾기

기드라에서 키워드 검색 (Kill, exit 등)

 

 

_exit 부분이 의심스럽고

더블클릭 후 들어가 보면

 

 

앱 종료 코드 및

참조하고 있는 곳 확인이 가능하고

패칭이 필요한 곳은 마지막의

ApplicationPatching 부분일 것이다.

 

 

더블클릭 후 들어가면

 

bl이라는 어셈블리 코드 확인이 가능한데

(bl : 지정된 곳으로 분기시키는 명령어)

 

해당 어셈블리 및 관련 기능을 사용하는

부분들을 모두 NOP으로 변조해 주면

아무런 동작을 하지 않게 될 것이다.

 

 

마지막 ret는 남겨두고

모두 nop 처리 후

 

해당 바이너리로 replace 후

실행해 보면

 

 

kill을 마구 눌러도 종료되지 않는다!

 

 

바이너리 패칭 성공!

 

 

 

 

3. 대응 방안

 

위변조 탐지 : 애플리케이션 바이너리 해시 값 검증 (코드 무결성 검증)

• 악성코드 삽입 및 실행, 보안 솔루션 우회, 인증 절차 우회 등

 

모바일 전자정부서비스 앱 소스코드 검증 가이드라인

 

 

 

 


 

[도움 출처]

: 보안프로젝트 김태영 팀장 iOS 모바일 앱 모의해킹(기초) 강의

 

728x90

'APP 진단 > iOS' 카테고리의 다른 글

[+] 프로젝트 - 프리다 탈옥 탐지 우회 PoC  (0) 2023.03.21
23. Touch/Face ID Bypass  (0) 2022.11.27
21. Application Patching 1  (0) 2022.11.26
20. Network Layer Security (feat. 버프 프록시 설정)  (1) 2022.11.25
19. WebView Issues  (0) 2022.11.24

+ Recent posts