효투의 세상 로딩중...
효투의 세상 로딩중...
반응형

앱 진단할 때에 가장 먼저 기본적으로 해야할 것이 탈옥 탐지 우회이다.

우회하지 않으면 아예 앱에 접근할 수가 없기 때문이다 

 

앱을 복호화해서 추출했다면 이제 분석을 해서 우회를 해야한다.

2022.04.21 - [모바일/Ios] - [ios] Frida를 통한 앱 복호화 및 추출

 

[ios] Frida를 통한 앱 복호화 및 추출

ios의 앱은 안드로이드와 다르게 그냥 추출해서 디컴파일 하는게 아니라 암호화가 되어있어서 복호화 작업을 해줘야한다. Frida를 이용한 복호화 CrackerXI를 이용한 복호화 bfdecrypt를 이용한 복호화

hyotwo.tistory.com

 

추출된 ipa 파일의 압축을 풀어준다

 

폴더 안으로 들어가게되면 앱이름과 똑같은 이름으로 확장자가 없는 바이너리 파일이 존재한다.

 

리버싱 도구인 IDA로 열어준다

위에 노란 버튼이 그림처럼 초록 버튼으로 바뀌었다면 바이너리 파일이 모두 읽어와졌다는 뜻이고

그 때부터 분석을 시작하면 된다.

탈옥 탐지하는 부분을 찾았다면 해당 분기문들이 어디방향으로 가서 어떤 코드가 실행되는지 파악하면된다

아이폰 탈옥 탐지 로직은  

아이폰 탈옥 시 생기는 파일들이 존재하는지 체크하는 로직 (FileExist)

원래라면 접근 불가한 경로인데 접근이 가능한지 여부 등을 체크해서 탐지하는게 일반적이다. (can Open)

 

이 앱을 예시로 간단하게 적자면 먼저 파일이 존재하는지 체크하는 분기문이 시작된다.

 

대표적으로 Cydia 앱 , bash, ssh 등을 확인하는 것을 볼 수 있다.

반응형

 

파일들 중 하나라도 발견이 된다면 그 다음 실행되는 로직이 한 곳으로 향하며 그 로직을 따라 앱이 종료되게 된다.

검증을하는 파일들의 이름을 바꿔볼 수도 있고 리턴값을 변조해서 우회하는 방법도 있고

다양한 방법들이 있지만 분기문의 바이너리 변조를 통한 우회방법이 기초적이다.

위 그림들의 검증 로직을 다 건너뛴다는 개념으로 첫 시작 분기문을 변조하는 것이다.

이 분기문을 이해하고 변조하기 위해서는 어셈블리어를 아주 조금 알면 편하다.

변조하고싶은 부분에 마우스를 포커싱한 후 Hex View에서 확인해서 Hex값을 Armconverter를 이용하여 어셈블리 변조를 수월하게 할 수 있다.

https://armconverter.com/

 

armconverter

 

armconverter.com

 

Hex값을 넣어주면 어셈블리어로 변환하여 주는데 

CBZ와 리턴이 상반되는 값인 CBNZ로 바꿔준다면 리턴값이 기존과 반대로 나오게 되어

분기문 변조가 이루어진다.

이제 변조할 값도 찾았으니 변조를 해야하는데

IDA 자체에서도 변조를 할 수도 있지만 다른 도구를 사용해서 변조하는 습관을 들이면 여러모로 편하다.

https://mh-nexus.de/en/hxd/

 

HxD - Freeware Hex Editor and Disk Editor | mh-nexus

HxD - Freeware Hex Editor and Disk Editor HxD is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size. The easy to use interface offers features such as searching and

mh-nexus.de

HxD를 통해서 해당 부분을 찾아 CBNZ의 값인 B5로 변조 후 저장한다.

바이너리 파일을 단말기 안 앱 경로에 덮어쓰기를 한다.

 

그 후 앱을 실행하면 탈옥탐지가 우회된다.

반응형
  • hyotwo7658@gmail.com

복사 완료 👍